Doom Codexery

Id Tech 4

OpenGL engine with dynamic per-pixel lighting and shadow volumes.

id Tech 4, originally known as the Doom 3 engine, is a game engine developed by id Software and first used in the video game Doom 3. Designed by John Carmack, it is an OpenGL-based engine that introduced fully dynamic per-pixel lighting and shadow volumes, marking a significant advance over previous id Tech engines. It has been used in games such as Quake 4, Prey, Enemy Territory: Quake Wars, Wolfenstein, and Brink, and was released under the GNU General Public License v3.0 or later, making it the last id Tech engine to be open-sourced.

Developer
id Software
Lead designer
John Carmack
First used in
Doom 3
License
GNU General Public License v3.0 or later
Programming language
C++
Graphics api
OpenGL
Notable games
Doom 3, Quake 4, Prey, Enemy Territory: Quake Wars, Wolfenstein, Brink

Lore & Background

id Tech 4 began as an enhancement to id Tech 3, initially focusing on a complete rewrite of the renderer while retaining other subsystems. The switch from C to C++ necessitated a broader restructuring and rewrite, though some code from id Tech 3 remains. At QuakeCon 2007, John Carmack indicated the engine would be open-sourced, and at QuakeCon 2009 he planned to petition ZeniMax Media for release after Rage. On November 22, 2011, Carmack released the Doom 3 source code under GNU GPL-3.0-or-later on GitHub, after rewriting code to avoid patent issues related to 'Carmack's Reverse' shadow volume implementation.

Reader's Guide

id Tech 4's primary innovation was its use of entirely dynamic per-pixel lighting and shadow volumes, replacing the pre-calculated per-vertex lighting and lightmaps of earlier engines. This unified lighting and shadows, though it required high-end GPUs with programmable shaders, such as the Nvidia GeForce 3 or ATI Radeon 8500, and later DirectX 9.0b compatible cards. The engine also introduced normal mapping, specular highlighting, skeletal animation with SSE optimization, and a comprehensive scripting language similar to C++. The MegaTexture technology, a form of clipmapping, was added for large outdoor areas, first used in Enemy Territory: Quake Wars. Despite its technical advances, id Tech 4 had less licensing success than its predecessors or contemporary Unreal Engine versions, partly due to id Software's policy of not licensing before Doom 3's completion. The engine's open-source release spawned projects like dhewm3, Dante, and RBDOOM-3-BFG, and in 2021 Quake 4 game DLLs were adapted for use with dhewm3, enabling ports to AmigaOS 4.

Did You Know?

More in Characters & Enemies

Elsewhere in Doom

Spotted an error? Know more?

Reader corrections go straight into our review queue. Suggest an edit · How this site is sourced

Comments

Loading…
Open in the interactive codex →