Screen-space reflections (SSR)

A cheap reflection made from pixels already on screen, great for wet floors but prone to gaps and disappearing edges.

reflections only for visible thingscheap puddle reflectionsmirror that breaks at the screen edgereflections disappear off camerashiny floor screen trickwhy do reflections vanish when I tilt the camerassr reflectionsscreen space reflecions

See it

Live demo coming soon

What it is

Screen-space reflections reuse the rendered color and depth buffers to search for reflected pixels already visible in the frame. A ray marches across the depth image until it appears to hit another surface, then copies that surface's color into the reflection. It is much cheaper than tracing the complete 3D scene.

Reach for SSR on wet streets, polished floors, glossy tables, and other broad surfaces where approximate moving reflections add useful life. Games often combine it with a cubemap or reflection probe that fills the places SSR cannot see; Unreal Engine's default reflection setup works exactly that way.

Gotcha: the method only knows what is on screen. An object outside the frame, behind the camera, or hidden behind another object cannot appear in the reflection. Rays also fall off at screen edges and leave holes around disoccluded areas, so blur and fallback reflections hide more than they solve.

Ask AI for it

Add screen-space reflections to this three.js scene with EffectComposer. Place SSRPass after RenderPass, provide the same scene and camera, and limit its selects list to the wet floor and polished table. Tune thickness and maxDistance to catch nearby reflected geometry without long false streaks, keep blur enabled, and use an environment map as the fallback wherever reflected objects leave the screen.

You might have meant

depth buffer z bufferenvironment mappbrpost processing render passtone mapping