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 Arena 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. Although Doom 3's lighting is certainly far 'more unified' than previous games, there is still much more that can be done on recent and future hardware to improve the consistency of lighting in games. 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.
Doom 3 does not appear to use OpenGL's built in lighting algorithms. Instead it uses what appears to be a new system, which arguably offers greater visual quality due to its nature. However, this same system does pose its own issues as well, for example, open areas that should be lit as broad daylight have very deep (volomous) shadows, that will sometimes appear almost as dark as if there was no light at all.
Future versions of the technology seem promising, and could push the level of graphics fidelity we see in games and 3d applications to a whole new level with its development.
[edit] See also
- Shadow mapping - a technique for rendering shadows
- Stencil shadow volumes - an alternative method, used for shadows in Doom 3