Repository navigation
Surfaces and Shaders
In Q3Rally, the surface under the tyres affects grip, skidmarks, particles and sounds. You set the surface type per texture in its shader, with a surfaceparm line.
- Add the matching
surfaceparmto the texture's shader in your.shaderfile. - Compile the map with
-custinfoparms(see Mapping: Getting Started). - Apply the shader to the brush faces in Radiant.
textures/mymap/gravel_road
{
qer_editorimage textures/mymap/gravel_road.jpg
surfaceparm SURF_GRAVEL
{
map $lightmap
rgbGen identity
}
{
map textures/mymap/gravel_road.jpg
blendFunc filter
}
}
Without -custinfoparms, q3map2 doesn't know the Q3Rally surface names and the information doesn't end up in the BSP.
surfaceparm |
Effect | Example textures |
|---|---|---|
SURF_ASPHALT |
Standard road grip, dark skidmarks | textures/q3r_road/asphalt |
SURF_DIRT |
Brown skidmarks and dirt particles | textures/q3r_dirt_grass/dirt01 |
SURF_GRASS |
Green-tinted skidmarks, grass debris | textures/q3r_dirt_grass/grass01 |
SURF_GRAVEL |
Like dirt, with coarser particles | textures/q3r_dirt_grass/gravel01 |
SURF_SAND |
Loose sand, dust puffs, low grip | textures/q3r_dirt_grass/sand |
SURF_SNOW |
White skidmarks, packed-snow grip, snow spray |
textures/q3r_ground/snowy01–04
|
SURF_ICE |
Very low grip |
textures/q3r_ground/ice01, ice02
|
SURF_WET |
Water splashes from the tyres | textures/q3r_liquids/q3r_water_01 |
SURF_METAL |
Sparks on impact | metal grates, pipes |
SURF_SLICK |
Extremely low grip, no skidmarks | textures/common/slick |
dust |
Raises dust clouds when driven over (standard Quake III surfaceparm) | textures/common/terrain2 |
⚠️ Write the Q3Rally types exactly as shown, e.g.surfaceparm SURF_GRAVEL. The plain Quake IIIsurfaceparm metal(metal footsteps) is not the same asSURF_METAL.
The Q3Rally-specific flags are defined in baseq3r/scripts/custinfoparms.txt. They must stay in sync with the engine (surfaceflags.h) and the Radiant gamepack. You can combine several flags on one texture.
🧪 Development build: roads inside a rain volume become wet, and roads inside a snow volume get packed-snow grip, even without the matching surfaceparm. See Weather.
Car paint reflects an environment map. Set it per map with the worldspawn key reflectionImage (default textures/reflect/chrometest2). See Race Track Entities → Worldspawn keys.
The gamepack ships the classic Q3A Shader Manual in tools/gamepacks/q3rally.game/docs/. Everything in it applies to Q3Rally as well.
🏁 Players
- Installation
- Controls
- Game Modes
- Autoball 🧪
- Vehicles
- Weapons and Powerups
- Maps
- Ghosts and Ghost Race
- Ladder for Players
- Client Settings
- Troubleshooting
🖥️ Server Admins
🛠️ Mappers & Modders