From: Eric Haines
<erich@acm.org>
Date: 15 Sep 2002Here's my feelings on the
subject. I don't feel people should get *too* creative in this area - we
don't need new definitions or words for most of the terms, and it's very
difficult for an entirely new term to get picked up by practitioners -
but it would be nice to have a set of definitions that's generally
useful and has at least some correlation among fields.
I have little to add beyond Ramesh's comment on silhouette edges, that
in computer graphics a silhouette is an edge shared between two
polygons, one of which faces forward (towards the viewer, light,
whatever) and the other backward. This is pretty well established as the
primary meaning of silhouette edge in the field of computer graphics.
It's definitely different than the colloquial meaning, of the outline of
an object. For example, a model of a person's face has computer graphics
style silhouette edges inside the outline, e.g., around the nostrils.
It's important to realize there's a difference.
That said, definitions of the different types of edges have not all been
firmly nailed down in the field of computer graphics. When there's an
edge that has only one polygon bordering it (for example, a sheet of
paper has four edges bordering a single polygon, unless you think of the
sheet as double-sided and formed of two polygons, in which case they're
silhouette edges), this is usually not called a silhouette edge, but
rather a boundary or border edge. However, if your goal is to render an
object with a cartoon type shading, then you treat boundary edges and
silhouette edges in pretty much the same way and shade them the same.
There are also what are known as crease or hard edges, an edge that's
sharp, such as a cube's edges, vs. the silhouette edge formed by any
view of a sphere. These can be further subdivided into ridge and valley
edges, similar to origami's use of mountain and valley folds. There are
also identifiable edges that do not necessarily have a geometric or
surface normal definition. For example, a ball with a stripe around its
equator has two material edges, where the stripe meets the northern and
southern areas. These are ultimately, though, merely the definitions I
am now using, as they are convenient for me; some researchers call
crease and material edges "boundary edges", for example.
In summary, when writing the "Non-Photorealistic Rendering" chapter of
"Real-Time Rendering, 2nd ed." I chose definitions that seemed to be in
popular use, but these are not set in stone. My choices come from my own
experiences in computer graphics, formed by areas such as the VRML
specification and NPR. I certainly do not know about other fields' use
of these terms. Even within computer graphics, we have "crease or hard
edge", because both terms have been used, and, similarly, "boundary or
border edge". I personally am not sure about the idea of firm
definitions for "boundary" and "border", as these tend to be used
however it is most convenient for the author to use them, and that can
be a useful thing. Imagine if the word "sort" were forced to always mean
the "quicksort", and you could never define it as you wanted to describe
your new algorithm. In other words, I feel "boundary" and "border" are
fairly generic, variable terms that can have adjectives applied to them,
e.g. "silhouette boundary", "material border".
I hope this helps,
Eric Editor's note - Eric has posted an illustrated example at http://www.acm.org/tog/resources/RTR/rtr2_npr.pdf [last accessed Aug 2002] |