Environment map (often HDR)

A 360 photo wrapped around the scene that both lights everything and shows up in the reflections. One image, instant believable lighting.

hdrithe photo that lights the scenethe reflection sky imageimage based lightingiblenvmap360 photo lightinghow do I light a 3D scene without adding lights

See it

Live demo coming soon

What it is

An environment map is a 360 degree image (equirectangular, or six cubemap faces) that surrounds the scene. The renderer samples it in every direction, so it does two jobs at once: it lights everything, and it is what shows up in the reflections. The HDR part matters: the file stores brightness values far above 1.0, so the window or softbox captured in the photo keeps its real directional radiance instead of clipping to dull grey. Note the environment is treated as infinitely far away: it has direction but no position, so there is no distance falloff and sliding an object sideways does not change how the sky lights it. The technique's proper name is image-based lighting. Free HDRIs from Poly Haven are the default starting point.

Reach for it first, before placing any lights. A studio HDRI gives you packshot lighting in one line. PBR metals are essentially nothing but reflections, so a metal with no environment and no direct light landing on it renders nearly black. Rotate the environment to move a highlight exactly where you want it. You can show it as the background or hide it and keep only its lighting contribution.

Gotchas: a 4K HDR file is heavy (tens of megabytes), and you rarely need that resolution since the diffuse contribution gets blurred to mush anyway, so ship a small compressed version and reserve resolution for sharp mirror reflections. And an HDR without tone mapping blows out to flat white, so pair it with ACES or filmic tone mapping. Aesthetically, leaving a photographic environment visible as your background is the fastest way to make a scene look like a default template.

Ask AI for it

Light this three.js scene with image-based lighting instead of manual lights: load a studio HDRI as an equirectangular environment map, run it through PMREMGenerator, and assign it to scene.environment so every PBR material picks it up. Keep scene.background as a plain dark neutral color rather than showing the HDRI. Set environmentIntensity around 1.0, rotate the environment so the key highlight falls on the upper left of the subject, and enable ACES filmic tone mapping so the highlights roll off instead of clipping to white. Use a compressed 1K HDR to keep the download small.

You might have meant

pbrtone mappingskyboxcubemap reflection probematerial

Go deeper