OpenGL engine for rendering scenes with global illumination in real-time using a voxel cone tracer.
- Refactor voxelization procedure into a separate class
- Shadow map tight bound using AABB
- Additional Textures
- Specular Cones
- Interactive imgui interface to edit light, material and models
- Conservative Rasterization
- Emissive materials
- Dynamic mesh voxelization
- Take atomic max of a colour for each voxel ??
- Compute two light bounces ??
- Possibly use assimp for a PBR based pipeline ??
- Sparse voxel octree ??
- Move point light source around and change its color
- Toggle between viewing modes:
- Visualization
- Shadows
- GI
- Indirect Diffuse
- Indirect Specular
- Visualization
- Change material properties
- Move objects around
- Change voxel map resolution
The following benchmark is obtained on a single NVIDIA RTX 4090 GPU.
VOXEL_DIM | 1280x720 | 1920x1080 |
---|---|---|
512 | 54 FPS | 54 FPS |
256 | 55 FPS | 55 FPS |
128 | 56 FPS | 56 FPS |
64 | 56 FPS | 57 FPS |