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?
- The engine's shadow volume method was subject to a patent by Creative, which granted id permission in exchange for supporting Creative's EAX sound technologies.
- The 'Ultra' graphics mode in Doom 3 required at least 512 MB of video memory and would not run on high-end graphics cards in 2004.
- The open-source release of Doom 3 source code on November 22, 2011, omitted 'Carmack's Reverse' code due to patent concerns.
- The engine's scripting language is powerful enough to run another game, such as the original Doom, within the game-world.
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
