THREE.JS / FOUNDATIONS 139

Make irradiance move.

Capture eight corner probes once, then sample their nine SH coefficients as a target moves through the volume. Fixed, nearest, and trilinear policies make spatial irradiance visible without depending on the WebGL-only LightProbeGrid.

Initializing -

Preparing eight corner captures and one active LightProbe.

sampler
-
target
-
cell
-
active mode
-
probes
-
graph builds
-
capture faces
-
bake ms
-
draws
-
triangles
-
CPU avg
-
CPU p95
-
Sampling policyready

Sampling updates one active LightProbe; changing sampler or lighting model waits for an explicit context rebuild.

Spatial irradiance graphwaiting
8 captured SH fields->sampler->active LightProbe->LightProbeNode

The active probe has not been populated yet.

Field ownershipwaiting

Eight cube captures, eight SH fields, and one active probe are tracked separately.

Capture scene-
Cube targets-
SH fields-
Active LightProbe-
Capture resolution-
Sampling and bake timingwaiting
bake faces
-
bake ms
-
SH updates
-
frames
-
CPU avg
-
CPU p95
-

Bake the field before comparing sampler cost and visual continuity.

Official LightProbeGrid provides position-dependent diffuse GI but currently requires WebGLRenderer. This route keeps the capture and SH interpolation layer explicit so the same active LightProbeNode path can run through WebGPU and forced WebGL2. Use ?forceWebGL=1 for the WebGL2 backend.

Compare the WebGL LightProbeGrid addon ->
LAB 139 / SPATIAL PROBE FIELD