- Lightmap
A lightmap is a
3D engine lightdata structure which contains the brightness of surfaces in avideo game . Lightmaps are precomputed and used for static objects.Quake was the first computer game to use lightmaps to speedrender ing while preventing floors from looking distorted. Before lightmaps were invented, 3D engines usedGouraud shading for the floors and walls which caused shimmering. The most common methods of lightmapping are to either precompute vertex lighting by using distance from each vertex to a light, or by using multitexturing to apply a second texture which contains the lumel data.Limitations
Lightmaps are scaled using
lumel s (lumination elements). The smaller the lumels, the higher the resolution (and visual quality), at the price of performance. For example, a lightmap scale of 4 lumels per world unit would give a lower quality than a scale of 16 lumels per world unit. It's important forlevel design ers to make a compromise between performance and quality. If a high lumel per world unit scale is set too frequently then the game may use up too much system resources and affect the performance negatively. Lumel size can also be limited by the amount of disk storage space or download time (for the map) or texture memory (for the 3D engine itself) available, although some games attempt to pack multiple lightmaps together to help circumvent these limitations.Creation of lightmaps
When creating lightmaps, any lighting model may be used, since the lighting is entirely precomputed and real-time performance is not always a necessity. Traditionally,
radiosity is used, but on occasion games have been known to use a more direct lighting model. In all cases,soft shadows for static geometry are possible if simple occlusion tests (such as basicray-tracing ) are used to determine which lumels are visible to the light. However, the actual softness of the shadows is determined by how the engine interpolates the lumel data across a surface, and can result in apixelated look if the lumels are too large. Seetexture filtering .Lightmaps can also be calculated in real-time [ [http://www.3ddrome.com/articles/dynamiclightmaps.php Dynamic Lightmaps in OpenGL] . Retrieved Dec. 09, 2006.] for good quality colored lighting effects that are not prone to the defects of Gouraud shading, although shadow creation must still be done using another method such as
stencil shadow volumes orshadow mapping , as real-time ray-tracing is still too slow to perform on modern hardware in most 3D engines.ee also
*
Shader References
Wikimedia Foundation. 2010.