Lightmapping is a simple technique for baking high quality lighting information into textures for static lighting environments. This process gained popularity in the mid 1990s for its visual quality and efficiency, and continues to be used by modern games when performance is the top priority. There are several common
methods of computing lightmaps, but approaches generally fall into one of two categories: direct and indirect (aka global) illumination. For this project I wrote a simple and flexible lightmap generator that computes high quality lightmaps using both direct and indirect illumination.
I originally wrote this for an advanced computer course at the University of California (Irvine) in 2002, and later updated it in 2014 with C++11 style threads and minor style improvements.
Direct and indirect illumination solvers
Linear math and tracing library
Lightmap disk caching
Hardware transformations
Simple map file support
Bitmap file io
Multi-threaded lightmap generation
Hardware multi-texturing
Lecture slides in Adobe Acrobat format
Lightmapping Demo for Windows (19.3 MB)
Lightmapping Demo Source Code (Github)