
Until the advent of id Tech 4, a powerful CPU was able to somewhat compensate for an older video card. Id Tech 4 resulted in the obsolescence of DirectX 7 graphics chips such as the widespread GeForce 2 and Radeon 7200, as well as older chipsets such as RIVA TNT2 and Rage 128, and software rendering (with an integrated Intel GMA). The "Ultra" graphics mode included in Doom 3 would not even run on the current popular graphics cards available in 2004, requiring at least 512 MB of video memory to display properly and at playable speeds, meaning that it was basically unusable at the time of release. While the Radeon 9700's DirectX 9.0 features are not necessary to render the game, its advanced architecture, 256-bit memory bus, and efficiency were needed to run Doom 3 at high detail and playable speed. By E3 2002, the recommended GPU was "100% DirectX 9.0b compatible", such as the Radeon 9700 with 128 MB of VRAM. The original requirement of id Tech 4 was that it needed a high-end graphics processing unit (GPU) with fully programmable vertex and pixel shaders, such as the Nvidia GeForce 3 or ATI Radeon 8500, with at least 64 MB of VRAM. According to Carmack, minor tweaks were made to the code to avoid any infringement. The source does not include any of the 'Carmack's Reverse' code. On November 22, 2011, Carmack released the Doom 3 source code under GNU GPL-3.0-or-later on GitHub. This refers to an implementation of stencil buffered shadow volume algorithms. On November 16, 2011, Carmack announced on Twitter that he's writing new code for Doom 3's open source release, because "lawyers are still skittish about the patent issue around 'Carmack's reverse'". As part of his keynote for QuakeCon 2011 he confirmed that the source code to Doom 3 will be out by the end of the year, after the release of Rage. Īt the QuakeCon 2009, Carmack said that he planned to petition ZeniMax Media to release the id Tech 4 source upon the release of Rage. And like its predecessors, John Carmack has said that id Tech 4 will be released as open-source. "I mean, I won't commit to a date, but the Doom 3 stuff will be open source". Īt the QuakeCon 2007, John Carmack, the lead graphics engine developer at id, said to LinuxGames:

The decision to switch from C to the C++ programming language necessitated a restructuring and rewrite of the rest of the engine today, while id Tech 4 contains code from id Tech 3, much of it has been rewritten. During development, it was initially just a complete rewrite of the engine's renderer, while still retaining other subsystems, such as file access, and memory management. Id Tech 4 began as an enhancement to id Tech 3. 2.3 Rendering techniques used in id Tech 4.
