VibeBounce

Click on a voxel surface to set the simulation origin point. Rays will "bounce" from that point, reflecting off surfaces.

This simulation uses a Sparse Voxel Octree (SVO) to efficiently represent the 3D voxel world. An SVO is a tree data structure where space is recursively subdivided into eight octants (children). Empty regions of space are not subdivided further, saving memory and allowing for faster ray intersection tests compared to checking every single voxel. This makes simulating phenomena like light or sound propagation feasible in large voxel scenes.

Controls:

Vibecoded April 5th, 2025 by Trent Sterling & Gemini 2.5

Debug info...

Controls



About · More by Tront

VibeBounce by Tront

VibeBounce simulates and visualises rays bouncing through a procedurally generated voxel world. A sparse voxel octree keeps both the rendering and the collision queries fast enough to watch the propagation in real time.

Built in Three.js, one page, no install. By Tront (Trent Sterling), as part of a series of voxel and GPU experiments.

More from Tront

All games and tools · Devlog · Discord · Source on GitHub · tront.xyz