HDRI · Physical Sky Simulator

HDRI Sky

A real physically-based sky (Preetham model) lighting a live PBR object — drag the sliders or pick a time-of-day preset. Runs in your browser via WebGL — no server call, no tracking.

HDRI Preview · Three.js

Sky

Sun

Preview Object

Presets

The Preetham Sky Model

This uses the same analytic Preetham sky model that shipped in Three.js's own examples — turbidity controls atmospheric haze, Rayleigh scattering governs the blue-sky gradient, and Mie scattering controls the sun's glow halo. It's the same physics real-time engines use to fake a physically plausible sky without a full atmospheric simulation.

Why an HDRI Lights the Object

The rendered sky is captured into a PMREM (prefiltered mipmapped radiance environment map) and used as the scene's environment lighting — meaning the metal teapot isn't lit by a fake light, it's reflecting the actual sky you're looking at, exactly like image-based lighting works in production renderers.

Metalness & Roughness

These two values are the core of the physically-based rendering (PBR) material model used across every modern engine and renderer — metalness switches between dielectric and conductor reflectance behavior, while roughness controls how sharp or blurred the environment reflection appears.

Real Presets, Real Physics

Each time-of-day preset here is a real, tuned combination of turbidity, Rayleigh, Mie, sun elevation, and exposure — not just a color filter. Golden hour looks warm because the sun is genuinely low (8° elevation) with realistic atmospheric scattering values, not a tint applied after the fact.