Wednesday, July 4, 2012

Renderer ported to CUDA

Here is the same setup running in CUDA. I am using a recursive traversal algorithm.

1024x768 - 180 fps - SVO Depth (20)
1x GTX 580
A little more interesting this time.

The smallest Subdivision level shown above is only one millionth the size of the whole octree. A 1km x 1km x 1km scene subdivided 20 times would result in voxels of size 1mm x 1mm x 1mm.

Getting the Directx 11 / Cuda interoperability working was fairly straight forward. I also optimized the traversal algorithm so that it would traverse the voxel hierarchy in order from front to back.

My next goal is to write a converter that will take a high polygon count (~5 million) .obj exported from ZBrush with vertex color information, and compile a sparse voxel octree from this data. From there, I will attempt to load this data into my renderer to see how it performs rendering a single ~5 million voxel model.

No comments:

Post a Comment