There are 3 mods based on idTech3 engines:
- [email protected] – based on Quake3 1.32b,
- [email protected]_mme – based on Quake3mme (Movie Maker Edition),
- [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:
- Classic renderer,
- Fake PPL renderer,
- 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.
Shading
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
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, http://ws.q3df.org by default.
Atmospheric effects
Rain:
Snow:
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
FXAA:
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…
Nice work! Would be really great to have a Q3 client with some modern effects.