- model
- -
- material
- -
- scale
- -
- sun vector
- -
- sun disc
- -
- clouds
- -
Sky/SkyMesh renders an analytic skydome; it is not scene.environment by itself.
A procedural sky is a backdrop mesh, not automatically an image-based light. Tune the analytic atmosphere, capture it as a cubemap, and compare the derived PMREM with direct sun lighting and explicit material ownership.
Creating the backend-specific Sky/SkyMesh, capture target, and lighting contracts.
Sky/SkyMesh renders an analytic skydome; it is not scene.environment by itself.
The cube camera captures the sky with the sample objects hidden; hiding the solar disc avoids PMREM hot pixels.
PMREM stores roughness-aware radiance; choose Scene.environment or material.envMap to consume it.
The skydome remains visible while the physical object receives no derived environment.
Physical materials inherit the filtered sky map unless they own an explicit envMap.
The object owns the filtered sky map and bypasses Scene.environment ownership.
Analytic sky appearance and direct illumination are separate contracts.
Use PMREM for image-based fill and a directional light for a crisp key.
Rebuild the PMREM, choose a lighting contract, then sample post-conversion shading.
The visible Sky/SkyMesh can be tuned continuously, but changing the atmosphere does not change the already-baked PMREM until capture + rebuild runs again. The capture policy demonstrates why a solar disc is usually hidden during environment-map generation.
Sources: Sky · Scene · PMREMGenerator · GroundedSkybox · official WebGPU Sky example · official WebGL Sky example