Real-time water rendering - introducing the projected grid concept
Master of Science thesis in computer graphics,
Author: Claes Johanson
Supervisor: Calle Lejdfors, Department of Computer Science, Lund
The thesis was conducted in cooperation with Saab
Bofors Dynamics. Magnus Anderholm was supervisor at SBD.
Demo application (win32
binary + textures + source, 4.25MB)
For full functionality a Radeon 9500 or better
GPU is required. Lesser cards have to settle with normals generated
on the CPU with a lower resolution. A fully compliant DirectX8 card
is the bare minumum.
These are a couple of screenshots from the techdemo
running on a Radeon 9700.
This thesis will examine how a large water surface
can be rendered in an efficient manner using modern graphics hardware.
If a non-planar approximation of the water surface is required,
a high-resolution polygonal representation must be created dynamically.
This is usually done by treating the surface as a height field.
To allow spatial scalability, different methods of “Level-Of-Detail”
(LOD) are often used when rendering said height field. This thesis
presents an alternative technique called “projected grid”.
The intent of the projected grid is to create a grid mesh whose
vertices are even-spaced, not in world-space which is the traditional
way but in post-perspective camera space. This will deliver a polygonal
representation that provides spatial scalability along with high
relative resolution without resorting to multiple levels of detail.
Paper (low detail, 743 kB)
Paper (high detail, 1.73 MB)