i
i
i
i
i
i
i
i
Chapter 19
The Future
“Pretty soon, computers will be fast.”
—Billy Zelsnack
“Prediction is difficult, especially of the future.”
—Niels Bohr or Yogi Berra
“The best way to predict the future is to create it.”
—Alan Kay
“I program my home computer,
beam myself into the future.”
—Kraftwerk
There are two parts to the future: you and everything else. This chapter is
about both. First, we will make some predictions, a few of which may even
come true. More important is the second part of this chapter, about where
you could go next. It is something of an extended Further Reading and
Resources section, but it also discusses ways to proceed from here—sources
of information, conferences, programming tools, etc.
19.1 Everything Else
One yardstick of progress is how closely interactive applications can ap-
proach offline rendered images. Films such as Pixar’s Ratatouille and PDI’s
Shrek series use render farms chock full of racks of CPUs, around 3100 cores
in all, each with access to 16 GB of memory. For example, for Ratatouille,
a single frame took an average of 6.5 hours, though complex shots could
take tens of hours. One constraint is the number of primitives. Scenes
with swarms of rats have hundreds of millions of hairs in them [1093]. All
the assets—models, textures, shaders, precomputed lighting—totaled 5 ter-
abytes, all of which had to be available to the network at all times. At one
879
i
i
i
i
i
i
i
i
880 19. The Future
point, network traffic was a major bottleneck for the film Cars,notCPU
processing power [613].
Going from 300+ minutes per frame to 30 frames per second is a chal-
lenge. On one level, current games can claim levels of visual complexity
near that of Toy Story. This perhaps is not quite true, as the texture de-
tail, geometry tessellation, and amount of sampling per pixel is higher
in Toy Story than in any game. RenderMan is a microgeometry ren-
derer at heart, with each surface chopped into polygons smaller than a
pixel [31, 196]. Such fine tessellations are rarely used in interactive appli-
cations because of the cost. Effective resolution, in terms of total number
of samples taken per pixel multiplied by total number of pixels, is a mag-
nitude or two higher in films than at playable frame rates for video games.
That said, a case can be made that for some shots, at relatively low res-
olution (so that antialiasing can be used), Toy Story complexity has been
achieved.
Say that with the latest GPUs we are only a factor of 100 away from
achieving a decent frame rate at a fine level of detail and shading for most
scenes. Moore’s Law gives an acceleration rate of 2 times every 1.5 years, or,
more usefully, about 10 times every 5 years [1198]. So by this measure, we
are only a decade away from achieving this goal. Unfortunately, it does not
appear that processor speed will be the main constraint on computing in
the future. Bandwidth is increasing by only around 25% per year, a rise of
a little more than 3 times every 5 years. This makes a hundred-fold increase
take about 20 years instead of 10, as long as some other bottleneck does
not appear. Also, the goal line has moved: Ratatouille took 420 times the
computing resources that Toy Story did [613]. On one level, it is incredible
to see what has been done in the area of interactive rendering, such as
Figures 19.1 and 19.2. On another, there is still a lot more processing that
can be done.
Graphics helps sell games, and games help sell chips. One of the best
features of real-time rendering from a chipmaker’s marketing perspective is
that graphics eats huge amounts of processing power and other resources.
As discussed at the beginning of Chapter 14, hardware constraints such as
frame rate, resolution, and color depth all can grow to some extent. The
direction that is essentially unbounded is complexity. By complexity, we
mean both the number of objects in a scene and the way these objects are
rendered. Ignoring all other directions for growth, this single factor makes
graphics a bottomless pit for processing power to fill. The depth complexity
of scenes will rise, primitives will get smaller, illumination models will
become more complex, and so on. First, build a model of the place where
you are right now, down to the tiniest details, and then create shaders
that create a photorealistic rendering of that environment. Add shadows,
then glossy reflections. Now, model the surroundings with the same detail.
i
i
i
i
i
i
i
i
19.1. Everything Else 881
Figure 19.1. Realistic and artistic interactive renderings. (Image above from “Crysis,”
courtesy of Crytek [887, 1342], image below from “Okami,” courtesy of Capcom Enter-
tainment, Inc.)

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.