In this paper we present techniques for the real-time simulation and rendering of liquids. Appropriate approximations to a full 3D simulation are applied to reduce the numerical complexity. Fluid flow is described by the 2D Navier-Stokes equations; wave effects are represented according to the wave equation for shallow water waves on a height-field. A novel mechanism for coupling flow and wave behaviour is introduced to efficiently handle transport along a fluid flow and accurate wave propagation on the fluid surface. An additional noise-based animation of detailed fluid structures further improves the realistic appearance. Rendering makes use of fragment operations on consumer-level GPUs to allow for a physically guided representation of reflection, refraction and Fresnel blending of light.