Unified lighting and shadowing
From Wikipedia, the free encyclopedia
Unified lighting and shadowing is a lighting model used in the Doom 3 game engine developed by Id Software.
Previous 3D games like Quake III used separate lighting models for determining how a light would illuminate a character or a map. Lighting and shadow information for maps would be static, pre-generated and stored, whereas lighting and shadowing information for characters would be determined at run-time.
Doom 3 claims to use a unified model, which renders every triangle using the same lighting mechanism, regardless as to whether it originated from a model, or map geometry. This is not strictly true as some models are marked with a 'don't self shadow' flag, custom material shaders can allow different lighting mechanisms to be employed on different surfaces (most often a reflective cube map effect), and the point sprite effects (such as explosions) are totally unlit. A renderer using a truly unified lighting system would use an identical set of lighting calculations for every pixel on the screen and would not make such distinctions, although Doom 3's lighting is certainly far 'more unified' than previous games, there is still much more which can be done on recent and future hardware to improve the consistency of lighting in games.
Doom 3 does not use OpenGL's built in system, instead, it uses its own system which gives better quality and more accurate illumination than OpenGL's default lighting model. [citation needed]
[edit] See also
- Shadow mapping - a technique for rendering shadows
- Stencil shadow volumes - an alternative method, used for shadows in Doom 3