Surface caching
Surface caching is a computer graphics technique pioneered by John Carmack, first used in the computer game Quake, to apply lightmaps to level geometry. Carmack's technique was to combine lighting information with surface textures in texture-space when primitives became visible (at the appropriate mipmap level), exploiting temporal coherence for those calculations. As hardware capable of blended multi-texture rendering (and later pixel shaders) became more commonplace, the technique became less common, being replaced with screenspace combination of lightmaps in rendering hardware.
Surface caching contributed greatly to the visual quality of Quake's software rasterized 3D engine on Pentium microprocessors, which lacked dedicated graphics instructions.
Surface caching could be considered a precursor to the more recent MegaTexture technique in which lighting and surface decals and other procedural texture effects are combined for rich visuals devoid of unnatural repeating artifacts.
External links
- Quake's Lighting Model: Surface Caching - an in-depth explanation by Michael Abrash