Friday, July 14, 2006

Started sub-mesh Voxel traversal code

Hehe yes it's 3:45am and I am up again, this is an "early" night again cause I've been rockin' some 6:00am's for a few nights in a row. Hehe as you can see from the last 20 posts or so, pretty much all I think about now is my Raytracer!! :)

So tonight was pretty good, I got UV Mesh Interpolation done and got my Coke can from Maya importing into my Raytracer which rocks. Then I wrote Fresnel refraction and incorporated it into my current setup while still allowing materials which have a coefficient that you specify.

Now I am improving my Voxel traversal code by doing something that Matt suggested, I am now going to associate each Voxel with a set of Primitives instead of with Geometry objects as they are currently associated with. This means that the Voxels will actually contain items that are of sub-mesh level, i.e. I will be associating individual triangles with Voxels rather than full-on Mesh Geometry objects. This will have a fantastic effect on the efficiency of my Raytracer as currently I need to traverse a list of a ridiculous amount of vertices every time I hit the mesh with a ray. I tried rendering a 512x512 image of my beer glass with Fresnel Reflectance and a reflection depth of 10 and a refraction depth of 10. I started it at 12:09 and now it's 3:48am and I think it's still going. It's rendering on a P4 3.0 Ghz with 1GB RAM so that is a decent machine, and it's super slow. This is using my Grid, but it doesn't work all that well for that scene because I need to associate triangles with Voxels instead of Meshes like I am right now.

Anyway this should actually be a pretty decently easy change, I have already done half of it, so once I do this I am going to re-render these to see how much of a speedup I get.

No comments: