Graphics Reference
In-Depth Information
7.2
Back Face Elimination
The simplest way to render in a geometric modeling program is to display the world
in wireframe mode. Such displays might be quite adequate for the task at hand and
they have the added advantage that they are fast. An extremely easy way to make them
look more realistic is to eliminate edges common to “back faces.”
A back face of a solid object is a face that is facing “away from” the camera. To
explain what this means and derive a test for it we need to look at normal vectors.
Recall the discussion in Section 6.4. The faces of a solid have a natural outward-
pointing normal vector associated to them. On the other hand, a choice of a normal
vector for a face is equivalent to having an orientation for the face. Therefore, a
general definition for a back face is the following (see Figure 7.1):
Definition. An oriented face is called a back face with respect to a vector v
(typically the view direction of a camera) if the angle between its normal vector n and
v is between 0 and 90 degrees. Mathematically, this simply means that n v ≥ 0. If
n v £ 0, then it is called a front face for v .
This definition of back face also handles the case of faces in an arbitrary oriented
surface patch that may not be the boundary of a solid, such as the upper hemisphere
of the unit sphere or a bicubic patch.
Removing edges on the back faces in wireframe mode works pretty well on bound-
aries of solids, such as a sphere. On the other hand, some viewers may not be happy
with the result in other cases. For example, if one looks diagonally down on a cylin-
drical surface, back face removal would only show half of it even though the back
part would actually be “visible” from the viewpoint. For that reason, a modeling
program should have the ability to flag a face as “two-sided,” meaning that it should
be treated as a “front” face no matter where the viewpoint is.
Finally, it is important to realize that back face removal is based on a local deci-
sion. It does not guarantee that the faces that are left are in fact visible. They might
be obscured by some other object or even another part of the same object if it is not
convex. Therefore, back face removal in no way saves us from a subsequent visible
surface determination algorithm. If one wants to display only visible surfaces, one will
still basically have to check each face against every other face to see if one obscures
the other. What it does do however is cut down the number of faces that have to be
looked at by a factor of two on the average, which is a substantial savings, and so
visible surface determination algorithms usually have this built in as a preprocessing
step because it is so easy to do.
Figure 7.1.
Defining a back face.
Search WWH ::




Custom Search