THREE.JS / FOUNDATIONS 111

A shadow is a function.

Keep Three.js's native Basic, PCF, or VSM sampler, then wrap its result in a custom ShadowNode. The strength and bias controls stay uniform-driven, so the graph can change without rebuilding the material.

Initializing Preparing renderer

Preparing the shadow filter contract…

Filter contractreload for compile-time paths
Runtime contract—
backend
—
filter
—
maps
—
custom nodes
—
filter calls
—
bias source
—
compile
—
draw calls
—

The custom node is ready to wrap the native filter.

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

Review tiled shadow ownership
LAB 111 / SHADOW FILTER NODE