This page is quite technical. You can see groups of the engine, game and tools derived by the id Tech 3 GPL source.
Engine
derived from the IOQuake3 engine
General
console provides a backbone for game management, and allows in-game console variables and commands
Renderer
General
makes usage of latest OpenGL extensions
OpenGL extension GL_ARB_vertex_program
OpenGL extension GL_ARB_vertex_buffer_object
OpenGL extension GL_ARB_shader_objects
OpenGL extension GL_ARB_vertex_shader
OpenGL extension GL_ARB_fragment_shader
OpenGL extension GL_ARB_shading_language_100
OpenGL extension GL_ARB_non_power_of_two
OpenGL extension GL_ARB_draw_buffers
OpenGL extension GL_ARB_texture_float
OpenGL extension GL_ATI_seperate_stencil
OpenGL extension GL_SGIS_generate_mipmap
OpenGL extension GL_EXT_texture_filter_anisotropic
OpenGL extension GL_EXT_stencil_wrap
OpenGL extension GL_EXT_stencil_two_side
OpenGL extension GL_EXT_depth_bounds_test
OpenGL extension GL_EXT_framebuffer_object
OpenGL extension GL_EXTX_framebuffer_mixed_formats
hidden surface removal algorithm using the Q3A BSP and PVS
arbitrary resolution support (including widescreen)
entire renderer rewritten and designed for OpenGL 2.1 + FBO (DirectX 9 equivalent)
almost everything renders with OpenGL GLSL shaders
clever usage of vertex buffer objects (VBO) to speed up rendering of everything
avoids geometry processing at render time using the CPU
memory efficient implementation with static VBOs for BSP models and static/dynamic IBOs for BSP clusters
static game models like powerups use static VBOs as well
anisotropic texture filtering
optional uniform lighting and shadowing model like in Doom 3
usage of frame buffer objects (FBO) to perform offscreen rendering effects
reactivated and extended TrueType font support using FreeType
optional deferred shading with r_deferredShading 1
Supported Image Formats
Truevision Targa (.tga)
JPEG File Interchange Format (.jpg)
Portable Network Graphics (.png)
DirectX .dds image file format support
Supported Model Formats
Quake 3 .bsp
Quake 3 .md3
Doom 3 .md5mesh
Doom 3 .md5anim
Lighting
dynamic and static realtime lights that can use Doom 3 style boxed lighting attenuation
lights can have .mtr shaders like surface materials
1 lightFallOff image for Z attenuation
up to 15 shader stages for XY attenuation
RoQ videos can be used for light attenuation
omni-directional lighting (point lights)
projective lighting (spot lights)
hardware occlusion culling removes light volumes behind opaque geometry
precomputed lighting
lightgrid lighting for entities
simple light mapping for world geometry
directional 'deluxe' light mapping for world geometry
can be used with Doom 3 materials
Shadowing
[cg/r]_shadows
1 = blob
2 = planar projection
3 = stencil shadow volumes (Doom 3 style)
4 = variance shadow mapping (16 bit float precision)
5 = variance shadow mapping (32 bit float precision)
r_softShadows (only available for shadow mapping techniques)
1 = PCF 2X2
2 = PCF 3X3
3 = PCF 4X4
dynamic LOD for shadow mapping
many new cvars to make shadow mapping very scaleable on future GPU hardware
r_shadowMapSizeUltra
r_shadowMapSizeVeryHigh
r_shadowMapSizeHigh
r_shadowMapSizeMedium
r_shadowMapSizeLow
Materials and Shaders
simple scriptable material shader language support
supports almost all Doom 3 .mtr keywords
XreaL specific extensions to make development easier
translucence
two-sided polygons
arbitrary polygon offset
dynamic transformations of UV coordinates
alpha testing
glow textures
normal mapping
specular maps
different blending functions
texture compression parameters
dynamic color generation
game entity associated behaviour
different textures can be combined to new ones at load time
Special effects
heat haze post process effect
you can render many different distorsion effects with this:
heat shimmer
water
glass
light bloom post process effects
r_bloom cvar determines bloom mode
0 = no bloom
1 = simple bloom with diamond filter only
2 = strong bloom with combined gauss and diamond filters
rotoscope cell shading post process effect (just for fun)
Skeletal Animation
new interface exposed from the renderer to handle model and animation files
renderer interface abstracts file formats like (.md5mesh/.md5anim)
animations can be handled seperately
animation frame interpolation
animation blending
up to 128 bones for each refEntity_t that can be modified outside the renderer
basic support for inverse kinematics like head/torso/legs player angles
bones can be used as joints to attach other refEntities
Networking
Multiplayer over LAN and Internet via a Client and Server architecture
Up to 64 players
low-bandwidth efficient
packet fragmentation
packet compression and encryption
IPv6 support with multicasting abilities
extended protocol to support accelerating trajectories
Client
.avi video and audio recording
libcURL http-download redirection support for fast downloads of referenced server .pk3 files
Server
TODO add information
Physics
Continues Collision Detection
AABB tracing against brushes, bezier curves and other primitives
Sphere tracing
Capsule tracing
optional per triangle collision detection for world surfaces
improved collision detection speed using early-out AABB tests
AI
replaced Gladiator bot by the Quake2 ACEBot
very basic and extensible AI code
uses waypoints that are set automatically by running through a map
does not require to build AAS files
can even work with maps that don't feature collision brushes
Sound
streamed sounds
entirely loadable sounds
3D sound
Doppler effect
Different sound API support:
Software backend
OpenAL backend
Supported Audio Formats
RIFF WAVE (.wav)
OGG Vorbis audio file format support (.ogg)
Platforms
The XreaL engine is platform independent. Which means in this case it will run on more than one platform, which are currently:
Windows 2000, XP, XP64, Vista
Linux
Game
Client Game
Tenebrae style player teleporter effect
rotating gibs
Unlagged Code
improved status bar
improved particle engine
experimental Lua 5.1 layer for particle creation and other special effects
robust skeletal player animation code
robust skeletal view weapon animation code
Server Game
matrix math
quaternion math
improved tokenizer
handy string utilities like Q_strreplace
experimental Lua 5.1 layer for level entity scripting allowing map designers to control entities like in Doom3
Unlagged Code
accelerating rockets
true quad damage
User Interface
bloom rendering game option
anisotropic filter value slider in the graphics options
lighting and shadowing options
scrolling credits
XMap2
derived from the popular Q3Map2 compiler by Randy ydnar Reddig
Doom 3 .map file support Version 2
Quake 4 .map file support Version 3
support for new entity epairs like the "rotation" matrix
Doom 3 .mtr shader support
can be run by GtkRadiant and communicates with it using a XML based network protocol
can be run by several Q3Map2 frontends like Q3Map2Tools or Q3MapGUI
supports -game xreal option for best usage with XreaL
GtkRadiant
lite version based on Zerowing code
modified for XreaL mapping
realtime lighting preview with F3
