Proceedings: GI 2008

PNG1 triangles for tangent plane continuous surfaces on the GPU

Christoph Fünfzig , Kerstin Müller , Dianne Hansford , Gerald Farin

Proceedings of Graphics Interface 2008: Windsor, Ontario, Canada, 28 - 30 May 2008, 219-226

DOI 10.20380/GI2008.28

  • Bibtex

    @inproceedings{F{\"u}nfzig:2008:10.20380/GI2008.28,
    author = {F{\"u}nfzig, Christoph and M{\"u}ller, Kerstin and Hansford, Dianne and Farin, Gerald},
    title = {PNG1 triangles for tangent plane continuous surfaces on the GPU},
    booktitle = {Proceedings of Graphics Interface 2008},
    series = {GI 2008},
    year = {2008},
    issn = {0713-5424},
    isbn = {978-1-56881-423-0},
    location = {Windsor, Ontario, Canada},
    pages = {219--226},
    numpages = {8},
    doi = {10.20380/GI2008.28},
    publisher = {Canadian Human-Computer Communications Society},
    address = {Toronto, Ontario, Canada},
    }

Abstract

Improving the visual appearance of coarse triangle meshes is usually done with graphics hardware with per-pixel shading techniques. Improving the appearance at silhouettes is inherently hard, as shading has only a small influence there and the geometry must be corrected. With the new geometry shader stage released with DirectX 10, the functionality to generate new primitives from an input primitive is available. Also the shader can access a restricted primitive neighborhood. In this paper, we present a curved surface patch that can deal with this restricted data available in the geometry shader. A surface patch is defined over a triangle with its vertex normals and the three edge neighbor triangles. Compared to PN triangles, which define a curved patch using just the triangle with its vertex normals, our surface patch is G1 continuous with its three neighboring patches. The patch is obtained by blending two cubic Bézier patches for each triangle edge. In this way, our surface is especially suitable for efficient, high-quality tessellation on the GPU. We show the construction of the surface and how to add special features such as creases. Thus, the appearance of the surface patch can be fine-tuned easily. The surface patch is easy to integrate into existing polygonal modeling and rendering environments. We give some examples using Autodesk Maya.®