Computer Graphics is the science of enabling visual
communication through computation. It is used in
film, video games, medical imaging, engineering, and machine
vision.
Williams has a world-class research program in
computer graphics and offers several related courses
for students of all interests and abilities.
Over the last decade, Jensen's Photon Mapping algorithm has become
one of the preferred global illumination algorithms for offline
rendering. It simulates realistic lighting for cinema,
architecture, and pre-lit scenes in games. Although recent research
results have significantly accelerated special cases, general
implementations generally take minutes to render a single frame of
animation. This has kept true global illumination beyond the reach
of interactive applications like games that must render in
milliseconds.
Traditional Photon Mapping scatters emitted photons and then
gathers them towards the camera, both in world space. We invert
this structure, gathering emission and then scattering towards the
camera, and compute both in image space. This Image Space Photon
Mapping is both more efficient and better suited for the parallel
rasterization architectures of graphics hardware (GPUs). Because it
is thousands of times faster than traditional methods, our
algorithm enables dynamic, cinematic lighting for interactive
applications for the first time. We demonstrate experimental
results on complex scenes with dynamic lights and objects using
assets from real games.
This paper describes a series of optimizations for implementing the
high-quality Malvar-He-Cutler Bayer demosaicing filter on a GPU in
OpenGL. The optimized version is hundreds of times faster than a typical CPU
implementation and 2-3x faster than a straightforward GPU
implementation of the same algorithm on many GPUs. Most of the
optimizations are applicable to other kinds of processors that support
SIMD instructions, like CPUs and DSPs, and can be generalized to other filters.
This book is a comprehensive introduction to the process and theories of game development. It is written for academic games courses, professionals new to the games industry, and and indie development teams. The book includes worksheets and exercises that cumulate in a game design document.