Skip to content
Implementation of "Fast Global Illumination Approximations on Deep G-Buffers" (Mara et. al, 2016) using C++, OpenGL, and GLSL
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Implementation of Mara et al: Fast Global Illumination Approximations on Deep G-Buffers

See report.pdf for more information. This project was built using the Glitter template, as a final project for CMPSC 280 (Advanced Computer Graphics, UCSB, Professor Pradeep Sen).


Above: Single-scatter radiosity using multiple layers.

Below: Benefit of using multiple layers on McGuire et. al.’s Scalable Ambient Obscurance (2012). Ambient Occlusion from both layers (top), only the first layer (middle) and only the second layer (bottom). The red box highlights an area where the second layer provided a very noticeable correction to an error in a single layer only approach.



# UNIX Makefile
cd Glitter
cmake ..

# Mac OSX
cmake -G "Xcode" ..

# Microsoft Windows
cmake -G "Visual Studio 14" ..
cmake -G "Visual Studio 14 Win64" ..



  • WASD to move
  • Left-click + move mouse to look around

Display Modes

  • Press 7 to view scene
  • Press 8 to view SSAO buffer
  • Press R to toggle single-scatter radiosity on/off (default: off)


  • Press 1 to select the first light
  • Press 2 to select the second light
  • Press 3 to select the third light
  • Press J and L to move the selected light source along X axis
  • Press I and K to move the selected light source along Z axis
  • Press U and O to move the selected light source along Y axis
You can’t perform that action at this time.