B97: Real-time voxel rendering algorithm based on Screen Space Billboard Voxel Buffer with Sparse Lookup Textures

Jablonski,Sz., Martyn,T.

Abstract:
In this paper, we present a novel approach to efficient real-time rendering of numerous high-resolution
voxelized objects. We present a voxel rendering algorithm based on triangle
rasterization pipeline with screen space rendering computational complexity.
In order to limit the number of vertex shader invocations, voxel filtering
algorithm with fixed size voxel data buffer was developed. Voxelized objects are
represented by sparse voxel octree (SVO) structure. Using sparse texture
available in modern graphics APIs, we create a 3D lookup table for voxel ids. Voxel filtering algorithm is based on 3D sparse texture ray marching approach. Screen Space
Billboard Voxel Buffer is filled by voxels from visible voxels point cloud.
Thanks to using 3D sparse textures, we are able to store high-resolution objects in VRAM memory. Moreover, sparse texture mipmaps can be used to control object
level of detail (LOD). The geometry of a voxelized object is represented by a
collection of points extracted from object SVO. Each point is defined by
position, normal vector and texture coordinates. We also show how to take advantage of
programmable geometry shaders in order to store voxel objects with extremely low memory requirements and to perform real-time visualization. Moreover,
geometry shaders are used to generate billboard quads from the point cloud and to
perform fast face culling. As a result, we obtained comparable or even better
performance results in comparison to SVO ray tracing approach. The number of
rendered voxels is limited to defined Screen Space Billboard Voxel Buffer resolution.
Last but not least, thanks to graphics card adapter support, developed algorithm can be easily
integrated with any graphics engine using triangle rasterization pipeline.