Rendering bigger voxel sets

Just a quick piccie: thanks to optimizations in my out-of-core octree building algorithm, I can now render  even bigger voxel fields (1024^3), which is about 107 million voxels. Reading in the data is the slowest part, the actual building of the octree is blazingly fast (< 500 ms), since the data is already sorted in morton order. The render shows the normal map render mode I implemented today.

For those only catching up with the blogposts now, a quick technical recap: this is a voxel raycaster running on the cpu, written in C++. It does diffuse and phong lighting, and runs at interactive-ish speeds (5-15 fps). If you’re interested, check the previous posts in the PhD category.

Limiting factor now is my own voxelizer, which is not out-of-core yet. I could hackishly solve this by cutting the input model into chunks and voxelizing each chunk seperately, but it’s no priority right now.

This is a render of a voxel cloud I built of the David model, at 1024^3. You can see how the intrinsic detail is captured pretty good already at this grid resolution.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>