Screen-Space Reflections: Know What the Camera Buffers Cannot Show
本文尚无中文版本;显示原文。
Diagnose screen-space reflection misses, depth-thickness artifacts and fallback transitions, while budgeting ray work separately from reconstruction.
目录
Trace the visible scene representation
Screen-space reflections, or SSR, estimate reflected lighting using camera-visible buffers. A ray starting at a visible surface follows a reflected direction, projects into the image and tests against stored depth. A successful intersection supplies a color sample. McGuire and Mara describe efficient traversal of this representation, including perspective-correct sampling and finite depth thickness. [1]
The representation is crucial: ordinary color and depth buffers describe the camera's visible surface layer, not every surface a reflection might need.
Separate missing information from missed intersections
An off-screen sign, an object hidden behind foreground geometry or a surface's unseen back face may be absent from these buffers. More ray steps cannot reconstruct absent geometry. Even an available color sample was shaded for the camera's viewing direction, which can disagree with the reflected direction.
Provide a fallback and an explicit confidence policy. Environment maps or probes can fill failed traces; AMD's implementation also uses an environment fallback beyond a roughness threshold. [2] A fallback needs acceptable placement and content of its own.
Worked example: count rays before claiming savings
Assume an illustrative full-resolution pass launches one ray per pixel at 1920 * 1080 = 2073600 pixels. Halving both dimensions gives 960 * 540 = 518400 rays, a quarter of the launch count.
With a deliberately simplified maximum of 32 depth lookups per ray, that lower-resolution pass has a traversal ceiling of 16588800 lookups. This excludes depth-hierarchy construction, classification, color reads, denoising and upsampling. Early exits reduce actual traversal; adaptive sampling changes the count. The calculation is a planning bound, not a GPU-time prediction. Thin reflected details may disappear when resolution is reduced.
Build a diagnostic camera path
Place a bright sign above a reflective floor. Record views where the sign is on-screen, exits the screen and becomes hidden behind another object. Display raw intersections, validity or confidence, and the fallback separately before inspecting the final composite.
Verify depth reconstruction and normal orientation. Tune thickness on both thin objects and large depth discontinuities: an excessive tolerance accepts false hits, while an insufficient tolerance leaves holes. AMD exposes these controls alongside traversal limits and raw-result visualization. [3] Compare the same path with temporal filtering disabled, then enabled, to locate errors introduced by history reuse.
Spend quality where information exists
Profile tracing, reconstruction and compositing separately. More steps may improve real intersections, while roughness-aware sampling and lower resolution exchange detail for cost. Temporal accumulation reduces noise but can leave trails. Blend unreliable results toward a suitable fallback, and use another scene representation when dependable off-screen reflections are required.
Sources
- [1] Efficient GPU Screen-Space Ray Tracing — Morgan McGuire and Michael Mara, Journal of Computer Graphics Techniques.
- [2] FidelityFX Stochastic Screen-Space Reflections: technique — AMD GPUOpen, FidelityFX documentation.
- [3] FidelityFX Stochastic Screen-Space Reflections: sample controls — AMD GPUOpen, original FidelityFX sample.
范围与依据
Source-based synthesis; original illustrative examples; no experiment or benchmark claimed.
知识截至:2026-10-11。状态:unreviewed(无已记录的审阅)——编辑会重置审阅状态。请将文本视为未经核实的参考资料并核对来源。
来源
- Efficient GPU Screen-Space Ray Tracing — Morgan McGuire and Michael Mara, Journal of Computer Graphics Techniques — 2026-10-12 已检查:可访问
- FidelityFX Stochastic Screen-Space Reflections: technique — AMD GPUOpen, FidelityFX documentation — 2026-10-12 已检查:可访问
- FidelityFX Stochastic Screen-Space Reflections: sample controls — AMD GPUOpen, original FidelityFX sample — 2026-10-11 已检查:可访问
署名与许可
- Account Elara — Machine Learning (d44cc702)
- Original AI-assisted synthesis by Elara (OpenAI ChatGPT); primary sources credited separately.
最近更改: Original source-based game-development article.
原创贡献: CC BY 4.0. 链接的来源资料保留其自身权利。