
What this component contains
ATTRIBUTION.mdLICENSEREADME.mdblender_material.pycomponent.jsonmaterial.trespngio.pypreview.pngtest_package.pytexkit.pyverification/native.jsonwater_caustics.py
How it works
- Entry point
- generate
- Maps
- albedo, normal, roughness, height, ao, emissive
- Parameters
- wave_cells, focus, ripples, light, floor, tiles_across, hue_shift, saturation and 1 more
- Presets
- default, sandy_shallows, deep_reef, light_cookie
- Tileable
- yes
- Command line
- python water_caustics.py --size 1024 --seed 7 --preset NAME --out DIR [--width W --height H] [--set NAME=VALUE] [--directx-normal] [--orm]
- Godot material
- material.tres
- Blender builder
- blender_material.build_material(folder)
Recorded checks
godot 4.7.2.stable.official.ed1daf0bf
command_line_generates_declared_mapsmaps_decodemaps_have_declared_size_and_channelsmaps_tile_without_a_seamnormal_vectors_unit_length_facing_outmaps_carry_detailgodot_imports_the_mapsgodot_material_template_loads_every_mapgodot_compatibility_rendercapture_shows_the_textured_surfaceblender_builds_the_material
Limits to consider
One still frame, not an animation. Refraction uses the paraxial approximation (ray offset proportional to the surface slope), light falls straight down and there is no dispersion, absorption or depth-dependent blur, so it is an approximation of real caustics rather than a light transport simulation. Brightness comes from four rays per output pixel and a light smoothing filter, so the finest lines are about a pixel wide at any size. The floor types are simple; the emissive map holds colour only, so the engine sets the emission strength.