Active wave spectrum — the OceanFeature reads this to drive the anim-waves compute pass each frame.
Active ocean rest-plane Y — the CPU surface sampler reads this.
StaticcreateSet the dynamic-sim region the surface shader should
sample. simSize <= 0 disables the sample.
Set the FFT-spectrum sim's tile size + strength. The
vertex shader samples in world XZ / tileSize (with wrap addressing)
and adds the result to the surface height. strength <= 0 disables
the sample.
Secondary FFT layer params (different tile/wind to break up the visible repeat).
Analytical seafloor Y (constant, world units). The fragment shader combines this with the rendered scene depth so depth fog reaches true deep-water blue out at the horizon even when no terrain is below the ocean.
Toggle the wireframe overlay over the surface — shows the LOD chunk tessellation (grid + diagonals) so you can see how the Interior + Rings + CDLOD morph fit together.
Configure shallow-water wave attenuation around a circular shoal
(e.g. an island). Waves shrink to flat toward the shore: the water
depth at world distance d from (centerX, centerZ) is approximated
as max(d − shoreRadius, 0) · depthSlope, and the wave displacement
scales with smoothstep of that depth. Pass depthSlope <= 0 (the
default) to disable. This is a single-shoal analytical approximation;
a general seabed would sample a top-down depth cache instead.
Wire a reflection-probe cube view into the surface fragment's
reflection sample. Pass null to fall back to the sky panorama.
The view must have dimension: 'cube' — the caller is responsible
for slicing a cube-array down to a single cube before passing it
in.
Per-frame ocean state. Layout matches OceanUniforms in
ocean_surface.wgsl. The OceanLodTransform drives per-chunk
scale/center so the cascade tiles match the wave-buffer slices.
Insert the pass into graph for one frame. Implementations call
graph.addPass(name, type, b => { ... }) exactly once and use the
supplied PassBuilder to declare reads, writes, transient
resources, and the execute callback.
Graph being built this frame.
Pass-specific dependency record (handles, scene data, etc.).
Pass-specific output record (typically a set of handles downstream passes will consume).
Release every long-lived GPU resource owned by the pass (pipelines, persistent uniform buffers, samplers, BGLs). Called by the factory or application during teardown. Default implementation is a no-op.
Human-readable identifier used in graph node labels and error messages.