Q2PRO-X

Q2PRO-X 1.6 Beta 5 by ly — Q2PRO-X 1.6 Beta 5 AVFX Advanced Features Guide

The complete guide in HTML. The original DOCX is available from its documentation card.

Q2PRO-X 1.6 Beta 5 by ly

Q2PRO-X 1.6 Beta 5 AVFX Advanced Features Guide

Q2PRO-X document image

Project author: ly

Celestial bodies, volumetric media, surface materials and map-authored scenes

English edition • Q2PRO-X 1.6 Beta 5 by ly • 2026-10-10


Contents

The entries are links: click one to jump to that section.

Materials and reflections in beta 3

Metallic materials and reflections: beta 2

What this guide covers

How to read this

A map of the subsystems

1. Sky and space

1.1. What is available

1.2. Modern and real sky

1.3. Stars, the Milky Way and constellations

1.4. Sun, Moon and Earth

1.5. Meteors, comets and spaceships

1.6. The black hole

2. Volumetric media

2.1. Volumetric fog

2.2. Volumetric clouds

2.3. Backends and volumetric media

3. Water, puddles and reflections

3.1. Water

3.2. Puddles

3.3. Three classes of reflection

3.4. Mirror Surfaces

4. Surface materials

4.1. What they are

4.2. Floor and wall coverings

4.3. Grass

4.4. Wildlife

5. Map-authored content

5.1. Surface drawing

5.2. Volumetric steam and smoke

5.3. Why the generator never touches them

6. Local effects and sound

6.1. Flashlight and monster contacts

6.2. AVFX audio

7. Diagnostics and frame cost

7.1. What you can inspect without any debug mode

7.2. A practical tuning order for your own machine

7.3. Competitive play

8. Presets and custom sets

9. Quick reference


Materials and reflections in beta 3

Existing metals gain improved reflective response, anisotropy and antialiasing. The metal catalog itself was introduced in beta 2.

Q2PRO-X document image

Updated metallic surface appearance.

Brick geometry forms individual rectangular bricks with joints. Expensive detail follows visibility and projected size; it is separate from the user LOD switches.

Q2PRO-X document image

Brick material without geometry.

Q2PRO-X document image

The same view with individual brick geometry.

Fixed dark squares and shaking after generation, the water/lava tessellation master, and model-highlight composition in mirrors and puddles. Puddles can separately reflect vegetation and falling leaves, excluding stones, soil and leaves on the ground. Reduced repeated work is not a fixed-FPS guarantee; complex puddle SSR can still be expensive.



Metallic materials and reflections: beta 2

Floor and wall material pickers now include a metal category: 32 variants each, IDs 129–160. Existing IDs 1–128 are unchanged. An opaque covering uses its own material pattern instead of inheriting the underlying map texture. Existing scale, density, relief and other covering controls retain their purpose. A metallic material does not automatically enable the separate Mirror Surfaces system.

Q2PRO-X document image

Metallic floor material category.

Q2PRO-X document image

Metallic wall material category.

Q2PRO-X document image

Metallic covering example supplied by the project author.

Moving opaque BSP objects, such as platforms, are included in shared reflection snapshots and planar scene capture. Fixed a longstanding camera-state defect that could make model reflections disappear even at Extra quality. The shared mirror, water and puddle path is corrected without reducing quality budgets. Screen-space reflections remain limited by available geometry and server data.

Q2PRO-X document image

Moving architecture in a reflection.


What this guide covers

The Q2PRO-X AVFX layer consists of two very different parts. The first is the weather and the overall atmosphere: rain, snow, ash, dust, mist, their density, the wind and the speed. That part is described in the AVFX settings guide.

The second part is the large independent subsystems: sky and space, volumetric media, water and reflections, surface materials, wildlife and map-authored scenes. Each has its own menu, its own frame cost and its own dependencies. They are collected here.

A general rule. Everything in this guide works only while the AVFX master switch is on. With it off, none of the subsystems described here simulate, draw or prepare resources.

How to read this

Every section is arranged the same way: what it is, where it lives in the menu, what it depends on, and what the frame pays for it. The menu-row tables come from the release menu file itself, so the captions in them match what you see in the game.

A map of the subsystems

GroupWhat it containsMenu path
Surfaces and waterMaterials, coverings, grass, wildlife, water, puddles, reflections, mirrorsMain menu → Advanced Visual Effects → AVFX Detailed Settings → Surfaces & Water
Sky and celestialsSky, stars, Milky Way, planets, Sun, Moon, Earth, meteors, comets, spaceships, black holeMain menu → Advanced Visual Effects → AVFX Detailed Settings → Sky & Celestials
Local FX and soundFlashlight, monster contacts with the environment, AVFX sound volumesMain menu → Advanced Visual Effects → AVFX Detailed Settings → Local FX & Sound



1. Sky and space

1.1. What is available

Sky & Celestials

TypeSectionRowVariable or targetWhat it does
SectionSky LayersSky Layers
NavigationSky LayersSky & Clouds settings...q2prox_avfx_storm_skyOpen Sky & Clouds: weather sky tint, sky darkening, storm tint, procedural clouds and fog.
NavigationSky LayersVolumetric clouds...q2prox_avfx_volcloudsOpen Volumetric clouds: GPU-raymarched world cloud layer lit by sun/moon. Can occlude celestial disks. Default OFF.
SectionCelestial ObjectsCelestial Objects
NavigationCelestial ObjectsSun settings...q2prox_avfx_sunOpen Sun settings: visible disk, time mode, position, color, brightness, cloud shadowing.
NavigationCelestial ObjectsMoon settings...q2prox_avfx_moonOpen Moon settings: visible disk, mode, position, phase, size, brightness, cloud shadowing.
NavigationCelestial ObjectsEarth settings...q2prox_avfx_earthOpen Earth settings: separate blue-marble planet behind clouds, mode, position, phase, size, HD texture, body rotation.
NavigationCelestial ObjectsStars settings...q2prox_avfx_starsOpen stars settings: real-data catalog + extra background + Milky Way + Venus + Mars + cloud occlusion + day/moon fade + horizon-strength twinkle + constellation lines + star/planet forced bloom. Default OFF.
NavigationCelestial ObjectsBlack Hole...q2prox_avfx_blackholeOpen Black Hole settings: optional lensing background body with an event-horizon shadow, photon ring, accretion disk, flow strands and polar jets. Farther than Sun/Earth/Moon, nearer than the stars. Default OFF.
NavigationCelestial ObjectsMeteors...q2prox_avfx_meteorsOpen meteors settings: sky meteors / shooting stars (M1) and falling impact meteors (M2). Bolide visuals, trails, fragmentation, impact flash, shatter, puddle evaporation, camera shake.
NavigationCelestial ObjectsSpaceships...q2prox_avfx_spaceshipsOpen optional AVFX sky-spaceship flybys: distant stock Quake II ships enter from beyond the horizon, cross the sky on long varied routes and fade into the distance. Client-only decorative, no gameplay. Default OFF.
NavigationCelestial ObjectsBack to detailed AVFX settings...q2prox_avfx_detailsReturn to detailed AVFX settings.

1.2. Modern and real sky

The AVFX sky comes in several kinds: the map's own sky, a weather sky, a plain blue one, stars, space, a nebula, a sunny sky and a mystic one. The chosen sky decides the background every other celestial object is drawn against.

One important detail: celestial bodies and stars are drawn in the sky, not on top of the world. Level geometry occludes them exactly as it occludes any distant object.

1.3. Stars, the Milky Way and constellations

Stars Settings

TypeSectionRowVariable or targetWhat it does
SectionMainMain
ToggleMainStarscl_avfx_starsMaster toggle for the AVFX celestial stars layer. Default OFF. Applies immediately.
ListMainBackground modecl_avfx_stars_background_modeBackground star source. Generated / Real catalog / Real catalog + generated. Applies immediately. [Generated background / Real catalog / Real catalog + generated background]
SliderMainGlobal brightnesscl_avfx_stars_brightnessGlobal brightness multiplier for all stars. 3.0 default. Applies immediately.
SectionSectionsSections
NavigationSectionsVisibility and fade...q2prox_avfx_stars_visibilityOpen star visibility and sky-fade controls.
NavigationSectionsCatalog and background...q2prox_avfx_stars_catalogOpen real catalog and generated background star controls.
NavigationSectionsBloom and orientation...q2prox_avfx_stars_bloom_orientationOpen star bloom and celestial-sphere orientation controls.
NavigationSectionsColors and twinkle...q2prox_avfx_stars_colorOpen colourful accent stars and smooth twinkle controls.
NavigationSectionsPlanets and constellations...q2prox_avfx_stars_objectsOpen planets, constellations and Milky Way menus.
NavigationSectionsMeteors and comets...q2prox_avfx_meteorsOpen meteors settings.
SectionServiceService
NavigationServiceReset to defaultscl_avfx_defaults_starsReset only the star controls shown in this menu.

The star field has its own child pages: visibility, catalog, bloom and orientation, colour, objects, the Milky Way, planets and constellations. Planets and the Milky Way are independent layers: they can be enabled and disabled separately from the main star field.

1.4. Sun, Moon and Earth

The Sun, the Moon and the Earth are large celestial bodies with their own position, appearance, lighting and rotation. The Sun has a disk, a corona, a glow and beams through clouds; the Moon has phases, appearance, lighting and rotation; the Earth has an atmosphere, a cloud layer and rotation.

There is a strict occlusion rule worth knowing so that it is not mistaken for a defect:

the direct solar disk, the corona and the glow are occluded by the Moon and the Earth;
volumetric-fog inscatter is occluded by them too, but only within their visible limb;
stars and sky objects are occluded by the bodies;
screen-space god rays and the broad sky glow are not hard-cut by the bodies.

The accepted final look is a soft cloth of rays around the silhouette of the Moon and the Earth, not a bright rim on the sun-facing side.

1.5. Meteors, comets and spaceships

Meteors and comets fly across the sky; spaceships have their own flight modes, aerobatics and appearance. A separate system handles a meteor falling and striking the ground, with its own damage in single player.

1.6. The black hole

Black Hole

TypeSectionRowVariable or targetWhat it does
SectionMainMain
ToggleMainBlack Holecl_avfx_blackholeMaster switch for the AVFX black hole. Default OFF; enabling it does not change any other AVFX setting. Applies immediately.
ListMainQualitycl_avfx_blackhole_qualityRender quality. High is the recommended default; Ultra is expensive. Applies immediately. [Low / Balanced / High / Ultra]
SliderMainAzimuthcl_avfx_blackhole_azimuthAzimuth in degrees (manual mode). Applies immediately.
SliderMainElevationcl_avfx_blackhole_elevationElevation in degrees (manual mode). Applies immediately.
SliderMainSizecl_avfx_blackhole_sizeAngular size multiplier (menu up to 100.0; console/cfg engine range up to 3000.0). Applies immediately.
SliderMainBrightnesscl_avfx_blackhole_brightnessBrightness of all black-hole emission. Lensing and the shadow remain. Applies immediately.
SectionSectionsSections
NavigationSectionsPosition & animation...q2prox_avfx_blackhole_positionPosition mode, drift, disk orientation, precession, animation speed and stable seed.
NavigationSectionsLensing & horizon...q2prox_avfx_blackhole_lensingGravitational lens, event-horizon shadow and photon ring.
NavigationSectionsAccretion disk...q2prox_avfx_blackhole_diskAccretion disk geometry, material, turbulence, rotation and Doppler beaming.
NavigationSectionsStreams & jets...q2prox_avfx_blackhole_streamsFlow strands and optional polar jets.
NavigationSectionsColors & glow...q2prox_avfx_blackhole_colorsAll colors, HDR peak, bloom, optional god rays and cloud occlusion.
NavigationSectionsQuality & performance...q2prox_avfx_blackhole_qualityQuality, field render scale, antialiasing and temporal stability.
NavigationSectionsConsumption...q2prox_avfx_blackhole_consumptionMatter consumption. Pale-gray Moon dust and three kinds of Earth matter (atmosphere, water, soil/rock) tear into the hole. Needs a body and the Black Hole visible and close. Default OFF.
SectionServiceService
NavigationServiceReset all Black Hole settingscl_avfx_defaults_blackholeReset EVERY Black Hole setting, including the master switch, to its default.
NavigationServiceBack to Sky & Celestials...q2prox_avfx_details_skyReturn to Sky & Celestials.

The black hole is the heaviest celestial subsystem. It consists of position, lensing, the accretion disk, streams, colours, quality and a consumption mode. Consumption can draw in celestial bodies and meteors and comets already in flight, and dust lifted from the surface has a settings set of its own.

The preset generator makes the black hole available only from the Ultra Quality tier upward, precisely because of its frame cost.



2. Volumetric media

2.1. Volumetric fog

Volumetric fog / mist

TypeSectionRowVariable or targetWhat it does
ToggleVolumetric fogcl_avfx_volfogMaster toggle for AVFX volumetric fog / mist. Applies immediately.
ListQualitycl_avfx_volfog_qualityQuality preset. Low reduces steps; Standard is baseline; Ultra increases steps. Applies immediately. [Low / Standard / Ultra]
SliderRender scalecl_avfx_volfog_render_scalePerformance scale for effective raymarch steps. Applies immediately.
SliderRaymarch stepscl_avfx_volfog_stepsRequested raymarch sample count; effective count also uses quality and render scale. Applies immediately.
NavigationShape and distance...q2prox_avfx_volfog_shapeOpen fog distance, height and layer-shape controls.
NavigationDensity and noise...q2prox_avfx_volfog_lookOpen density, noise, color and wind controls.
NavigationFog lighting...q2prox_avfx_volfog_lightingOpen sun, moon, lightning, flashlight and debug controls.
NavigationReset to defaultscl_avfx_defaults_volfogReset only the volumetric-fog controls shown in this menu.

Volumetric fog is not a flat veil but a real volume in which light scatters. It has shape, appearance and lighting on separate child pages.

The two main cost controls here are the performance scale and the step count. The scale cuts the effective number of ray samples, and the step count is the requested number. The effective count depends on both, plus the quality tier.

2.2. Volumetric clouds

Volumetric clouds

TypeSectionRowVariable or targetWhat it does
SectionMainMain
ToggleMainVolumetric cloudscl_avfx_volcloudsMaster toggle for AVFX volumetric clouds. Applies immediately.
SectionQuality & performanceQuality & performance
ListQuality & performanceQualitycl_avfx_volclouds_qualityQuality preset. Low is faster, Quality is baseline, Ultra increases sample count. Applies immediately. [Low / Quality / Ultra]
ListQuality & performanceCloud detail sourcecl_avfx_volclouds_noise_sourceCloud detail source. Fast procedural uses in-shader hash. Rich 3D noise uses Perlin-Worley textures. Applies immediately. [Fast procedural / Rich 3D noise]
SliderQuality & performanceRender scalecl_avfx_volclouds_render_scaleInternal cloud buffer scale. 1.00 renders the same cloud pass at full resolution; lower values render cheaper and upscale. Applies immediately.
SliderQuality & performanceRaymarch stepscl_avfx_volclouds_stepsBase raymarch sample count per pixel. Effective count also uses quality preset. Applies immediately.
SliderQuality & performanceShadow stepscl_avfx_volclouds_shadow_stepsLight-march samples toward sun per main step. 0 disables self-shadow. Applies immediately.
SectionSubmenusSubmenus
NavigationSubmenusShape and coverage...q2prox_avfx_volclouds_shapeOpen cloud placement, height, coverage, density and size controls.
NavigationSubmenusDetail and motion...q2prox_avfx_volclouds_detailOpen cloud detail, erosion, turbulence, wind and evolution controls.
NavigationSubmenusLayers and sky coverage...q2prox_avfx_volclouds_layersChoose full-sphere or upper-sky coverage and open per-layer cloud controls.
NavigationSubmenusCloud lighting...q2prox_avfx_volclouds_lightingOpen lighting, scene-shadow, lightning and debug settings for volumetric clouds.
SectionServiceService
NavigationServiceReset to defaultscl_avfx_defaults_volcloudsReset only the volumetric-cloud controls shown in this menu.

Volumetric clouds are additionally split into three independent layers. Each layer is enabled separately and has its own height, density and motion.

An important difference from fog. The clouds' own internal buffer scale is currently reserved and does not affect rendering: the raymarch always runs at scene resolution. The real cost controls for clouds are the step count and the quality tier.

2.3. Backends and volumetric media

Volumetric media are the part of AVFX most sensitive to the graphics backend. The client's own menu carries the general recommendation: use the win32egl backend for the best performance.

A practical tuning order:

1. Enable the volume you want.

2. Leave the factory render scale and step count.

3. Look at the frame rate in a scene typical for you.

4. For fog, reduce the performance scale first, then the step count.

5. For clouds, reduce the step count and the quality tier: the cloud buffer scale currently changes nothing.

6. Only then reduce the density and the number of layers.

Details on choosing a backend are in the video guide.



3. Water, puddles and reflections

3.1. Water

Water

TypeSectionRowVariable or targetWhat it does
SectionBase WaterBase Water
ToggleBase WaterEnhanced watercl_avfx_waterMaster switch for the enhanced water surface (needs cl_avfx_world 1; lava/slime untouched). Applies live - no vid_restart. Applies immediately.
ListBase WaterWater qualitycl_avfx_water_qualityShader detail level of the enhanced water (low / normal / high). Applies immediately. [low / normal / high]
SliderBase WaterWater strengthcl_avfx_water_strengthStrength of the enhanced-water look (0..1, default 0.65). Applies live - no vid_restart. Applies immediately.
ListBase WaterWater colorcl_avfx_water_colorWater colour profile (natural or artificial water tints). Applies live - no vid_restart. Applies immediately. [original / natural / clear / tropical / pool / ocean / lake / glacier / deep / murky / toxic]
ListBase WaterWater texturecl_avfx_water_surface_styleBSP water surface texture. 0=Standard, 1..12 reference styles. Detail layer only; does not change water effects. Applies immediately. [Standard / Clear shallow / Pool caustics / Calm ripples / Wind ripples / Ocean chop / Dark deep / Green lagoon / Grey calm / Murky pond / Rough foam / Whitewater / Soft caustics]
SliderBase WaterWater motion speedcl_avfx_water_surface_speedWater style motion speed (0.1=10x slower, 1=default, 10=10x faster). Applies immediately.
ToggleBase WaterSurface ripplescl_avfx_water_ripplesAnimated surface-ripple layer on the water (separate from raindrop impact rings). Applies immediately.
ToggleBase WaterDrifting foamcl_avfx_water_foamDrifting foam patches on the water surface - small patches fade in, drift, and fade out. Applies immediately.
SectionCelestial ResponseCelestial Response
ToggleCelestial ResponseWater celestial responsecl_avfx_water_celestial_lightingWater/puddles/foam/runoff/rings react to sun+moon state. On by default; fixes bright daytime water showing at night. Applies immediately.
SliderCelestial ResponseWater celestial strengthcl_avfx_water_celestial_strengthHow strongly sun+moon drive water colour/brightness (0..2, default 1.0). Applies immediately.
SliderCelestial ResponseWater min brightnesscl_avfx_water_celestial_min_brightnessFloor brightness for water when there's no celestial light (0..1, default 0.05). Otherwise it can go very dark at night. Applies immediately.
SliderCelestial ResponseWater night tintcl_avfx_water_celestial_night_tintCool deep-blue tint of water in darkness (0..1, default 0.55). Applies immediately.
SliderCelestial ResponseWater specular responsecl_avfx_water_celestial_specular_scaleBrightness scalar for CPU water-glint paths (foam/runoff/rings/drops); shader paths self-scale. Applies immediately.
SectionRealistic WaterRealistic Water
ToggleRealistic WaterRealistic watercl_avfx_water_realisticOptional realistic mode over enhanced water: procedural waves/normals + fresnel sky reflection + sun glint. Off by default; needs Enhanced water + cl_avfx_world 1. Applies immediately.
NavigationRealistic WaterSurface and waves...q2prox_avfx_water_realistic_surfaceOpen realistic-water surface and waves settings.
NavigationRealistic WaterReflection...q2prox_avfx_water_realistic_reflectOpen realistic-water reflection settings.
NavigationRealistic WaterColour and depth...q2prox_avfx_water_color_depthOpen realistic-water colour and depth settings.
NavigationRealistic WaterFoam and shore...q2prox_avfx_water_foam_shoreOpen realistic-water foam and shore settings.
SectionExtraExtra
NavigationExtraReflections...q2prox_avfx_water_reflectionsOpen water reflection settings: scene SSR, coloured 3D model reflections and liquid reflection distortion for BSP water.
SectionServiceService
NavigationServiceReset to defaultscl_avfx_defaults_waterReset only the water controls shown in this menu.

AVFX water has several levels. The base layer improves the map's water surface. Realistic water adds separate child pages for the surface, the reflection, the colour and depth, and the foam and shore.

3.2. Puddles

Puddles

TypeSectionRowVariable or targetWhat it does
SectionBase puddleBase puddle
ToggleBase puddleRain puddlescl_avfx_rain_puddlesPuddles (wet patches) forming on horizontal surfaces where rain falls. Applies immediately.
SliderBase puddlePuddle densitycl_avfx_rain_puddle_densityFraction of horizontal rain hits that form a puddle (0..1, default 1.0). Applies immediately.
SliderBase puddlePuddle alphacl_avfx_rain_puddle_alphaPuddle opacity (0..1, default 0.4). Applies immediately.
ListBase puddlePuddle texturecl_avfx_rain_puddle_surface_styleAVFX puddle surface texture. 0=Standard, 1..12 reference styles. Detail layer only; does not change puddle effects. Applies immediately. [Standard / Wet asphalt / Muddy / Swamp film / Dirty ripples / Droplet film / Macro droplets / Clean wet / Grey ripple / Mud streaks / Shallow clear / Broken foam / Rough muddy]
SliderBase puddlePuddle motion speedcl_avfx_rain_puddle_surface_speedPuddle style motion speed (0.1=10x slower, 1=default, 10=10x faster). Applies immediately.
SliderBase puddlePuddle sizecl_avfx_rain_puddle_max_sizePuddle size (0.2..100; 1.0 = default; 0.2 = 5x smaller, 100 = 100x larger). Applies immediately.
SliderBase puddlePuddle countcl_avfx_rain_puddle_countMax number of puddles (0.2..500; 1.0 = default ~384. 0.2 = 5X fewer; 500 = fills the 4096 buffer). Applies immediately.
SliderBase puddlePuddle fill ratecl_avfx_rain_puddle_fill_rateHow fast surfaces fill with puddles (0.01..20. 0.2 = Default, 5x slower than base; 20 = near-instant). Applies immediately.
SectionSpecularSpecular
ToggleSpecularPuddle specularcl_avfx_rain_puddle_specularFake puddle specular: animated procedural highlights + sky-colour mix so wet asphalt reads wet, not just dark. No real reflection. Applies immediately.
SliderSpecularPuddle specular strengthcl_avfx_rain_puddle_specular_strengthStrength of the fake puddle specular highlights (0..1; 0.6 = default). Applies immediately.
SectionContact effectsContact effects
NavigationContact effectsSplashes, rings, runoff, contact...q2prox_avfx_puddle_detailOpen puddle step-splash, rings, runoff (drip) and water-contact settings.
SectionExtraExtra
NavigationExtraReflections...q2prox_avfx_puddle_reflectionsOpen the puddle Reflections submenu: scene reflection (SSR), model-reflection categories and liquid reflection distortion.
SectionServiceService
NavigationServiceReset all puddle settingscl_avfx_defaults_puddlesReset ALL puddle settings. Base, specular, splashes, rings, runoff and water contact (reflections have their own reset in the Reflections submenu).

Puddles are tied to rain: they appear on suitable surfaces, accumulate and dry. They have their own detail settings and their own reflections.

3.3. Three classes of reflection

This is where confusion arises most often. Q2PRO-X has exactly three, and they are independent:

ClassWhat is reflectedWhere it is configured
Model reflectionsReal entities: players, weapons, items, armor, shipsThe water and puddle reflection child pages
Scene reflectionScreen-space reflection of the scene itself, plus the shared liquid-warp parametersThe water reflection child page
Mirror SurfacesThe separate system of true mirrorsMain menu → Advanced Visual Effects → AVFX Detailed Settings → Surfaces & Water → Mirror Surfaces

The preset generator respects that boundary: model reflections appear from Ultra Quality, mirrors only at Extra Quality, and scene reflection in water is enabled from Quality upward.

3.4. Mirror Surfaces

Mirror Surfaces

TypeSectionRowVariable or targetWhat it does
SectionSurfacesSurfaces
ToggleSurfacesMirror surfacescl_avfx_surface_mirrorMaster toggle for experimental mirror surfaces. The saved choice is effective only in deathmatch 0, on a local deathmatch 1 server, or in dm2/mvd2 Demo Player playback. Remote deathmatch 1 is hard-blocked independently of user cvars. Off by default. Applies immediately.
ToggleSurfacesFloors and slopescl_avfx_surface_mirror_floorsMirror floors and up-facing slopes (stairs, ramps). On by default. Applies immediately.
ToggleSurfacesWallscl_avfx_surface_mirror_wallsMirror vertical and steep walls. Off by default (higher cost). Applies immediately.
SliderSurfacesFloor/slope angle limitcl_avfx_surface_mirror_floor_slope_maxAngle limit (degrees) separating floors/slopes from walls. Applies immediately.
SectionScene ReflectionScene Reflection
ToggleScene ReflectionScene reflectioncl_avfx_surface_mirror_scene_reflectionScreen-space reflection of static world detail. On by default. Applies immediately.
SliderScene ReflectionScene reflection strengthcl_avfx_surface_mirror_scene_reflection_strengthStrength of the reflected scene. Applies immediately.
ToggleScene ReflectionReflect Surface Objectscl_avfx_surface_mirror_surface_objectsReflect already enabled Surface Objects: grass, ivy, ferns and falling leaves; no stones, soil or ground litter. Does not enable them. Applies immediately.
SectionMoreMore
NavigationMoreModel reflections...q2prox_avfx_mirror_modelsOpen model reflections and their individual content categories.
NavigationMoreQuality & service...q2prox_avfx_mirror_qualityOpen quality and service: quality, roughness, distance, plane budget, diagnostics.
NavigationMoreReset to defaultscl_avfx_defaults_surface_mirrorReset mirror surface settings to defaults.
NavigationMoreBack to Surfaces & Water...q2prox_avfx_details_surfacesBack to Surfaces & Water.

Mirrors are the most expensive class of reflection, because the scene is built separately for them. They have their own model and quality child pages.



4. Surface materials

4.1. What they are

Surface Materials

TypeSectionRowVariable or targetWhat it does
SectionMasterMaster
ToggleMasterSurface Materialscl_avfx_surface_materialsMaster toggle for AVFX Surface Materials — living material layers over eligible static walls/floors. Families: mold, wall runoff. Needs cl_avfx on. Default off. Applies immediately.
ListMasterQualitycl_avfx_surface_materials_qualitySurface detail and wildlife budgets. Higher adds material samples, feeding actors, flies and reaction records; Ultra uses the full 256-actor feeding pool. Applies immediately. [Performance / Balanced / High / Ultra]
SliderMasterDetail distancecl_avfx_surface_materials_distanceSmooth detail LOD distance (world units). Colonies keep identity; only fine detail fades far away. Applies immediately.
SectionFamiliesFamilies
NavigationFamiliesMold settings...q2prox_avfx_surface_materials_moldOpen Mold settings: walls/floors, alpha, coverage, colony scale and wall bottom-up distribution.
NavigationFamiliesWall runoff...q2prox_avfx_surface_materials_wall_waterOpen Wall runoff settings: animated water droplets, beads and rivulets on eligible static WALLS only (floors never affected). Auto mixes broad world regions.
NavigationFamiliesGreenery...q2prox_avfx_surface_materials_greeneryOpen Greenery settings: moss, lichen, ivy, leafy creep and small weeds grown over eligible static walls and floors. A shader coating on the original texture, not the separate 3D grass.
NavigationFamiliesCracks...q2prox_avfx_surface_materials_cracksOpen Cracks settings: hairline, branching, network, chipped and deep fractures worn into eligible static walls and floors. Damage in the existing material; collision and gameplay never change.
NavigationFamiliesBrick surfaces...q2prox_avfx_surface_materials_brickOpen Brick surface settings: irregular masonry with real bump and parallax relief coating eligible static walls and floors. The original texture stays underneath according to coverage; map geometry and collision never change.
NavigationFamiliesWildlife...q2prox_avfx_surface_materials_crawlersOpen Wildlife settings: insects, tadpoles, snails and Snakes living on eligible static surfaces. Local AVFX only; server gameplay never changes.
NavigationFamiliesDrawing...q2prox_avfx_surface_materials_drawingOpen Drawing: paint your own marks directly on world walls, ceilings, floors and slopes with the mouse. Saved locally per mod and per map revision; never sent to a server. Default off.
NavigationFamiliesFloor Surfaces...q2prox_avfx_surface_materials_floor_surfacesOpen Floor Surfaces: a covering built from 160 reference-derived floor materials with real bump, depth and optional shader motion. It can be enabled on floors, walls and ceilings independently; the name only picks the catalog. Default OFF.
NavigationFamiliesWall Surfaces...q2prox_avfx_surface_materials_wall_surfacesOpen Wall Surfaces: the second, independent covering layer, built from 160 reference-derived wall materials. Both layers may cover the same face; one shared control decides which lies underneath. Default OFF.
SectionServiceService
NavigationServiceReset to defaultscl_avfx_defaults_surface_materialsReset all Surface Materials controls to defaults.
NavigationServiceBack to Surfaces & Water...q2prox_avfx_details_surfacesBack to Surfaces & Water.

Surface materials are the family of effects that bring a level's walls and floors to life: mold, brickwork, cracks, greenery and water running down walls. Each material is enabled separately and has its own coverage, shape and colour settings.

Brick geometry deserves a separate mention: it gives the masonry real relief rather than only a pattern. It is the most expensive part of the materials, which is why the preset generator enables it only at Extra Quality.

4.2. Floor and wall coverings

Floor and wall coverings are independent families with menus of their own. They decide what exactly a surface is covered with, and how densely.

Coverage here means the fraction of the level's surface an effect occupies. Low coverage gives isolated patches, high coverage gives a continuous layer. The preset generator has a separate Full coverage mode that raises material and covering coverage to the maximum and lays it out uniformly.

4.3. Grass

Grass: Placement & Appearance

TypeSectionRowVariable or targetWhat it does
SectionPlacement & PerformancePlacement & Performance
ListPlacement & PerformanceQualitycl_avfx_surface_grass_qualityGrass quality profile. Higher raises instance count, blade detail, draw distance and CPU/GPU cost. Ultra is the visual reference. Applies immediately. [Performance / Balanced / High / Ultra]
SliderPlacement & PerformanceDensitycl_avfx_surface_grass_densityBlade density multiplier over the quality profile. Applies immediately.
SliderPlacement & PerformanceCell sizecl_avfx_surface_grass_cell_sizeGrass cell size in world units; changing it rebuilds grass cells. Applies immediately.
SliderPlacement & PerformanceDraw distancecl_avfx_surface_grass_distanceGrass draw distance before the quality multiplier. Used only with Distance LOD on. Applies immediately.
TogglePlacement & PerformanceDistance LODcl_avfx_surface_grass_lodOn: distance cutoff and thinning. Off: no distance restrictions. PVS and the instance cap remain active. Applies immediately.
SliderPlacement & PerformanceMax grass bladescl_avfx_surface_grass_max_instancesHard blade cap. With LOD off, grass has a fixed allocation across the map; entering another room never redistributes it. Ultra allows eight million. Applies immediately.
SliderPlacement & PerformanceMaximum slopecl_avfx_surface_grass_slope_maxMaximum surface slope that grows grass (0 = flat floors only). Applies immediately.
TogglePlacement & PerformanceOutdoor onlycl_avfx_surface_grass_outdoor_onlyGrow grass only on cells open to the sky; off allows indoor eligible floors too. Applies immediately.
SectionAppearanceAppearance
SliderAppearanceHeightcl_avfx_surface_grass_heightBase grass blade height in world units. Applies immediately.
SliderAppearanceHeight variationcl_avfx_surface_grass_height_variationPer-blade random height spread around the base height. Applies immediately.
SliderAppearanceWidthcl_avfx_surface_grass_widthGrass blade width in world units. Applies immediately.
ListAppearanceAntialiasingcl_avfx_surface_grass_antialiasingGrass geometry antialiasing. 2x..8x accumulate that many fixed sub-pixel samples of the original vertical blades per frame. Distant blades are never replaced by flat coverage. Applies immediately. [Off / 2x / 3x / 4x / 5x / 6x / 7x / 8x]
SliderAppearanceColor redcl_avfx_surface_grass_color_rBase grass colour, red channel (linear). Applies immediately.
SliderAppearanceColor greencl_avfx_surface_grass_color_gBase grass colour, green channel (linear). Applies immediately.
SliderAppearanceColor bluecl_avfx_surface_grass_color_bBase grass colour, blue channel (linear). Applies immediately.
SliderAppearanceColor variationcl_avfx_surface_grass_color_variationPer-blade colour spread around the base colour. Applies immediately.
NavigationAppearanceBack to Grass...q2prox_avfx_grassBack to Grass.

Grass has three child pages: placement, lighting and motion. Placement decides where grass appears and how densely; lighting reconciles it with the level's light; motion governs the sway.

4.4. Wildlife

Wildlife

TypeSectionRowVariable or targetWhat it does
SectionMasterMaster
ToggleMasterWildlifecl_avfx_surface_materials_crawlersWildlife family master. Creatures live on eligible static surfaces. Needs the Surface Materials master and one surface lane. Default off. Applies immediately.
ToggleMasterWallscl_avfx_surface_materials_crawlers_wallsLet wildlife move on eligible walls. Independent of the floor lane. Applies immediately.
ToggleMasterFloorscl_avfx_surface_materials_crawlers_floorsLet wildlife move on eligible floors and slopes. Independent of the wall lane. Applies immediately.
ListMasterCreaturescl_avfx_surface_materials_crawlers_variantChoose regional Auto, Random mixing, or one creature type. Fixed species keep stable numbers as new types are appended. Applies immediately. [Auto / Random (all) / Ants / Beetles / Spiders / Roaches / Tiny mixed insects / Sparse mixed routes / Tadpoles / Snails / Snakes]
SectionAppearanceAppearance
SliderAppearanceAlphacl_avfx_surface_materials_crawlers_alphaHow strongly the creatures show over the surface. 0 is a real no-op. Applies immediately.
SliderAppearanceDensitycl_avfx_surface_materials_crawlers_densityHow many routes are occupied. Lowering it removes routes without moving the rest. 0 is a real no-op. Applies immediately.
SliderAppearanceSizecl_avfx_surface_materials_crawlers_scalePhysical size of the creatures. It changes their size, not their number or where the routes run. Applies immediately.
SliderAppearancePopulationcl_avfx_surface_materials_crawlers_populationPeak number of creatures. It multiplies how many can appear per area; at 100 there are a hundred times more than at 1. Applies immediately.
SliderAppearanceVisibilitycl_avfx_surface_materials_crawlers_contrastHow hard the creatures read against the surface. Higher darkens the body and lifts its outline, so they stay visible on bright and dark surfaces alike. Applies immediately.
SliderAppearanceSize variationcl_avfx_surface_materials_crawlers_size_variationHow much individual creatures differ in size. Applies immediately.
NavigationAppearanceMovement...q2prox_avfx_surface_materials_crawlers_motionOpen Movement settings: travel speed, route curvature, gait and grouping.
NavigationAppearanceColour and wall placement...q2prox_avfx_surface_materials_crawlers_placeOpen Colour and wall placement: RGB tint, spread up a wall, reach and boundary softness.
NavigationAppearanceSurfaces and blood...q2prox_avfx_surface_materials_crawlers_environmentOpen Snake reactions on puddles and grass, plus blood spreading after a kill.
NavigationAppearanceAudio and contacts...q2prox_avfx_surface_materials_crawlers_contactsOpen optional Snake audio and wildlife contacts with hazards and local weapons.
SectionServiceService
NavigationServiceReset Wildlifecl_avfx_defaults_surface_materials_crawlersReset Wildlife controls to defaults.
NavigationServiceBack to Surface Materials...q2prox_avfx_surface_materialsBack to Surface Materials.

Wildlife means the small creatures crawling over the level's surfaces. It has child pages for environment, motion, placement and contacts, and for snakes there are separate combat settings in single player.

Wildlife takes no part in the generator's Full coverage mode. A continuous carpet of wildlife does not make a level look finished, so that is a deliberate exception. Water running down walls is excluded for the same reason.



5. Map-authored content

Two subsystems differ fundamentally from everything else in AVFX: their content is created by a person for one specific map, not by a random algorithm.

5.1. Surface drawing

Drawing

TypeSectionRowVariable or targetWhat it does
SectionMasterMaster
ToggleMasterDrawingcl_avfx_surface_materials_drawingShow your own drawings on world surfaces. Drawings are local, saved separately for each mod and each map revision, and are never deleted by a reset or a preset. Default off. Applies immediately.
ToggleMasterWalls and ceilingscl_avfx_surface_materials_drawing_wallsShow and allow drawing on eligible walls and ceilings. Turning it off hides those drawings; it never deletes them. Applies immediately.
ToggleMasterFloors and slopescl_avfx_surface_materials_drawing_floorsShow and allow drawing on eligible floors and up-slopes. Turning it off hides those drawings; it never deletes them. Applies immediately.
SectionEditorEditor
NavigationEditorOpen editoravfx_surface_drawing_editorOpen the drawing editor. It opens in Paint mode: the mouse moves a cursor and the camera stays frozen. Tab switches to Navigate to move the view; Escape closes.
NavigationEditorDocument infoavfx_surface_drawing_infoPrint the current mod, map, BSP revision, file path, layer/stroke counts and save state to the console.
NavigationEditorSaveavfx_surface_drawing_saveSave the current drawing now. Editing also autosaves shortly after each completed stroke.
SectionEditor panelEditor panel
SliderEditor panelPanel opacitycl_avfx_surface_materials_drawing_editor_alphaOpacity of the editor toolbox. Affects the panel only, never the drawings. Applies immediately.
SliderEditor panelPanel scalecl_avfx_surface_materials_drawing_editor_scaleSize multiplier for the editor toolbox. Applies immediately.
SliderEditor panelPanel widthcl_avfx_surface_materials_drawing_editor_widthBase width of the editor toolbox in pixels, before the scale multiplier. Applies immediately.
SliderEditor panelPanel heightcl_avfx_surface_materials_drawing_editor_heightBase height of the editor toolbox in pixels, before the scale multiplier. Applies immediately.
NavigationEditor panelReset panel positionavfx_surface_drawing_panel_resetPut the toolbox back to its default place. You can also drag it by its title bar.
SectionServiceService
NavigationServiceReset settingscl_avfx_defaults_surface_materials_drawingReset the display and editor settings to defaults. Saved drawings are not touched.
NavigationServiceBack to Surface Materials...q2prox_avfx_surface_materialsBack to Surface Materials.

Drawings are vector objects anchored to specific surfaces of a specific map: layers, strokes, points, effects and contour regions. They are worked on in an editor inside the game.

The key concepts:

ConceptWhat it is
Drawing documentThe working copy for one specific map: layers, strokes, anchored points, effects and contours
Drawing materialA portable named vector template in normalized coordinates, with no map identity
Material instanceA copy of a template projected onto a chosen surface and embedded in the current document as one undo transaction
Authored surface datasetThe complete set of documents owned by one active authoring or preset scope

A drawing material is portable between maps; a drawing document is not. Once placed, an instance has no live link to the library: it becomes part of the document.

5.2. Volumetric steam and smoke

Surface Volumes

TypeSectionRowVariable or targetWhat it does
SectionMasterMaster
ToggleMasterSurface Volumescl_avfx_surface_volumesShow volumetric steam and smoke in the areas you marked on this map. It appears in the current map immediately: no map reload and no video restart. Needs cl_avfx on. Default off. Applies immediately.
ListMasterQualitycl_avfx_surface_volumes_qualityVolume detail for every shape independently. One shader serves every tier, so changing this compiles nothing. Applies immediately. [Low / Balanced / High / Ultra]
SliderMasterShape densitycl_avfx_surface_volumes_gpu_budget_msCalibrated density control for each visible shape. The legacy numerical scale is retained for preset compatibility; it is not measured GPU milliseconds or a whole-pass GPU ceiling. Adding a shape leaves existing shapes unchanged; total GPU load grows with visible shape count. Applies immediately.
SliderMasterPer-shape primitive limitcl_avfx_surface_volumes_max_lobesUpper bound on volume primitives built for EACH shape. It is never divided between shapes. Applies immediately.
ListMasterLOD (distance)cl_avfx_surface_volumes_lodDistance visibility of whole marked areas. Off shows every area; Near/Medium/Far show only areas within a growing distance of the camera. An area always draws WHOLE and fades out completely at its cutoff — never in pieces. Applies immediately. [Off / Near / Medium / Far]
SectionEditorEditor
NavigationEditorOpen editoravfx_surface_volumes_editorOpen the editor. It opens in Paint mode: the mouse moves a cursor and the camera stays frozen. Tab switches to Navigate to move the view; Escape closes. EVERY per-area parameter — colour, shape, motion, turbulence, light response — is edited inside the editor panel with sliders, on its group tabs.
SectionPresetPreset
NavigationPresetSaveavfx_surface_volumes_saveSave this map's steam and smoke now. The layout is kept per mod and per map and comes back the next time you enter this map; it also saves automatically when you leave the map or the game. Saving an AVFX user preset additionally captures it into that preset.
NavigationPresetRevertavfx_surface_volumes_revertGo back to the last saved steam of this map.
SectionServiceService
NavigationServiceDiagnosticsavfx_surface_volumes_infoPrint the identity, bundle, document, resident resources, per-frame counters and the exact reason the pass is or is not drawing.
NavigationServiceBack to Surfaces & Water...q2prox_avfx_details_surfacesBack to Surfaces & Water.

Volumetric steam and smoke (Surface Volumes) are map-authored content too: volumes placed on one specific map and tuned for it.

5.3. Why the generator never touches them

The AVFX preset generator preserves both drawings and a map's volumetric media on every generation. The reason is simple: this is hand-made authored work bound to one specific map. A random scene has no right to erase it.

An AVFX preset does own the complete authored-surface datasets: loading a preset, resetting to defaults or clearing atomically replaces or empties the whole dataset across every map, leaving no trace of the previous preset. The libraries of portable materials and shapes survive that.



6. Local effects and sound

6.1. Flashlight and monster contacts

Local FX & Sound

TypeSectionRowVariable or targetWhat it does
SectionLocal FX & SoundLocal FX & Sound
NavigationLocal FX & SoundPlayer Contact Effects...q2prox_avfx_contact_settingsOpen every AVFX Player Contact Effect setting: blood on models, sprays, world stains, corpse pools, BFG vaporization, weapon impact marks and their budgets.
NavigationLocal FX & SoundFlashlight settings...q2prox_avfx_flashlightOpen Flashlight settings: toggle, range, cone angle, color, flicker, battery.
NavigationLocal FX & SoundMonster environmental contacts...q2prox_avfx_monster_contactsOpen Monster environmental contacts: footprints, puddle ripples and landing splashes (local single-player / DM-training only).
NavigationLocal FX & SoundAVFX sound volumes...q2prox_avfxvolOpen AVFX sound volume layers: ambience, rain, snow, water, steam, thunder, meteor, surface steps.
SectionRelatedRelated
NavigationRelatedLightning interaction...q2prox_avfx_lightning_dischargesOpen Lightning discharges & damage — lightning interaction with monsters, objects and surfaces.
NavigationRelatedBack to detailed AVFX settings...q2prox_avfx_detailsReturn to detailed AVFX settings.

The flashlight is a local light source with its own settings and a separate shadows child page. Monster contacts with the environment are the environment's reaction to creatures moving through it.

6.2. AVFX audio

AVFX sounds have their own volumes, separated from the game's overall volume: weather, events and contacts are configured independently.

AVFX Sound Volumes

TypeSectionRowVariable or targetWhat it does
SectionMasterMaster
ToggleMasterSoundscl_avfx_audioMaster gate for all AVFX sound layers (thunder, rain/wind/snow/water beds, drop ticks, ring plips, footsteps). Silent if a layer's WAV is missing. Applies immediately.
SliderMasterSound volumecl_avfx_audio_volumeOverall loudness of AVFX sound effects (multiplies s_volume and every sub-layer). Applies immediately.
SectionWeather & environmentWeather & environment
ToggleWeather & environmentWind soundcl_avfx_audio_windGate for the wind audio layer: ambient wind/dust/ash/fog loops, storm variant and gust one-shots. Silent if WAV missing. Applies immediately.
ToggleWeather & environmentRain soundcl_avfx_audio_rainGate for the main rain-noise loops (light/normal/heavy + underwater). Drop ticks and ring plips have their own gates. Silent if WAV missing. Applies immediately.
ToggleWeather & environmentRain drop soundcl_avfx_audio_rain_dropsAllow close raindrop tick sounds (rain preset only). Silent if WAV missing. Applies immediately.
ToggleWeather & environmentSnow soundcl_avfx_audio_snowGate for the snow-preset ambience: a deliberately soft winter-wind loop (snow_wind_loop.wav), not loud snow noise. Silent if WAV missing. Applies immediately.
ToggleWeather & environmentWater soundcl_avfx_audio_waterAllow ring-plip and soft water-surface sounds for AVFX water contacts (if WAVs present). Applies immediately.
ToggleWeather & environmentThundercl_avfx_audio_thunderAllow thunder sound tied to lightning events. Applies immediately.
NavigationWeather & environmentEvents & sky...q2prox_avfxvol_eventsOpen steam, sky-event, spaceship and Black-Hole sound controls.
NavigationWeather & environmentContacts & wildlife...q2prox_avfxvol_contactsOpen surface-contact and positional wildlife sound controls.
SectionServiceService
NavigationServiceAVFX sounds offset cl_avfx_audio 0Mute AVFX through its master only. Child preferences and all visual/non-AVFX settings stay untouched.
NavigationServiceRestore AVFX sound defaultscl_avfx_defaults_audioRestore every AVFX sound control to its registered default. Optional Black-Hole audio remains OFF by default.

That separation lets you keep the weather visible but quiet — a frequent choice for competitive play.


7. Diagnostics and frame cost

7.1. What you can inspect without any debug mode

The cl_avfx_info command prints the state of the AVFX layer to the console: which effects are active right now, the counters and the budgets. It changes nothing and requires no debug mode to be enabled.

The same action is available from the Advanced effects info… row in the main AVFX menu.

7.2. A practical tuning order for your own machine

1. Start from a ready preset, or from the generator at the Balanced tier.

2. Look at the frame rate in a typical scene, not in an empty corridor.

3. If you need speed, first reduce the step count of the volumetric media, and for fog its performance scale as well.

4. Then disable the most expensive families: mirrors, model reflections, brick geometry.

5. Then reduce material coverage and grass density.

6. Touch weather density and particle counts last: they give less of a gain than you would expect.

A separate saving is the distance LOD: it skips small effects beyond a chosen distance with a soft fade. Puddles, cascade flows and the rain particles themselves are never affected by it.

7.3. Competitive play

Online matches have their own modes: allowing AVFX in multiplayer, allowing it in demos, and a competitive limit that caps opacity, density and particle counts so weather cannot hide targets.

AVFX Modes

TypeSectionRowVariable or targetWhat it does
ToggleMultiplayercl_avfx_multiplayerAllow AVFX during real multiplayer matches; off disables it there. Applies immediately.
ToggleDemo playbackcl_avfx_demoAllow AVFX during demo (.dm2/.mvd2) playback. Applies immediately.
ToggleCompetitive limitcl_avfx_competitive_limitIn multiplayer, caps alpha/density/particle counts so weather can't hide targets. Applies immediately.

There is also a global AVFX disable: it switches the layer off across every mod without rewriting local settings or presets.



8. Presets and custom sets

Any combination of the subsystems described here is saved as an ordinary AVFX preset. Presets can be global or mod-dependent, and custom slots are protected from being overwritten by the shipped presets.

Details are in the AVFX presets guide. The quick way to obtain a new combination is the preset generator, which has a guide of its own.


9. Quick reference

TaskWhere to go
Enable or disable the whole layerMain AVFX menu → Enable
Sky, stars, planets, bodiesSky & Celestials
Fog and cloudsSky & Celestials → the volumetric media
Water, puddles, reflectionsSurfaces & Water
Mold, brick, cracks, greenerySurface Materials
Grass and wildlifeSurface Materials → the matching child pages
A map's drawings and volumetric steamSurface Materials → Drawing, Surface Volumes
AVFX sound volumesLocal FX & Sound
Behaviour in matches and demosModes
State and counterscl_avfx_info
Put everything backRestore defaults