Real-time Caustics from Height Fields
This image shows the visual importance of caustics when rendering water. The same water surface is rendered () without caustics and () with real-time caustics. Caustics not only improve the visual quality, but also makes it easier to perceive the shape of the water surface.
Caustics are crucial in water rendering, yet they are often neglected in real-time applications due to the demanding computational requirements of the general purpose caustics computation methods. In this paper we present a two-pass algorithm for caustics computation that is extremely fast and produces high quality results. Our algorithm is targeted for commonly used height field representations of water and a planar caustic-receiving surface. The underlying theory of our approach is presented along with implementation details and pseudo codes.
I implemented the underlying water simulation system for the new water demo of Microsoft Surface. The caustics generation technique discussed on this web page was implemented as a part of this system.