Breaking Waves in Shoreline Water at Real-Time

(May 2016)

For my honours project I looked into how breaking waves could be incorporated into shoreline water simulations at real-time for use in games. Click here to read the full dissertation.

The simulation uses the 1D shallow-water equations to model the flow of water across a sloping sea bed. Waves are propagated into the simulation, naturally steepening as they approach the shoreline where the depth of the water reduces to zero. By using the shallow-water equations water is able to flow up onto the beach, causing the shoreline to advance and recede.

Shallow-Water Equations

When a wave becomes steep enough that it would break, a wave mesh is created at the peak of the wave by spawning particles forward from its peak. These meshes can only extend so far until the wave is closer to the shoreline.

generating Wave Meshes 1

Once close enough to the shoreline the wave is allowed to fully break. As the wave mesh collides with the surface of the water is raised to blend with the wave mesh. The wave mesh is then removed.

Generating Wave Meshes 2

Particle effects are used to make the breaking waves visually more appealing. foam has also been added along the length of the shoreline to make it more believable. As water flows over the sand it becomes wet, slowly drying over time.

Particle Effects

Animated ripples combined with normal mapping distorts the surface of the water, creating very nice reflections of the sky above.

Surface Detail and Reflections

A day-night cycle compliments the simulation, helping to show off the surface of the water and make it visually exciting.

Day-Night Cycle