Cone tracing cellular automata GI

April 2024

CTCAGI


Overview

Roles Graphics programmer
Duration~4 week
PlatformWindows
EngineCustom-built during Block C in Year 2 as a team project
Team sizeSolo

Tools & Technologies

Languages & APIsC++, OpenGL, GLSL
ToolsRenderDoc, Nsight Graphics
WorkflowGit/GitHub
LibrariesImGUI, MagicaVoxel loader

Project Overview

During Block C in year 2 at Breda University of Applied Sciences I had the chance to work in a team on a voxel project. Since we were working with voxels it was a great opportunity for me to dive into global illumination research and prototypes and decided on trying cone tracing guided by the famous nvidia paper from 2011.


Goals and motivations

  • Getting a better understanding of global illumination principles
  • First time trying the interesting idea of cellular automata for light propagation
  • Extra: I love the slow propagation of light volumes

Biggest obstacles

  • Overcoming workflow of cone tracing for the first time
  • Hiding light leaking problems, especially when lights are close to walls
  • Balancing light propagation speed and performance

Highlights

  • Cellular automata is used for direct light propagation
  • Cone tracing for indirect calculation and direct sampling for volumetric effects as well as for specular

CTCAGI


Presented at GPC 2024