TBack to Home
Real-Time Rendering & Optics•12 min read•Oct 2026

Implementing Screen-Space Reflections (SSR) in Web Rendering Engines

Generating dynamic Glossy and Mirror reflections on metallic and wet surfaces using screen-space ray marching over G-Buffer depth channels.

Cube maps produce static reflections that fail to react to dynamic scene objects. Screen-Space Reflections (SSR) evaluate ray-marching intersections directly against viewport depth buffers, yielding accurate local reflections.

1. View-Space Ray Marching over Depth Buffers

Fragment shaders reflect view-vectors across surface normals, stepping ray positions incrementally through screen-space camera depth textures to detect surface intersection points.

2. Hi-Z (Hierarchical Z-Buffer) Ray Acceleration

Standard linear ray marching suffers from performance drops at steep angles. Utilizing Hierarchical Z-Buffer (Hi-Z) depth pyramids allows reflection rays to skip empty screen space, dramatically accelerating intersection searches.

3. Roughness Fading & Screen Edge Falloff

Blending reflections toward screen edges and attenuating intensity based on surface roughness maps eliminates abrupt edge clipping artifacts, producing convincing physically-based specular materials.