Graphics Reference
In-Depth Information
1
2e
(
) =
(
(
) -
(
)
)
buv
,
buv
,
+
e
buv
,
-
e
,
(9.15b)
v
for suitable small value e. Thus it suffices to use a table b(i,j) and to compute b(u,v)
at all other values via a simple linear interpolation. The values of the partials b u and
b v are computed with formulas (9.15).
To reduce aliasing, Blinn suggested that one sample intensities at a higher reso-
lution and then average the values.
9.9
The Rendering Pipeline
In this and previous chapters we have covered many different topics that deal with
getting a real picture onto a computer's monitor screen. We started be describing the
basic graphics (projection) pipeline and then moved on to visible surface algorithms
and illumination and shading models. Everything might have made sense in isolation,
but the reader may have been left wondering how one puts all this together in prac-
tice. What is the order in which various steps should be performed? This section will
try to clarify that. The answer depends on how objects are represented, whether we
are using a local or global illumination model, and which visible surface algorithm
we are using.
The most popular way to render scenes has become a case of first polygonizing
the objects in the scene (if they are not already a collection of polygons) and then ren-
dering the resulting polygons. With this approach, a polygon becomes the basic unit
in the rendering process and the typical graphics hardware supports this nowadays.
Such support is important for real-time rendering because a complex scene with
curved objects might need millions of polygons for a good representation. Although
rendering smooth surfaces by means of approximating polygons is the most efficient
approach with today's hardware, there are problems, such as aliasing, and algorithms
exist for rendering them directly. See, for example, [ElbC96].
Local Illumination Pipelines. There are two basic ways to render the list of poly-
gons. One can render each polygon individually and independent of each other ( by-
polygon rendering ) or one can render all the polygons in a scan-line order ( by-scan-line
rendering ), meaning that all the segments in which polygons meet a scan line are ren-
dered before one moves on to the next scan line. One can use different visible surface
algorithms, but the use of a Z-buffer or some sort of depth ordering has become
commonplace.
Rendering approach
Compatible visible surface algorithm type
by-polygon
Z-buffer, list priority type algorithms
by-scan-line
Z-buffer, scan line Z-buffer, scan line algorithm
The advantage of by-polygon rendering is that it is easy to implement with little active
data to maintain, whereas the by-scan-line rendering has to maintain a potentially
large amount of data for each scan line. On the other hand, by-scan-line rendering is
Search WWH ::




Custom Search