Smooth geometry images
Symposium on Geometry Processing 2003, 138-145.
Subdivision and displacement of genus-zero mesh realized as GPU image processing.
Abstract:
Previous parametric representations of smooth genus-zero surfaces require a collection of abutting patches
(e.g. splines, NURBS, recursively subdivided polygons). We introduce a simple construction for these
surfaces using a single uniform bi-cubic B-spline. Due to its tensor-product structure, the spline control
points are conveniently stored as a geometry image with simple boundary symmetries. The bicubic surface is
evaluated using subdivision, and the regular structure of the geometry image makes this computation ideally
suited for graphics hardware. Specifically, we let the fragment shader pipeline perform subdivision by
applying a sequence of masks (splitting, averaging, limit, and tangent) uniformly to the geometry image.
We then extend this scheme to provide smooth level-of-detail transitions from a subsampled base octahedron
all the way to a finely subdivided, smooth model. Finally, we show how the framework easily supports
scalar displacement mapping.
Hindsights:
After publication, we were able to merge the splitting and averaging steps into a single rasterization
pass.
The new feature of vertex textures in DirectX9 provide another technique for cycling rasterization output
back into the vertex stream.
Being able to process geometry as images within the highly parallel GPU rasterizer is exciting.