OpenGL Voxel Ray-Marcher Test
Simple voxel ray marcher written in OpenGL and OpenTK (C#). Currently supports map sizes up to 512*512*512 voxels. Uses mip-chain as an acceleration structure (treats it basically like an octree) to hop over large chunks of empty space.
Then fallbacks to ray vs box ray-casting to get the exact intersection point instead of fixed-step ray-marching (which is super slow). Currently runs at 100+ fps at 1080p on a GTX 1050, but slows down to 50-60fps at 1440p.
Will implement the follow for this simple project:
1. Another acceleration structure to allow for larger map sizes and to reduce max iteration counts
2. Shadows (tried implementing them but they were horrendously slow)
3. Bindless OpenGL texture to allow for any arbitrary map size (currently being limited by GL_MAX_IMAGE_UNITS)
4. 64 bit atomic operations to allow for bitwise ray-marching in a 4x4x4 voxel.
5. Texture streaming maybe?
Science & Technology