
Source’s surface definition is fairly binary: surfaces are either shiny or not, and conveying differences in material types like cloth, metal and plastic was challenging.This often produces poorer, less consistent results, especially when placing world geometry next to models. Source handles lighting for world geometry and models differently, using lightmaps for the former and per-vertex lighting for the latter.The static nature of lightmaps also makes it impossible for lights to move and change with their environment.

This made iteration very time-consuming, and was inconvenient for our art team all around. While the results of this were generally accurate in-game, it was normal for this process to take hours of time.

Using this method, we faced three major problems: With the traditional Source rendering pipeline, lighting is pre-computed and baked into maps via lightmaps during a lengthy compilation process using Valve’s radiosity simulator (VRAD).
