GI: remove reflection probes entirely under ray-traced GI (disable the probe feature class in Graphics; mirror probes only as a quality hint) #968

Open
opened 2026-10-23 08:58:13 +00:00 by sky_line · 0 comments
Owner

Part of #87 (ray-traced GI).

Decision (owner)

With ray-traced GI on, reflection probes go away as a feature class: the probe controls are disabled in the graphics panel and the probe work is turned off, to save GPU time and VRAM. The only thing kept: mirror probes are used as a hint that a surface should get higher-resolution / higher-quality reflections than other reflective surfaces (e.g. a full-rate, lower-roughness-cutoff RT reflection for surfaces inside a mirror probe's volume).

What probes do today, and their replacement under GI

Probe job Replacement
Diffuse ambient (irradiance) GI (already) -- stop sampling probes for diffuse when GI is on
Glossy / mirror reflections RT reflections (already, up to a roughness cutoff)
Rough specular above the RT cutoff Sample GI's world-space radiance cache (RenderVKGICache) along the reflection direction, or stochastic RT reflections for all roughness + denoiser -- measure both
GI / reflection ray misses (RenderVKGIMissProbes) A sky-only environment map (sky, no scene; recaptured only when the sky changes)
Forward-shaded surfaces (transparents, water, hair) Radiance cache lookup, or a ray query in the forward shader for glossy cases
Specular occlusion GI's own term (RenderVKGISpecOcclusion)
Mirror probes Kept only as a reflection-quality hint (see above), not captured

Non-GI / non-RT cards keep probes exactly as today (separate whole-path mode, nothing probe-related resident under GI).

Wanted

  1. Graphics panel: with GI on, the probe controls (reflection detail / coverage / probe count / resolution / realtime captures, etc.) are disabled with a tooltip ("replaced by ray-traced lighting"); the settings themselves are not changed, so turning GI off restores them.
  2. Runtime: with GI on, no scene probe captures, no probe arrays / cluster buffers allocated (free them on the switch; re-create when GI goes off), no probe sampling in any shader path; the sky-only env map replaces probe misses.
  3. Replacements for rough specular and forward surfaces as above.
  4. Mirror-probe hint: surfaces inside a mirror probe's volume get the high-quality reflection path.
  5. Measure (GPU timers + VRAM) and compare image quality vs probes in the club, an interior, and outdoors before making it the GI default.

Test

  • GI on: no pr_* probe timers, probe VRAM freed, reflections and ambient still correct in the reference scenes; mirror-probe surfaces visibly sharper.
  • GI off: probes come back as before.
  • Switching GI on/off live is validation-clean (no re-creation mid-recording).
Part of #87 (ray-traced GI). ## Decision (owner) With ray-traced GI on, reflection probes go away as a feature class: the probe controls are disabled in the graphics panel and the probe work is turned off, to save GPU time and VRAM. **The only thing kept:** mirror probes are used as a **hint** that a surface should get higher-resolution / higher-quality reflections than other reflective surfaces (e.g. a full-rate, lower-roughness-cutoff RT reflection for surfaces inside a mirror probe's volume). ## What probes do today, and their replacement under GI | Probe job | Replacement | |---|---| | Diffuse ambient (irradiance) | GI (already) -- stop sampling probes for diffuse when GI is on | | Glossy / mirror reflections | RT reflections (already, up to a roughness cutoff) | | Rough specular above the RT cutoff | Sample GI's world-space radiance cache (`RenderVKGICache`) along the reflection direction, or stochastic RT reflections for all roughness + denoiser -- measure both | | GI / reflection ray misses (`RenderVKGIMissProbes`) | A **sky-only** environment map (sky, no scene; recaptured only when the sky changes) | | Forward-shaded surfaces (transparents, water, hair) | Radiance cache lookup, or a ray query in the forward shader for glossy cases | | Specular occlusion | GI's own term (`RenderVKGISpecOcclusion`) | | Mirror probes | Kept only as a reflection-quality hint (see above), not captured | Non-GI / non-RT cards keep probes exactly as today (separate whole-path mode, nothing probe-related resident under GI). ## Wanted 1. **Graphics panel:** with GI on, the probe controls (reflection detail / coverage / probe count / resolution / realtime captures, etc.) are disabled with a tooltip ("replaced by ray-traced lighting"); the settings themselves are not changed, so turning GI off restores them. 2. **Runtime:** with GI on, no scene probe captures, no probe arrays / cluster buffers allocated (free them on the switch; re-create when GI goes off), no probe sampling in any shader path; the sky-only env map replaces probe misses. 3. **Replacements** for rough specular and forward surfaces as above. 4. **Mirror-probe hint:** surfaces inside a mirror probe's volume get the high-quality reflection path. 5. **Measure** (GPU timers + VRAM) and compare image quality vs probes in the club, an interior, and outdoors before making it the GI default. ## Test - GI on: no `pr_*` probe timers, probe VRAM freed, reflections and ambient still correct in the reference scenes; mirror-probe surfaces visibly sharper. - GI off: probes come back as before. - Switching GI on/off live is validation-clean (no re-creation mid-recording).
sky_line added this to the Slipstream project 2026-10-23 08:58:13 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#968
No description provided.