We present a fast and flexible algorithm for the simulation and rendering of ocean waves. The method is designed to support efficient view frustum culling and various simple wave effects such as choppy waves, capillary waves, wave refraction, round waves, and wave-land interaction, which makes the model suitable in, e.g., computer games. The waves are numerically robust, and the execution time of the generated waves can be controlled dynamically. Finally, experimental results illustrate the interactive performance and the visual quality of the generated waves.