idTech3 mods by Berserker

There are 3 mods based on idTech3 engines:

  1. [email protected] – based on Quake3 1.32b,
  2. [email protected]_mme – based on Quake3mme (Movie Maker Edition),
  3. [email protected] – based on RTCW-SP.

Main feature of these mods is Per-Pixel-Lighting (PPL) renderer, which based on Deferred Lighting aka Light Pre-Pass Deferred Rendering.
There are 3 render paths:

  1. Classic renderer,
  2. Fake PPL renderer,
  3. True PPL renderer.

All render paths uses GLSL vertex and fragment programs, vertex processing moved from CPU to GPU side, so minimal Video Chip is GF8-class or ATI analog. Renderer works on OpenGL version 3 or newer, all deprecated functionality was removed. Almost all of the geometry, including md3 animation, stored in the static Vertex Buffer Objects (VBO).

All mods are full compatible with Q3/RTCW qvm/dll modules, net-protocol, demos, material/shader system.

 Classic renderer:

It is not very different from the Quake 3 renderer, recommended for cheap slow video cards.

Fake PPL renderer:

Сompromise between speed and quality, only dynamic lights will be drawn, most of effects will work.

True PPL renderer:

Maximum quality renderer, all kinds of lights will be drawn: omni, projectors and sun lights.


Classic renderer uses lightmaps only.
Both of PPL renderers uses lightmaps as ambient lighting and shadow mapping for light-entities.
Sun light shadows is a CSM (cascaded shadow mapping), four cascades.

In fake PPL renderer you can be use deluxe maps instead lightmaps:

Parallax mapping

Two kinds of parallax technologies can be used:

  • linear step parallax mapping
  • cone step mapping (CSM)

Cone step parallax mapping: maximal quality

Linear step parallax mapping: less quality but faster

No parallax mapping, only normal bump mapping


Bump (Normal) mapping and Specular mapping

Detailed bump mapping


Texture distortion

Effect can be used for glasses, water surfaces, items, etc.

Advanced material system

  • Increased number of stages: from 8 to 256 (like a Doom3),
  • Unused stages are not eat the RAM,
  • Conditional stages, if token,
  • Math expressions for most shader and stage parameters,
  • Full compatibility with old Quake3 shader system,
  • New vertex deformation tokens: sprite, tube, flare, expand, alphaTest, colored, etc.,
  • Material templates: guides,
  • Tables,
  • Light materials, maximum 4 stages.

Doom3 style flares

Sample of material morphing:

Image functions

It’s a function set for texture modifications at the loading stage.

In-game re-light editor

Video recording

You can write a demo playback into AVI file: mjpeg compression or uncompressed rgb frame, with sound.
Able to run compressor on separate thread. Output AVI file can have any width/height sizes and any fps playback.

Http automatic map download

If requested map missed on the computer, program can find the map in defined Internet site, by default.

Atmospheric effects




Foliage system

Foliage system taked from q3map2 compilator, build into bsp-loader, so foliage can be add to maps without re-compilation.
Videocard/driver must support a hardware instancing.

Stereo rendering


Horizontal anamorph stereo-pair:

Post-process effects


Depth of Field:


Marks on brush models (platforms, elevators, doors, etc…)

Linked light

Sun light bleeding fix

Alias system

Taked from Quake3mme, is a named commands set.


Minimum system requirements:

  • Windows XP,
  • Dual Core CPU,
  • 2 Gb system RAM,
  • OpenGL 3 compatible 512 Mb video card (GF8-class or ATI analog) with 128-bit DDR3 video RAM.

Recommended system requirements:

  • Windows 7 or newer,
  • modern Quad Core CPU,
  • 4 Gb system RAM,
  • OpenGL 3 compatible 1 Gb video card with 256-bit DDR5 video RAM.


Note: These projects are not finished yet, work in progress…


One comment

Comments are closed.