THREE.JS / FOUNDATIONS 137

Where indirect light comes from.

Keep one PBR surface, then trace environment radiance, probe irradiance, and baked light-map irradiance through the lighting context. The custom models make the native physical split visible instead of treating IBL as one opaque texture.

Initializing -

Preparing a generated PMREM, diffuse LightProbe, and light-map context.

Material
-
Lighting model
-
Indirect context
-
Source contract
-
Lights list
-
Graph builds
-
Draw calls
-
Triangles
-
CPU avg
-
CPU p95
-
Texture memory
-
Context cache
-
Context contractready

Gain and AO controls update uniforms; model and source ownership changes wait for an explicit rebuild.

Lighting contextphysical IBL
EnvironmentNode+LightProbeNode+IrradianceNode->LightingContextNode->PhysicalLightingModel

Native PBR reads irradiance for diffuse response and radiance/IBL irradiance for roughness-aware specular response.

Derived resourceswaiting

The source panorama, cube capture, PMREM, LightProbe, and lightmap have not been created yet.

Source panorama-
Cube capture-
PMREM radiance-
Diffuse probe-
Baked lightmap-

Official context split: EnvironmentNode adds radiance and iblIrradiance; probes and light maps add irradiance. The custom IBL model is intentionally a context study, not a replacement for the full physical BRDF. Use ?forceWebGL=1 for WebGL2.

Review NodeMaterial environment ownership ->
LAB 137 / CUSTOM IBL CONTEXTS