Sunday, July 16, 2006

Sub-Mesh Voxel Traversal working... boooyah!!

This is tottttttalllllllllly sweet!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
The super hard work I was doing Friday night that took soooooooo long and I had to change about 8 files in my Raytracer, and it was a good 600 lines of code added at least... it's ALL WORKING now!!!!! Yeeeeeeah!!

So this is an extension to my Voxel Traversal where I now subdivide the meshes into it's sub-pieces (triangles, polygons, etc) and treat those pieces as Primitives instead of treating the Mesh as a Primitive. This implies a monstrous increase in performance because now the Voxels can contain just a subset of the mesh instead of the *entire* mesh. This is totally sweet and I am super psyched that it's finally working.

The results.... the Venus De Milo mesh is rendering in 141 seconds (~2 minutes) as compared with 2752 seconds (~46 minutes) with the other version of the Voxel Traversal where the mesh is considered to be a Primitive. Awesome.

Here are some pretty pictures.


Cows scene now rendering correctly with my Voxel-Polygon optimization


Non-hierarchical scene now rendering correctly with my Voxel-Polygon optimization


Simple cows hierarchical scene now rendering correctly with my Voxel-Polygon optimization


Venus De Milo model with Voxel Traversal, before optimization


Venus De Milo render time, before optimization (~46 minutes)


Venus De Milo model with Voxel Traversal, after optimization (note image is now the same as above)


Venus De Milo render time, before optimization (~2 minutes)

No comments: