This Three.js demo is a rapid prototype of "VibeVoxelProbes", a dynamic, voxel-based global illumination approximation, "vibecoded" by Trent "Tront" Sterling and AI assistant (Gemini 2.5 Pro Preview 05-06). It serves as a conceptual testbed for a high-performance lighting system intended for Unity, particularly for VR and other performance-constrained platforms.
Core Concept: "Light Probes on Crack"
The system aims to replace expensive traditional real-time dynamic lighting (per-pixel or per-vertex) with a more performant and scalable solution. It works by baking lighting information (dominant direction, color, and directional coherence/spread) from multiple dynamic light sources into a relatively low-resolution 3D voxel grid. Meshes in the scene then sample this single 3D data structure (conceptually a 3D texture) to determine their lighting. This trades some VRAM (for the voxel data) for significantly increased rendering speed, as the cost per mesh becomes a fixed lookup rather than iterating through many lights.
This prototype focuses on a single dominant light direction (blended weighted average from point lights + a global ambient directional base), an accumulated light color, and a calculated "directional coherence" (spread factor) per voxel. Probe spheres use a Half-Lambert diffuse model (blended with an omni-directional term based on coherence) for soft falloff, combined with a Blinn-Phong specular component for highlights.
Features Demonstrated:This collaborative prototype helps visualize and refine "VibeVoxelProbes" concepts before full-scale Unity development.
Learn more about "Vibecoding" at Tront's Blog.