โ† All examples

godot shaders

Underwater caustics projected from above

Animated caustic light network on any surface that faces up: two drifting Voronoi layers combine into bright web lines that brighten the albedo, with depth falloff and a blue-green tint.

Recorded render of Underwater caustics projected from above

What this component contains

  • ATTRIBUTION.md
  • LICENSE
  • README.md
  • component.json
  • demo.tscn
  • inspect_shader.py
  • material.tres
  • preview.png
  • test_package.py
  • underwater_caustics.gdshader
  • verification/native.json

How it works

Shader type
spatial
Parameters
albedo (vec4 = 0.75, 0.7, 0.55, 1), caustic_color (vec4 = 0.65, 1, 0.95, 1), caustic_scale (float = 1.6), caustic_strength (float = 1.4), sharpness (float = 5), drift_speed (float = 0.25), water_surface_height (float = 2), depth_falloff (float = 0.25) and 1 more
Result
Sand-coloured floor and objects covered by a shifting web of bright cyan light lines on their tops.
Renderers
compatibility: compiled and rendered, forward plus: not verified, mobile: not verified
Placement
res://baltor/godot_shaders/underwater_caustics/

Recorded checks

godot 4.7.2.stable.official.ed1daf0bf

  • contract_static
  • engine_run
  • engine_log_clean
  • shader_in_scene
  • capture_written
  • render_not_uniform
  • shader_changes_pixels

Limits to consider

A pattern, not light transport: it ignores the real water surface and shadows from objects above. Projected straight down in world space, so vertical walls get none. Emission makes caustics visible even in shade.