Ripple Interference

Two point sources generate circular ripples on a water surface, and where the waves overlap they add (constructive interference, bright crests) or cancel (destructive interference, dark troughs) exactly as predicted by the principle of superposition. Each vertex's height is the sum of two damped circular wave functions amp·sin(k·dist − ω·t)/(1+dist·falloff) evaluated per-source in a GLSL vertex shader, with normals derived via finite differences for lighting and a Fresnel rim term in the fragment shader.

Grid resolution200×200 Wave sources2 Render techniqueCustom GLSL vertex/fragment shader ModelSuperposed circular wave equation Amplitude0.35