
Lab notes
This experiment is about letting the world light the subject. No key-light rig fighting the mood—an HDR environment map feeds both the background and the material reflections, so leather, goggles, and polished wood pick up the same cabin and snow that sit behind the glass.
The flight helmet is the stress test: hard highlights on metal fittings, soft falloff on leather, refraction-adjacent glints in the lenses. If the env map is wrong, you feel it immediately. If it is right, the model stops looking pasted onto a photo and starts occupying the room.
Environment as the light source
In Three.js, an environment map is more than a backdrop. When you assign it to `scene.environment`, PBR materials sample it for indirect specular—and often diffuse—lighting. The helmet’s sheen is not a local point light trick; it is the panorama folded into the BRDF.
Separating `scene.background` from `scene.environment` lets you show one version of the room while lighting with another intensity or blur. That split is how you keep the composition readable without frying the metal trim.
Live knobs: intensity, blur, rotation
Environment intensity scales how hard the map pushes into the materials. Background intensity and blurriness control what the viewer sees behind the model—sharp snow through the window, or a softer plate that does not compete with the subject.
Rotation (environment and background) is composition, not a gimmick. Turning the map lines up a bright window with the helmet’s cheek, or tucks a hot specular into the goggles. The control panel in the demo exists so those choices stay editable instead of buried in constants.
Casting and reading light on real materials
Leather wants roughness variation; glass and metal want crisp env samples. The stand’s wood base grounds the piece with warmer, duller reflections so the helmet does not float. Together they show why one HDR has to serve multiple material personalities at once.
Live rendering here means the feedback loop is the product: drag a slider, watch the cast of light move across the hose and plaque, decide whether the scene still feels like winter daylight or a studio softbox.
Why a single hero model
A dense cabin set would hide bad env tuning. One hero asset with honest materials makes every lighting mistake obvious—and every good setting legible. That discipline carries into client work: prove the light on one object before you dress the whole room.
Open the live build, rotate the view, then nudge environment intensity and rotation. The cabin should feel like it is lighting the helmet—not the other way around.
Static hosting, full GPU path
Like the other lab pieces, this ships on GitHub Pages: model, HDR, GUI, canvas. No server-side rendering of light—just WebGL doing what it does best when you feed it a good environment.
If the reflections track the window and the snow as you orbit, the experiment did its job: environment maps as live light, not wallpaper.