Graphics Reference
In-Depth Information
At the abstract level—the mesh being represented—there's no important dif-
ference between the full representation and the stripped or fanned representation.
The choice of whether to use strips or fans depends on whether transmission of
geometry (typically from a CPU to a GPU) is the primary bottleneck, or whether
something else, like fill rate (the speed of converting triangles into pixel values),
dominates.
In modeling, as opposed to rendering, today's dominant technologies are
splines (particularly NURBS) and quad-based subdivision surfaces; both of these
are closely related to meshes. And in many application areas, including scientific
visualization and medical imaging, nonmesh data structures like voxels or point-
based representations dominate.
These preferred representations change depending on what kinds of data are
at hand and on system properties such as memory size, memory bandwidth,
bandwidth to the GPU, etc. Even now, voxel representations are being seriously
considered by game developers, while work in scientific visualization has moved
heavily toward meshes to make better use of GPUs. As with every other engineer-
ing choice described in this topic, meshes will never be the universally right or
wrong answer; they are just one more representation for your toolbox.
1
0
When we introduced meshes in Chapter 8, we did so as a means of repre-
senting geometry, like that shown in Figure 25.2. But there are other applications
as well. Sometimes the vertex coordinates for a mesh are not physical locations,
but instead are colors, or normal vectors, or even points in a configuration space
(i.e., each vertex might describe a “pose” of a jointed figure; edges would then
correspond to interpolations between poses, etc.).
The vertex-and-face-tables model of Chapter 8 appears to discount edges,
which have no explicit representation. Nonetheless, faces are not all that mat-
ters. Edges are important in nonphotorealistic rendering, and in visibility-
determination algorithms. Vertices are important in defining functions on meshes,
as we discussed in Chapter 9. And most of all, connectivity is critical in many
applications. The lack of explicit representation of connectivity or edges should
not be taken as a mark of their unimportance.
1 2
1
10
0
0
2
10
2
10
Figure 25.2: Polygonal meshes
used to represent a cube, a teapot,
and a smooth, wavy surface.
Inline Exercise 25.1: The vertex-and-face-table representation could be
enhanced with an edge-table representation; each row of the edge table would
contain indices of two vertices that were to be joined by an edge. In this exer-
cise, we'll examine the consequences of introducing an edge table.
(a) Assuming that the edges in a mesh are exactly those that are part of the
boundary of a face, describe an algorithm for deleting a face from a mesh.
(b) Suppose that edges are to be treated as directed, that is, the edge ( 3, 11 ) is
different from the edge ( 11, 3 ) , and that the same is true for faces. The bound-
ary of the face ( 3, 5, 8 ) consists of the three directed edges ( 3, 5 ) , ( 5, 8 ) , and
( 8, 3 ) . Assuming that we agree that the shapes we represent are all to be polyg-
onal surfaces, discuss face deletion again. Make a Möbius strip from five trian-
gles, and check whether your deletion algorithm works for the deletion of each
triangle.
 
 
Search WWH ::




Custom Search