i
i
i
i
i
i
i
i
Chapter 1
Introduction
Real-time rendering is concerned with making images rapidly on the com-
puter. It is the most highly interactive area of computer graphics. An
image appears on the screen, the viewer acts or reacts, and this feedback
affects what is generated next. This cycle of reaction and rendering hap-
pens at a rapid enough rate that the viewer does not see individual images,
but rather becomes immersed in a dynamic process.
The rate at which images are displayed is measured in frames per sec-
ond (fps) or Hertz (Hz). At one frame per second, there is little sense of
interactivity; the user is painfully aware of the arrival of each new image.
At around 6 fps, a sense of interactivity starts to grow. An application
displaying at 15 fps is certainly real-time; the user focuses on action and
reaction. There is a useful limit, however. From about 72 fps and up,
differences in the display rate are effectively undetectable.
Watching images flicker by at 60 fps might be acceptable, but an even
higher rate is important for minimizing response time. As little as 15 mil-
liseconds of temporal delay can slow and interfere with interaction [1329].
There is more to real-time rendering than interactivity. If speed was the
only criterion, any application that rapidly responded to user commands
and drew anything on the screen would qualify. Rendering in real-time
normally means three-dimensional rendering.
Interactivity and some sense of connection to three-dimensional space
are sufficient conditions for real-time rendering, but a third element has
become a part of its definition: graphics acceleration hardware. While
hardware dedicated to three-dimensional graphics has been available on
professional workstations for many years, it is only relatively recently that
the use of such accelerators at the consumer level has become possible.
Many consider the introduction of the 3Dfx Voodoo 1 in 1996 the real
beginning of this era [297]. With the recent rapid advances in this market,
add-on three-dimensional graphics accelerators are as standard for home
computers as a pair of speakers. While it is not absolutely required for real-
1
i
i
i
i
i
i
i
i
2 1. Introduction
Figure 1.1. A wonderful image from the Toy Shop demo [1246, 1247, 1249], generated at
interactive rates. (Image courtesy of Natalya Tatarchuk, ATI Research, Inc.)
time rendering, graphics accelerator hardware has become a requirement
for most real-time applications. An excellent example of the results of
real-time rendering made possible by hardware acceleration is shown in
Figure 1.1.
In the past few years advances in graphics hardware have fueled an
explosion of research in the field of interactive computer graphics. We will
focus on providing methods to increase speed and improve image quality,
while also describing the features and limitations of acceleration algorithms
and graphics APIs. We will not be able to cover every topic in depth, so our
goal is to introduce concepts and terminology, give a sense of how and when
various methods can be applied, and provide pointers to the best places to
go for more in-depth information. We hope our attempts to provide you
with tools for understanding this field prove to be worth the time and effort
you spend with our book.
1.1 Contents Overview
What follows is a brief overview of the chapters ahead.
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.