i
i
i
i
i
i
i
i
Chapter 18
Graphics Hardware
“Thermal issues are going to force parallelism extraction into
the software domain, and that transition will result in a more
homogeneous computing environment. The current strategy of
CPU execution separated from GPU execution by DirectX or
OpenGL will be replaced by a massive number of similar cores
executing an instruction set that works well for a wide variety
of applications, including graphics. The question will not be
heterogenous versus homogeneous, it will be a question of whose
cores win the hearts and minds of software developers.”
—Gabe Newell, Valve, 2007
Despite the fact that graphics hardware is evolving at a rapid pace, there
are some general concepts and architectures that are commonly used in its
design. Our goal in this chapter is to give an understanding of the various
hardware elements of a graphics system and how they relate to one another.
Other parts of the book discuss these in terms of their use with particular
algorithms. Here, we discuss hardware on its own terms. We begin by
discussing how the contents of the color buffer get displayed on the monitor.
The various different buffers that can be a part of a real-time rendering
system are then discussed. After that, perspective-correct interpolation is
described. We continue with an overview of graphics architecture concepts,
followed by three case studies of specific graphics systems.
18.1 Buffers and Buffering
In Section 2.4, we saw that the colors of the pixels are located in a color
buffer. Visible primitives affect these pixels. Here, we will use a simple
model to describe how the contents of the color buffer end up on the mon-
itor. The memory of the frame buffer may be located in the same memory
as the CPU uses for its tasks, in dedicated frame-buffer memory, or in video
829
i
i
i
i
i
i
i
i
830 18. Graphics Hardware
Figure 18.1. A simple display system: The color buffer is scanned by the video controller,
which fetches the colors of the pixels. These colors are in turn used to control the
intensities on the output device.
memory that can contain any GPU data but is not directly accessible to
the CPU. The color buffer is a part of the frame buffer. It is in some way
connected to a video controller, that, in turn, is connected to the moni-
tor. This is illustrated in Figure 18.1. The video controller often includes
a digital-to-analog converter (DAC), since if an analog display device is
used, the digital pixel value must be converted to an analog equivalent.
Because digital-to-analog conversion operates on every pixel of each frame,
this system must be able to deal with high bandwidths. CRT-based dis-
plays are analog devices, and hence need analog input. LCD-based displays
are digital devices, but can usually take both analog and digital input. Per-
sonal computers use the digital visual interface (DVI) or DisplayPort digi-
tal interfaces, while consumer electronics devices such as game systems and
televisions commonly use the high-definition multimedia interface (HDMI)
standard.
The rate at which a cathode ray tube (CRT) monitor updates the image
is typically between 60 and 120 times per second (Hertz). The job of the
video controller is to scan through the color buffer, scanline by scanline, at
the same rate as the monitor, and to do this in synchronization with the
beam of the monitor. During a single refresh of the image, the colors of the
pixels in the color buffer are used to control the intensities of the monitor
beam. Note that the electron beam usually moves in a left-to-right and
up-to-down manner. Because of this, the beam does not contribute to the
image on the screen when it moves from the right side to the left. This is
called the horizontal retrace. Related to this is the line rate or horizontal
refresh rate, the amount of time it takes to complete one entire left-right-left
cycle. The vertical retrace is the movement of the beam from the bottom
to the upper left corner, i.e., its return to position to begin the next frame.
This is shown in Figure 18.2. The vertical refresh rate is the number of
times per second the monitor performs this process. Most viewers notice
flicker at rates less than 72 Hz (see Section 10.14 for more information on
this).

Get Real-Time Rendering, Third Edition, 3rd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.