THREE.JS / MATERIAL CONTRACT

Light without scene lights.

A procedural comparison makes MeshMatcapMaterial observable: the matcap texture supplies view-space shading, material color and exposure remain live, an optional tangent-space normal map changes the lobe, and replacement invalidates the material shader state.

ReadyWEBGL2 / MATCAP
Preparing the view-space lobe.
material
—
lobe / exposure
—
normal map
—
material version
—
sample avg / p95
—

This is a procedural matcap contract, not the official gallery model/EXR asset or pixel composition. Drag-and-drop image/EXR replacement, external asset loading, device performance, backend parity, and whole-example fidelity remain separate boundaries.

Sources: MeshMatcapMaterial docs · official matcap example