FFTWater is a WebGPU reference ocean renderer built around four physically
normalized 256² JONSWAP/TMA FFT cascades. The default reference look uses a
linear HDR scene, planar ship reflection/shadows, depth-aware refraction,
spectral foam, local ship interaction, and whole-scene TAA.
Run it with:
go run .Useful controls are Tab for debug views, F for off / TAA / TAA+4x,
R for reflection quality, and Q for ship shadows. Right-drag looks around;
WASD, Space, Ctrl, and the mouse wheel move the camera.
Deterministic visual captures use these environment variables:
$env:FFTWATER_FIXED_TIME = '63.67'
$env:FFTWATER_SEED = '0x5812A1'
$env:FFTWATER_CAPTURE_PRESET = 'overhead' # overhead, gameplay, horizon,
# close-wake, shoreline, underwater
$env:FFTWATER_CAPTURE_DIR = "$env:TEMP\fftwater-captures"
go run .FFTWATER_SCENE=open|island selects the fleet or procedural shoreline scene.
FFTWATER_CAMERA=x,y,z,yaw,pitch overrides a capture camera. The reference
preset defaults to TAA, full-resolution ship reflections, and ship shadows;
use FFTWATER_AA=off, FFTWATER_SHIP_REFLECTIONS=off, or
FFTWATER_SHIP_SHADOWS=off for diagnostics.