Baltor Get started

Gallery / Godot shaders

Underwater caustics projected from above

In your harnessGodot shaderMIT

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.

Render of Underwater caustics projected from above
The render its check recorded in Godot 4.7.2, 256 by 256 pixels.

What it takes and gives

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/

Limits. 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.

Details

Kind
Godot shader
Engine
Godot 4.3 or later
Files
11 files, 91.9 KB
Licence
MIT
Declared effects
reads files, runs commands
Checked with
Godot 4.7.2, opengl3 compatibility (Mesa llvmpipe, Xvfb)
Checks
contract static, engine run, engine log clean, shader in scene, capture written, render not uniform, shader changes pixels
Techniques
Voronoi border web as caustic approximation, Two drifting layers combined with min and product, Normal-facing and depth attenuation, MurmurHash3 32-bit finalizer over prime-combined lattice coordinates as a hash
Tags
godot shader, spatial, caustics, underwater, voronoi, light pattern, water
Identity
library.supply.creative_originals.4665cf61c03fa4cbae4ea24f.d4c8040efd7828dc
Version
d4c8040efd7828dc3021ba19732d1ab15e0794c90388e556168308308be2f7a2

The version is the SHA-256 of the item your harness downloads; every file in it names its own checksum.

Something wrong with this item, its rights or its safety? Report it on the support page, or from your harness after a download.