Morgan and Claypool Publishers, 2008. — 276 p. — (Synthesis Lectures in Computer Graphics and Animation) — ISBN: 1598295594
This book presents techniques to render photo-realistic images by programming the Graphics Processing Unit (GPU). We discuss effects such as mirror reflections, refractions, caustics, diffuse or glossy indirect illumination, radiosity, single or multiple scattering in participating media, tone reproduction, glow, and depth of field. The book targets game developers, graphics programmers, and also students with some basic understanding of computer graphics algorithms, rendering APIs like Direct3D or OpenGL, and shader programming. In order to make the book self-contained, the most important concepts of local illumination and global illumination rendering, graphics hardware, and Direct3D/HLSL programming are reviewed in the first chapters. After these introductory chapters we warm up with simple methods including shadow and environment mapping, then we move on toward advanced concepts aiming at global illumination rendering. Since it would have been impossible to give a rigorous review of all approaches proposed in this field, we go into the details of just a few methods solving each particular global illumination effect. However, a short discussion of the state of the art and links to the bibliography are also provided to refer the interested reader to techniques that are not detailed in this book. The implementation of the selected methods is also presented in HLSL, and we discuss their observed performance, merits, and disadvantages. In the last chapter, we also review how these techniques can be integrated in an advanced game engine and present case studies of their exploitation in games. Having gone through this book, the reader will have an overview of the state of the art, will be able to apply and improve these techniques, and most importantly, will be capable of developing brand new GPU algorithms.
Global Illumination RenderingMaterials
Rendering Equation
Local Illumination
Global Illumination
Random Walk Solution of the Rendering Equation
Iteration Solution of the Rendering Equation
Application of Former GI Research Resultsin GPUGI
Local Illumination Rendering Pipeline of GPUSEvolution of the Fixed-function Rendering Pipeline
Programmable GPUs
Architecture of Programmable GPUs
Programming and Controlling GPUSIntroduction to HLSL Programming
Controlling the GPU from the CPU
Shaders Beyond the Standard Pipeline Operation
Simple Improvements of the Local Illumination ModelShadow Mapping
Image-based Lighting
Ray Casting on the GPURay–Triangle Intersection in a Shader
TheRayEngine
Acceleration Hierarchy Built on Rays
FullRay-TracersontheGPUUsingSpacePartitioning
Loosekd-TreeTraversalinaSingleShader
Specular Effects with RasterizationRay-Tracing of Distance Maps
Single Localized Reflections and Refractions
Inter-Object Reflections and Refractions
Specular Reflections with Searching on the Reflector
Specular Reflections with Geometry or Image Transformation
Self Reflections and Refractions
Caustics
Combining Different Specular Effects
Diffuse and Glossy Indirect IlluminationRadiosity on the GPU
Pre-Computed Radiosity
Diffuseand Glossy Final Gathering with Distance Maps
Pre-computation Aided Global IlluminationSampling
Finite-element Method
Pre-computed RadianceTransfer
Light Path Map
Participating Media RenderingPhase Functions
Particle System Model
Billboard Rendering
Illuminating Participating Media
Rendering Explosions and Fire
Participating Media Illumination Networks
Fake Global IlluminationThe Scalar Obscurances Method
The Spectral Obscurances Method
Construction of the Obscurances Map
Depth Peeling
Postprocessing Effects
Image Filtering
Glow
Tone Mapping
Depth of Field
Integrating GI Effects in Games and Virtual Reality SystemsGame Engines and Scene Graph Managers
Combining Different Rendering Algorithms
Case Studies