We present a new method suitable for general purpose graphics processing units to render self-shadows on dynamic height fields under dynamic light environments in real-time.
Visibility for each point in the height field is determined as the exact horizon for a set of azimuthal directions in time linear in height field size and the number of directions.
The surface is shaded using the horizon information and a high-resolution light environment extracted on-line from a high dynamic range cube map, allowing for detailed extended shadows.
The desired accuracy for any geometric content and lighting complexity can be matched by choosing a suitable number of azimuthal directions.
Our method is able to represent arbitrary features of both high- and low-frequency, unifying hard and soft shadowing.
We achieve 23 fps on 1024x1024 height fields with 64 azimuthal directions under a 256x64 environment lighting on an Nvidia GTX 280 GPU.