id Tech 3, popularly known as the Quake III Arena engine''', is a game engine developed by id Software for their video game Quake III Arena. It has been adopted by numerous games. During its time, it competed with the Unreal Engine; both engines were widely licensed.
While id Tech 3 is based on id Tech 2 engine, a large amount of the code was rewritten. Successor id Tech 4 was derived from id Tech 3, as was Infinity Ward's IW engine used in Call of Duty 2 onwards.
At QuakeCon 2005, John Carmack announced that the id Tech 3 source code would be released under the GNU General Public License v2.0 or later, and it was released on August 19, 2005. Originally distributed by id via FTP, the code can now be downloaded from id's GitHub account.
Unlike most other game engines released at the time — including its primary competitor, the Unreal Engine, id Tech 3 requires an OpenGL-compliant graphics accelerator to run. The engine does not include a software renderer.
id Tech 3 introduced spline-based curved surfaces in addition to planar volumes, which are responsible for many of the surfaces present within the game.
Shaders
The graphical technology of the game is based tightly around a "shader" system where the appearance of many surfaces can be defined in text files referred to as "shader scripts." Shaders are described and rendered as several layers, each layer contains a texture, a "blend mode" which determines how to superimpose it over the previous layer and texture orientation modes such as environment mapping, scrolling, and rotation. These features can readily be seen within the game with many bright and active surfaces in each map and even on character models. The shader system goes beyond visual appearance, defining the contents of volumes (e.g. a water volume is defined by applying a water shader to its surfaces), light emission and which sound to play when a volume is trodden upon. In order to assist calculation of these shaders, id Tech 3 implements a specific fast inverse square root function, which attracted a significant amount of attention in the game development community for its clever use of integer operations.