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.
Grid Resolution
: Changes the detail level of the world (requires Regeneration).Noise Density
: Adjusts the complexity of the generated world (requires Regeneration).Rays per Blast
: Number of rays emitted each pulse.Max Bounces
: How many times a ray can reflect.Max Ray Distance
: How far a ray travels before stopping.Blast Interval
: Time between ray emission pulses (ms).Line Fade Time
: How long ray visuals last (ms).Line Max Opacity
: Starting visibility of new rays.Neighbor Opacity
: Visibility of neighbor voxels when origin is set.Apply & Regenerate World
: Button to apply resolution/density changes.Vibecoded April 5th, 2025 by Trent Sterling & Gemini 2.5