Lightmap

From DoomWiki.org

Under construction icon-yellow.svgThis article or section is a stub. Please help the Doom Wiki by adding to it.
Doom level format
Strife: Veteran Edition's MAP03, containing both GL-format nodes and DLight lightmaps.

Lightmaps are structures that contain information about world lighting, relative to existing level geometry. Lightmaps require a dedicated compilation tool, the process of compiling such data is often referred to as "baking". The Quake renderer was the earliest instance of a video game using baked-in lightmaps. Some advanced, hardware-accelerated Doom engine ports have added support for bespoke lightmap formats.

Formats[edit]

Two notable lightmap formats exist for Doom engine ports.

DLight[edit]

Main article: DLight

Created by Kaiser for Doom64 EX and also used for Strife: Veteran Edition, the DLight format offers an additional set of "LM_"-prefixed lumps, similar to the community-made hardware rendering GL nodes format, which will also get appended to the end of the map's lumps. DLight provides a separate config configuration file, in order to correctly set up lighting data for baking. This makes the format suitable for adding to binary-based map formats, which otherwise do not have the structures needed for adding new data about the map.

ZDRay[edit]

Main article: ZDRay

The ZDRay format uses a single LIGHTMAP lump and only works with the zdoom UDMF namespace. It requires the level editor and mapper to define the properties in the map data itself, in contrast to DLight's separate config file approach.

Lightmaps format support across builders
DLight (LM) ZDRay (LIGHTMAP)
DLight Yes No
ZDRay No Yes
Lightmaps format support across ports
DLight (LM) ZDRay (LIGHTMAP) Notes
Strife: Veteran Edition Yes No
GZDoom No Yes Experimental. Requires the -enablelightmaps CLI parameter.
UZDoom No Yes Experimental. Requires the -enablelightmaps CLI parameter.
VKDoom No Yes VKDoom also supports compiling lightmaps internally, if required to do so.