Skip to content

A D3D11 application for experimenting with Spherical Gaussian lightmaps


Notifications You must be signed in to change notification settings


Folders and files

Last commit message
Last commit date

Latest commit



65 Commits

Repository files navigation

The Baking Lab

This project is a D3D11 demo application that implements various techniques for storing pre-computed lighting in 2D lightmaps, including using a set of Spherical Gaussians to approximate incoming radiance. The demo is a companion to a series of articles on my blog, which you can find here: The SG techniques implemented in the demo were originally presented in our presentation from the Physically Based Shading course at SIGGRAPH 2015.

The demo implements the following techniques for storing pre-computed lightmap data:

  • Scaled Irradiance
  • Half-Life 2 Basis
  • L1 and L2 Spherical Harmonics
  • L1 and L2 H-basis
  • 5, 6, 9, and 12-lobe variants of Spherical Gaussians

All baking modes bake progressively with real-time feedback, using an Embree-backed path tracer to compute radiance samples. The app can also toggle a ground-truth rendering mode that uses the same path tracer to compute per-pixel radiance towards the viewer.

Build Instructions

The repository contains Visual Studio 2015 and 2013 project files that are ready to build on Windows. All external dependencies are included in the repository, so there's no need to download additional libraries. Running the demo requires Windows 7 or higher, as well as a GPU that supports Feature Level 11_0.

Using the Demo App

To move the camera, press the W/S/A/D/Q/E keys. The camera can also be rotated by right-clicking on the window and dragging the mouse. Everything else is controlled through the in-app settings UI. For more information on the features of the demo app, see this blog post.


A D3D11 application for experimenting with Spherical Gaussian lightmaps








Contributors 4