THREE.JS / FOUNDATIONS 126

Filter the light.

A raw dynamic cube is a capture. A PMREM is a roughness-aware lighting representation. Compare the source, the prefilter path, and the material response without hiding the generated target.

Initializing -

Creating a raw cube capture and PMREM comparison.

backend
-
raw target
-
pmrem target
-
active map
-
mapping
-
Environment pipelinecapture → filter → shade
Raw capturewaiting
size
-
faces
6
mipmaps
-
filter
-

CubeCamera writes the raw source before any PMREM processing.

PMREM outputnot generated
class
-
size
-
mapping
-
textures
-

PMREM stores filtered radiance in a CubeUV layout with extra roughness levels.

mirrorroughness 0.05

Sharp highlights expose capture direction and source detail.

material
-
map
-
satinroughness 0.25

Moderate roughness is where PMREM filtering becomes visible.

material
-
map
-
matteroughness 0.55

Broad lobes need prefiltered radiance rather than a single sharp sample.

material
-
map
-
diffuseroughness 0.90

High roughness approximates the broadest PMREM levels.

material
-
map
-
Generation and render timingwaiting
capture faces
-
PMREM ms
-
CPU frames
-
CPU avg
-
CPU p95
-
memory textures
-

PMREM generation is a target-producing operation; dispose old output before rebuilding to avoid retaining GPU resources.

CubeCamera → raw CubeTexture → raw sampling OR PMREMGenerator → CubeUV roughness levels → PBR materials

Raw cube mipmaps are ordinary texture levels. PMREM adds GGX-aware filtered levels for physically based image-based lighting; switching the pipeline changes the sampled representation, not the captured scene.

Compare texture color and sampler policy next →

LAB 126 / ENVIRONMENT FILTERING + PMREM