Skip to content

A terrible voxel cone tracing implementation with hybrid voxelization

Notifications You must be signed in to change notification settings

khskarl/vct-hybrid-voxelization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Voxel Cone Tracing with Hybrid Voxelization

This is an overly bootstrapped PBR renderer with a Voxel Cone Tracing implementation stuck inside of it due tight deadlines.

That's also the implementation of my bachelor thesis, it is the comparison of two voxelization algorithms for Voxel Cone Tracing with and without native conservative rasterization. Those algorithms are the Per-Fragment Voxelization by Crassin & Green and Hybrid Voxelization by Rauwendaal

This project was messily rewritten in a monstrous combination of raw OpenGL and a random helper crate which lacks necessary features. Intuitively the code is a mess, but this still works as an example implementation for Hybrid Voxelization, which relies heavily on OpenGL 4+ features, such as image load/store API, indirect rendering, atomic counters, atomic read/write to image buffers and on.

Regarding results, it was concluded that the Hybrid Voxelization is faster than the Per-Fragment Voxelization, but the Per-Fragment algorithm becomes the fastest combination when combined with hardware support for conservative rasterization using the GL_NV_conservative_raster extension. That's probably due the two-call overhead present in the Hybrid approach in contrast to the Per-Fragment approach decreased overhead by not having to dilate triangles in the geometry shader.

About

A terrible voxel cone tracing implementation with hybrid voxelization

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published