Graphics Reference
In-Depth Information
et al. [FLB + 09] combined that idea with micropolygons for full 5D micropolygon
rasterization. Fatahalian et al. framed rasterization as a five-dimensional point-in-
polyhedron problem and solved it in a data-parallel fashion for efficient execution
on dedicated graphics hardware.
Because integration over multiple samples is expensive, a variety of tricks
that generate phenomena similar to motion blur have been proposed. These have
historically been favored by the game industry because they are fast, if sometimes
poor-quality, approximations. See Sung et al. [SPW02] for a good survey of these.
The major methods employed are adding translucent geometry that stretches an
object along its screen-space velocity vector, artificially increasing the MIP level
chosen from textures to blur within an object, and screen-space blurring based on
per-pixel velocity as a post-process [Vla08].
Renderers paradoxically spend more time producing blurry phenomena such
as motion blur than they do in imaging sharp objects. This is because blurring
requires either multiple samples or additional post-processing. Since it is harder
for viewers to notice artifacts in blurry areas of an image, it would be ideal to
somehow extrapolate the blurry result from fewer samples. This is currently an
active area of research [RS09, SSD + 09, ETH + 09].
35.3.5 Exploiting Temporal Coherence
An animation contains multiple frames, so rendering animation is necessarily
more computationally intense than rendering a single image. However, the cost
of rendering an animation is not necessarily proportional to its length. Sequen-
tial frames often depict similar geometry and lighting viewed through similar
cameras. This property is referred to as frame coherence or temporal coher-
ence. It may hold for the underlying scene state, the rendered image, both, or
neither.
One advantage of frame coherence is that one can often reuse intermediate
results from rendering one frame for the subsequent frame. Thus, the first frame
of animation is likely as expensive to render as a single image, but subsequent
frames may be comparatively inexpensive to render.
For example, it is common practice in modern rasterization renderers to
only recompute the shadow map associated with a luminaire only when both
the volume illuminated by that luminaire intersects the view frustum and some-
thing within that volume moved since the previous computation. Historically, 2D
renderers were not fast enough to update the entire screen when drawing user
interfaces. They exploited frame coherence to provide a responsive interface. Such
systems maintained a persistent image of the screen and a list of 2D bound-
ing boxes for areas that required updating within that image. These bounding
boxes were called dirty rectangles. Although modern graphics processors are
fast enough to render the entire screen every frame, the notion of dirty rectangles
and its generalization to dirty bit flags remains a core one for incremental updates
to computer graphics data structures.
The process of storing intermediate results for later reuse is generally called
memoization; it is also a main component of the dynamic programming tech-
nique. If we allow only a fixed-size buffer for storing previous results and have a
replacement strategy when that buffer is full, the process is called caching. Reuse
necessarily requires some small overhead to see if the desired result has already
 
 
Search WWH ::




Custom Search