Graphics Id Tech 4 added several new graphical features absent in its predecessor,
id Tech 3. These included
normal mapping and
specular highlighting. More features were added in the development of successive games. The models used in id Tech 4 games are animated using
skeletal animation. The engine can blend multiple animations together to produce a skin that moves correctly for those animations. Because this is CPU intensive, id did some work optimizing this by using
Intel's
Streaming SIMD Extensions (SSE).
Dynamic lighting . The dynamic lighting system in
Doom 3 does not simulate radiosity, in contrast with the baked lightmaps of prior id Tech engines. The primary innovation of id Tech 4 was its use of entirely dynamic
per-pixel lighting and
shadow volumes, whereas previously, 3D engines had relied primarily on pre-calculated per-vertex lighting or
lightmaps and
Gouraud shading, and shadows were either faked (such as the traveling dark spot beneath characters in id Tech 3 games) or non-existent. id Tech 4 unified lighting and shadows, something absent in prior id Tech engines. All light sources in
Doom 3 are dynamic, something the companion book
The Making of Doom 3 describes as "The biggest headache for the level designers". While dynamic effects had been available before (such as dynamic moving lights), this effect merely changed the brightness of the vertices of the polygon, with the pixel's colors simply being interpolated between the three vertex colors of its polygon. This fully realtime approach used in
Doom 3, combined with the use of shadow volumes permitted more realistic lighting and shadows than in the previous generation of id's engines. The method used to create the shadow volumes is the subject of a patent by
Creative, which Creative granted id permission to use in the
Doom 3 engine, in exchange for supporting Creative's
EAX advanced sound technologies.
MegaTexture rendering technology The original version of the id Tech 4 engine was designed for somewhat dark environments and was criticized for its perceived inability to handle extremely large daytime outdoor areas. The MegaTexture technology (a form of
clipmapping) tackled this issue. By painting a single massive texture (initially 32,768×32,768
pixels, later extended to larger dimensions in subsequent versions) covering the entire polygon map and highly detailed terrain, the desired effects can be achieved. The MegaTexture can also store physical information about the terrain such as the amount of traction in certain areas or indicate what sound effect should be played when walking over specific parts of the map. i.e. walking on rock will sound different from walking on grass. The first game utilizing MegaTexture is
Enemy Territory: Quake Wars, based on the Tech 4 engine. All
id Tech 5 and
id Tech 6 games use MegaTexture, with the exception of
The Evil Within, which uses a new renderer.
Brink, which uses a heavily modified version of id Tech 4, also uses virtual texturing. While the implementation is different from MegaTexture, it was inspired by it.
Scripting id Tech 4 has a comprehensive
scripting language that can be used when creating
mods, and is used in
Doom 3 to control monsters, weapons, and map events. This scripting language is similar to C++. In addition to the main scripting language, idTech 4 also has another scripting language that is used for
GUIs—both the menus and
HUD, and also for GUIs embedded into the game world. These in-game GUIs are sufficiently powerful that you can, for example, run another game such as the original
Doom within the game-world. Despite this additional level of scripting, it is also possible to create
mods using C++ to build native code.
Sound As a result of the agreement with Creative regarding the patent on shadow volumes, the id Tech 4 engine supports
OpenAL, including the
Creative Technology specific
EAX extensions. The work to include OpenAL support was done by Creative Technology, not by id themselves.
Networking The engine uses a traditional
client–server model. Initially it was planned to have a
peer-to-peer networking model. This part of the engine works in a fundamentally similar way to the
id Tech 3 equivalent; however, id Tech 4 exposes a lot more of the network protocol to mod developers. Although
Doom 3 only supports 4 players (and 8 in the
Resurrection of Evil expansion pack), the id Tech 4 engine can be used with more players than this, with
Quake 4 and
Enemy Territory: Quake Wars both supporting significantly more players. == Games using id Tech 4 ==