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.