Chirpsalot's Obligatory Rendering Thread.

General stuff to do with software/programming/computers

Chirpsalot's Obligatory Rendering Thread.

Postby chirpsalot » Fri Sep 23, 2011 9:32 pm

Yep. This is my thing. Apparently my life is meaningless if I can't intersect lines for giggles.

But seriously, I started making a thing on the last week of summer, or whatever.

Image

Basically I have texture mapped objects imported from blender. Wooooo?

It was going to get more interesting, but time has suddenly become a bit scarce. We will see. However, like everything I start it will probably never get finished and actually get scrapped entirely, only to be reincarnated in a different, yet similar form in the near future.

I actually started doing this just because I wanted to make a geometry library that I could use for various things, and it pretty much worked for that. I was doing this to test it that out, and it served it's purpose pretty well in that respect. The plan was to use this as a base for testing some other things as well, which I did not get around to in time. Hopefully in the future, but whatever.

Basically this was the ultimate result of me just sitting around for a few hours collectively and putting together some of the stuff that I had been meaning to do for a long time, but never bothered to in regards to this rendering business. Yay? Also I didn't implement some things that I did before, but that's not the point!

I do hope to actually turn this (or at least, another incarnation of this) into a full-fledged renderer some time before the universe reaches maximum entropy.

I am now probably going to write a ray-tracer for my arduino. Because I can. Well, there's a little more to it than that... But, mostly because I can.

This post probably would have made more sense if I made it at around the same time as I made the thing, but whatever.

I made a thing, now look at my monkey.
chirpsalot
 
Posts: 61
Joined: Sat Sep 17, 2011 5:05 pm

Re: Chirpsalot's Obligatory Rendering Thread.

Postby Ian » Sun Sep 25, 2011 2:47 pm

Glad to see you're still up to this!

What type of geometry library?
User avatar
Ian
 
Posts: 72
Joined: Sat Sep 03, 2011 12:08 am

Re: Chirpsalot's Obligatory Rendering Thread.

Postby chirpsalot » Mon Sep 26, 2011 8:49 pm

Basically just a collection of functions for handling geometry that can be easily included in any project I do. Stuff like intersection code, object file loading, space partitioning data structures... That kind of thing. So, whether or not I want to write a physics engine, ray-tracer, or something else that deals with any geometry whatsoever I can just use the stuff that I already have done. I can just import the library and have object file loading instantly, for instance. Which I could have done before, but this was made with the main purpose of actually being a fully functional geometry handling thing, so hopefully it sucks less. That was the plan, at least.

Finished writing a ray-tracer for my arduino (it just renders a random assortment of diffuse shaded spheres, nothing fancy). Mostly just wanted to get a measure of how fast the arduino is with floating point math, and how fast the LCD screen can be updated. The good news is... I think I can totally make a functional doom clone with the arduino. But, we will see if that ever ends up happening because I totally have a distinct lack of free-time now (I am at the university for 13 hours straight tomorrow, for instance). Bluh. It's a darn good thing I actually like the university!

Anyways, I am deathly ill (having a fever in a night class which is in a cold room, without having anything to eat for supper... Is pretty much the worst thing ever) and I have some linear algebra homework to do (as well as a chem prelab, but I think I am going to do that tomorrow in an effort to get some sleep tonight so that I am not deathly ill tomorrow). If anything I will hopefully get a decent work ethic out of this, and maybe some time management skills. Probably not, heh. Cheers!
chirpsalot
 
Posts: 61
Joined: Sat Sep 17, 2011 5:05 pm

Re: Chirpsalot's Obligatory Rendering Thread.

Postby chirpsalot » Sat Jun 23, 2012 4:42 am

Image

Got bored tonight. Wrote a renderer... It's a bit grainy for a variety of reasons and I didn't really want to mess around to fix that.

This is my first OpenCL renderer (and in fact the first thing I ever did in OpenCL), so it can run on the GPU's and stuff. It's pretty swell. It's basically just a rough draft because I was messing around with OpenCL and learning the ropes.

Also, what is with imgur and randomly JPEGing my guff! That is so not cool.

Okay, well. Quality of that image isn't the greatest, but in theory it could be better? Yeah. Stuffs.

edit: Fixed image a smidgen (convinced imgur to png me).
chirpsalot
 
Posts: 61
Joined: Sat Sep 17, 2011 5:05 pm

Re: Chirpsalot's Obligatory Rendering Thread.

Postby chirpsalot » Sat Jun 23, 2012 5:57 pm

Image

Fixed the noise problems. Basically OpenCL doesn't guarantee a random function, so instead of rolling my own crappy pseudorandom number generator I just passed in a buffer of random numbers. However, I had problems where some pixels would use the same random numbers for sampling, so then you would get weird splotches of noise. Kind of interesting / funny how that works. Basically this was something that I didn't really want to bother with fixing because I was really tired and I knew what the problem was anyway, so there wasn't any mystery to it. The results previously were "good enough" at the time, the image just appeared to be smeared a little oddly.

Anyway, this image is slightly better. There is probably a better way to solve this problem, but I am not entirely certain of what it is yet. Kind of interesting how OpenCL is really good for Monte-Carlo simulations... Except you can't have randoms or recursion... This is a bit of an issue, but you can get around it well enough, I think.
chirpsalot
 
Posts: 61
Joined: Sat Sep 17, 2011 5:05 pm


Return to Programming

Who is online

Users browsing this forum: No registered users and 2 guests

cron