Make a mirror feel like water.
A reflection can blur in the graph itself. This lab combines a depth-capable ReflectorNode, explicit TextureNode.sample() reads, and the official hash-blur addon so the mask, noise, repeat budget, and transparent composite remain inspectable.
Preparing the depth-masked reflection graph and animated stage.
- backend
- —
- graph
- —
- roughness
- —
- radius
- —
- repeats
- —
- depth
- —
The reflection graph will be compiled after the renderer is ready.
ReflectorNode + depth
hashBlur()
TextureNode.sample()
depth-masked alpha
MeshStandardNodeMaterial
direct matte floor
Hash blur trades clean convolution for randomized texture taps; more repeats reduce noise while increasing graph work.
WebGPU executes the depth-masked reflector and hash-blur graph. The forced WebGL2 route preserves the actor field and lifecycle but does not execute ReflectorNode or TSL.
Derived from the official Blurred Reflection example, ReflectorNode, TextureNode, and the hashBlur addon. Use ?forceWebGL=1 to inspect the explicit fallback.
The renderer could not create the study.