Distinguished Lecture: Shading Languages and the Emergence of Programmable Graphics Systems
Pat Hanrahan, Stanford University
A major challenge in using computer graphics
for movies and games
is to create a rendering system
that can create realistic pictures of a virtual world.
The system must handle the variety and complexity
of the shapes, materials, lights,
and other visual phenomena that we see everyday.
The images must also be free of artifacts
and seamlessly compose with photographs of live action.
Pixar's RenderMan was created for this purpose,
and has been widely used in feature film production
A key component of the system
is the use of a shading language
to procedurally describe appearance.
Shading languages were subsequently extended
to run on graphics processing units (GPUs),
and are now widely used in games.
The final step was the realization
that the GPU was a data parallel computer,
and a shading language could be evolved
into a general-purpose data parallel programming language.
This enabled a wide variety of applications
in high performance computing and machine learning to be run on GPUs.
Nowadays, GPUs are the fastest computers in the world.
This talk will review the history of shading languages and GPUs,
and discuss the broader implications for computing.