THREE.JS / FOUNDATIONS 116

Soft shadows, without patching chunks.

Move the PCSS idea into the modern NodeMaterial pipeline. The custom filter is attached through LightShadow.filterNode, so TSL owns the blocker search and receiver taps while Three.js owns shadow coordinates, targets, and backend code generation.

Initializing Preparing renderer

Preparing the TSL shadow filter graph…

Node filter contractreload for graph shape
Runtime contract—
backend
—
requested
—
active filter
—
hook
—
shadow map
—
loop samples
—
light size
—
bias / radius
—
shadow target
—
graph builds
—
draw calls
—
compile
—

The TSL filter graph will be built after the renderer initializes.

Drag to orbit · scroll to dolly · press R to reset

Return to the complete lab catalog
LAB 116 / TSL SHADOW FILTER