Highlights
Same as in 2D
- Double buffering pipeline to compute one step per frame in order to achieve high performance results
- Fully ran by cellular automata rules in GLSL compute shaders. No ray tracing, no tricks.
- Not tied up by the number of lights.
- All lights are being computed at once in the same simulation in the same volume, more lights won’t affect performance or memory.
Changes for 3D
- Everything 2D related was changed to their 3D counterpart (3D textures, vec3, etc.)
- Raymarching inside a rasterized box using DDA to visualize the results
- Each step samples the CAGI volume in order to determine if we hit something and gather volumetric data in the air.