ptg
xxii Foreword to the Second Edition
dazzling, realistic effects seen in Pixar animation shorts and TV commer-
cials. The process was still miles away from real time, but the seed of the idea
of giving an interactive application developer that type of control was
planted. And it was such a powerful idea that it was only a matter of time
until it grew.
Now, fast-forward to the start of the new millennium. The major influence
on graphics was no longer science and engineering applications. It had
become games and other forms of entertainment. (Nowhere has this been
more obvious than in the composition of the SIGGRAPH Exhibition.)
Because games live and die by their ability to deliver realistic effects at inter-
active speeds, the shader seed planted a few years earlier was ready to flour-
ish in this new domain. The capacity to place procedural graphics rendering
algorithms into the graphics hardware was definitely an idea whose time
had come. Interestingly, it brought the graphics community full circle. We
searched old SIGGRAPH proceedings to see how pixel-by-pixel scene con-
trol was performed in software then, so we could “re-invent” it using inter-
active shader code.
So, here we are in the present, reading Randi Rost’s OpenGL Shading Lan-
guage. This is the next book I point my shader-intrigued students to, after
Upstill’s. It is also the one that I, and they, use most often day to day. By
now, my first edition is pretty worn.
But great news—I have an excuse to replace it! This second edition is a major
enhancement over the first. This is more than just errata corrections. There
is substantial new material in this book. New chapters on lighting, shadows,
surface characteristics, and RealWorldz are essential for serious effects pro-
grammers. There are also 18 new shader examples. The ones I especially like
are shadow mapping, vertex noise, image-based lighting, and environmen-
tal mapping with cube maps. But they are all really good, and you will find
them all useful.
The OpenGL Shading Language is now part of standard OpenGL. It will be
used everywhere. There is no reason not to. Anybody interested in effects
graphics programming will want to read this book cover to cover. There are
many nuggets to uncover. But GLSL is useful even beyond those borders.
For example, we use it in our visualization research here at OSU (dome
transformation, line integral convolution, image compression, terrain data
mapping, etc.). I know that GLSL will find considerable applications in
many other non-game areas as well.
From the Library of STEPHEN EISEMAN