Not limited to visible pixels.
World-space rays cross a bounded scene cache. Camera movement does not require rebuilding static geometry.
Reflections from the scene, not its screenshot.
A directional voxel cache keeps hidden and
off-screen surfaces in the picture.
World-space rays cross a bounded scene cache. Camera movement does not require rebuilding static geometry.
Smooth materials use voxel DDA. Rough materials gather directionally filtered mip levels with front-to-back opacity.
Finite resolution, single reflected transport, and explicit scene updates. Glossy-of-glossy and glass transport are outside this release.
Bring your own render loop. Bind node materials or compose the raw reflection nodes into a custom TSL graph.
Read the complete guide ↗Release candidate. Read the validation report for native WebGPU and WebGL2 results, device details, and remaining limits.
const reflections = new VoxelReflections({
staticVolume: { resolution: 64, bounds },
maxDistance: 40
});
reflections.bind(mirror.material);
// After a geometry or material change:
reflections.invalidateGeometry();
// Inside your render loop:
reflections.update(renderer, scene);
renderer.render(scene, camera);