Also, it leaves the burden of selecting the number of subdivisions on the application program. The disadvantage of this method is that parts of a model are over-tessellated and other parts under-tessellated. In fact, that is how pre-tessellated surfaces are created with most 3D-modeling packages. One obvious way to tessellate subdivision surfaces is to apply a fixed number of subdivision steps on the original control mesh to create a list of quads to render. The weight masks for higher valences follow the same progression.įigure 7-3 Subdividing a Face of a Subdivision Surface 7.1.3 Using Subdivision for Tessellation We show only the weight masks for calculating the new positions of original vertices of valence 3, 4, and 5. The positions of these new vertices and the new positions of the original vertices can be computed from the pre-subdivided mesh vertex positions using the weight masks in Figure 7-2. Split each face of the control mesh into four faces by adding a vertex in the middle of the face and a vertex at each edge. The Catmull-Clark rules to subdivide an all-quad mesh are simple. This implies that the source models have to be created as all-quad models, a task familiar to artists with a NURBS modeling background or experience using Lightwave SubPatches. Our implementation is limited to control meshes consisting only of quads. However, it is considered a quad-based subdivision scheme because it works best on four-sided polygons (quads) and because all the polygons in the mesh after the first subdivision step are quads. Catmull-Clark subdivision works on meshes of arbitrary manifold topology. We use Catmull-Clark subdivision surfaces in this chapter, and so we use the Catmull-Clark subdivision rules (Catmull and Clark 1978). Extraordinary point-a vertex with a valence other than 4 (for a quad-based subdivision scheme, such as Catmull-Clark).Valence (of a vertex)-the number of edges connected to a vertex.Limit surface-the hypothetical surface created after an infinite number of subdivision steps.Figure 7-1 illustrates such rules applied to a cube.įigure 7-1 Catmull-Clark Subdivision of a Cube 7.1.1 Some Definitions Each subdivision step creates a new mesh with more geometry and a smoother appearance than the previous mesh. The subdivision rules define how to perform one subdivision step on the surface. Subdivision surfaces are curved surfaces (or higher-order surfaces) described by a simple polygon control mesh and some subdivision rules. The most striking example of a displacement-mapped subdivision surface model is probably the creature Gollum from the recent Lord of the Rings movies. Subdivision surfaces are often combined with displacement mapping to add extra detail for computer-generated characters in live-action movies. Introduced to the big screen by Pixar with A Bug's Life, they have been used in all of Pixar's movies since, including Finding Nemo and The Incredibles. Specifically, Catmull-Clark subdivision surfaces are supported in practically every 3D modeling and animation application. Subdivision surfaces are arguably the most popular curved-surface representation used in computer graphics today. Intermediate results are also rendered to and read from texture maps, and the final tessellation results (position, normal, and so on) are rendered to a vertex array ready to be used by a render-primitives call such as glDrawElements(). This method assumes that the vertex data of the subdivision surface control mesh are stored in a texture map. The subdivision, flatness test, and final vertex attribute calculations are done using fragment programs (pixel shaders). This chapter takes a repeated subdivision approach to tessellation, implemented by rendering into 2D textures. The second part of this chapter describes how to add displacement-mapping support for rendering highly detailed models that can be animated in real time. The first part of this chapter explains how to tessellate subdivision surfaces to polygons for rendering high-quality curved surfaces without visible polygon artifacts. We use the GPU to do the tessellation calculations, which saves graphics bus bandwidth and is many times faster than using the CPU. In this chapter we describe how to perform view-dependent, adaptive tessellation of Catmull-Clark subdivision surfaces with optional displacement mapping. Adaptive Tessellation of Subdivision Surfaces with Displacement Mapping The CD content, including demos and content, is available on the web and for download.Ĭhapter 7. You can purchase a beautifully printed version of this book, and others in the series, at a 30% discount courtesy of InformIT and Addison-Wesley. GPU Gems 2 GPU Gems 2 is now available, right here, online.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |