THREE.JS / WEBGL GPGPU

The surface remembers every disturbance.

A ping-pong heightmap stores the current and previous water levels. A GLSL compute pass updates the wave, a displaced water mesh samples it, and a 4×1 RGBA8 readback supplies height and normal data to twelve floating duck proxies.

InitializingWEBGL2 / GPUCOMPUTATIONRENDERER

Preparing heightmap, water mesh, and readback target.

compute
—
resolution
—
water mesh
—
readback
—
agents
—
simulation
—
sample avg / p95
—
backend
WebGL2

Derived from the pinned classic GPGPU water example. This route uses deterministic local water and stylized duck proxies in place of the official HDR/DRACO/GLTF assets; the exact SunLight/asset/presentation pixels, broad device/compiler/performance matrix, context-loss/leak stress, and whole-example fidelity remain separate.