The seabed shader applies per-channel Beer-Lambert transmittance relative
to a 24 m reference depth: the scalar part dims the directional light in a
custom light() function and the sky ambient through AO, the chroma part
tints the albedo, and artificial lights are left untouched for the
submarine's projectors. Sky, fog and sun are cooled and the sun softened
so the plateau reads green-blue, the canyon floor cold blue and the
drop-off foot near-indigo.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The environment declared the sky as its ambient source without a sky, so
shadowed faces received no ambient light. A procedural underwater sky now
feeds ambient and reflections; the directional light is steeper and
stronger with 70 % soft shadows; SSAO, filmic tonemapping, aerial
perspective and tinted volumetric fog complete the pass.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Rock is normal-mapped triplanar in world space at two scales, sand carries an
oriented ripple normal map on the xz plane, and a grain map drives detail
occlusion, albedo mottling and roughness. The three maps are seamless,
seeded, mipmapped textures built synchronously by SeabedDetailTextures, so
no asset is needed and builds are deterministic. The mesh has no tangents:
perturbed normals are computed in world space and written to NORMAL.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Strata now take a world rectangle, so the 4 m ledges cover the whole break
and talus south of z = 118 m without touching la Saignée or the landmarks.
Roughness gains octave and fractal-type parameters; a SlopeRoughness
modifier roughens rock faces only. Both sites are re-baked with hummocks
from 250 m down to 5 m. The secondary item, the first debris piece and one
safe-route waypoint move a few metres to keep their contracts.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>