Graphics Reference
In-Depth Information
rendering. Double-buffered rendering of course doubles the size of the frame-
buffer in memory.
Analog vector scope (oscilloscope) displays have no buffer—a beam driven
by analog deflection traces true lines on the display surface. So double-buffered
rendering is impossible for such displays and they inherently reveal the scene as
it is rendered. Vector scopes are rarely used today, although some special-purpose
laser-projector displays operate on the same principle and have the same draw-
backs.
For displays driven by a digital framebuffer, the swap operation must be han-
dled carefully. A CRT traces through the rasters with a single beam. Pixels in
the framebuffer that are written to will not be updated until the beam sweeps
back across the corresponding display pixel. LCD, plasma, and other modern flat-
screen technologies are capable of updating all pixels simultaneously, although
to save cost, a specific display may not contain independent control signals for
each pixel. Regardless, the display is typically fed by a serial signal obtained by
scanning across the framebuffer in much the same way as a CRT. The result is that
for most modern displays the buffers must be swapped between scanning passes.
Otherwise, the top and bottom of the screen will show different frames, leading
to an artifact called screen tearing. The raster at which the screen is divided will
scroll upward or downward depending on the ratio of refresh rate to animation
rate.
The solution to tearing is vertical synchronization, which simply means wait-
ing for the refresh to swap buffers. The drawback of this is that it may stall the
rendering processor for up to the display refresh period. Two common solutions
are disabling vertical synchronization (which entails simply accepting the resul-
tant tearing artifacts) and triple buffering. Under triple buffering, three frame-
buffers are maintained as a circular queue. This allows the renderer to advance to
the next frame at a time independent of the display refresh. Of course, the ren-
derer must still be updating at about the same rate as the display or the queue will
fill or become empty, stalling either the display or the renderer. The queue may
be implemented in a straightforward manner as an array of framebuffers that are
each used in sequence, or as two double-buffer pairs that share a front buffer. The
drawbacks of triple-buffered rendering are further increased framebuffer storage
cost and an additional frame of latency between user input and display.
35.3.2 Motion Perception
Motion perception is an amazing property of the human visual system that enables
all computer graphics animation. Current biological models of the visual system
indicate that there is no equivalent of a refresh rate or uniform shutter in the eye or
brain. Yet we perceive the objects in sequential frames shown at appropriate rates
as moving smoothly, rather than warping between discrete locations or as separate
objects that appear and disappear.
Motion phenomena are believed to occur mostly within the brain. However,
the retina does exhibit a tendency to maintain positive afterimages for a few mil-
liseconds and this may interact with the brain's processing of motion. These are
distinct from the negative afterimages that occur when staring at a strong stimulus
for a long period of time.
One effect of positive afterimages is that the human visual system is only
strongly sensitive to flickering due to shuttering or image changes up to about
 
 
Search WWH ::




Custom Search