This is a demo showcasing a way to add cool Caustics effects to your Godot project. This branch will be only supported for 4.3+ Godot. It may work in 4.2 but is not supported.
The original shader code was written by Alex Ameye (@alexanderameye). The original article can be found here: Rendering realtime caustics. I merely take credit for the porting of his shader to GLSL and Godot.
- Bounding Box Mask (caustics only visible inside the box)
- Caustics Mapping over World UV
- changes with light direction
- Scaling and movement/panning
- Multiple overlaped caustics textures
- Chromatic aberration
- Luminance fade
- Edge fade
- "Underwater camera" -> caustics are being shown when camera is inside the caustics volume