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.



Features

  • 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

Latest Media


Older Media