Three.js · WebGL2 · GLSL

Ultra-Realistic Water

Eight deep-water Gerstner waves shaded per pixel from their analytic derivatives, so the sun’s glitter stays sharp on a mesh that thins to 30 m triangles at the horizon. Each wave fades out once it is shorter than the pixel it lands on.

Switch the footprint fade off and the far sea boils into moiré. Drop to per-vertex normals and the glitter path smears across the mesh facets.

Every wave fades at its own pixel footprint.

Normals
1.00×
Camera
1 / 7

Drag to orbit · scroll to zoom