Index / 001 EN
Real-Time Rendering cover

Computer Science

Computer Science

Real-Time Rendering

Tomas Akenine-Möller; Eric Haines; Naty Hoffman; Angelo Pesce; Michał Iwanicki; Sébastien Hillaire

A comprehensive reference on producing images at interactive rates with graphics hardware, written by researchers and engineers from the graphics industry. It explains the GPU rendering pipeline and the algorithms used in games, visualization and virtual reality, from transforms and texturing to physically based shading, shadows and global illumination approximations.

Prerequisites: A first course in computer graphics, linear algebra, and some experience programming with a graphics API such as OpenGL, Vulkan or Direct3D.

Difficulty Level
Advanced
Academic Level
Advanced
computer graphicsreal-time renderinggpushadinggraphics pipelineReference

01 / Reading Guide

Reading Guide

Citation

Akenine-Möller, T., Haines, E., Hoffman, N., Pesce, A., Iwanicki, M., & Hillaire, S. (2018). Real-Time Rendering (4th ed.). A K Peters/CRC Press.

Chapter Summary

The book has 24 chapters and runs to about 1,200 pages, with a long bibliography. The preface states its scope: algorithms that create synthetic images fast enough for a viewer to interact with a virtual environment, with a focus on three-dimensional rendering and, to a limited extent, on user interaction. Modeling and animation are outside it. It concentrates on algorithms rather than graphics APIs, and the authors describe it as more of a guidebook than an encyclopedia, with a few representative methods per topic and references for further reading. Chapter 1 explains the notation: vectors, points and matrices, with column vectors and homogeneous coordinates.

Chapters 1–3: Introduction; The Graphics Rendering Pipeline; The Graphics Processing Unit

Chapter 2 presents the pipeline as the heart of real-time rendering: the application stage, geometry processing, rasterization and pixel processing, followed by a walk through the pipeline. Chapter 3 shows how the GPU implements those stages in data-parallel hardware, from the vertex shader through tessellation, the geometry shader, the pixel shader and the merging stage to the compute shader, together with the evolution of programmable shading and APIs.

Chapters 4–6: Transforms; Shading Basics; Texturing

Chapter 4 covers basic and special matrix transforms, quaternions, vertex blending, morphing, geometry cache playback and projections. Chapter 5 introduces shading models, light sources, implementing shading models, aliasing and antialiasing, transparency, alpha and compositing, and display encoding. Chapter 6 covers the texturing pipeline, image and procedural texturing, texture animation, material, alpha, bump and parallax mapping, and textured lights.

Chapters 7–9: Shadows; Light and Color; Physically Based Shading

Chapter 7 surveys planar shadows, shadow volumes, shadow maps and their filtering variants (percentage-closer filtering and soft shadows, filtered shadow maps), volumetric shadow techniques and irregular z-buffer shadows. Chapter 8 defines light quantities and the path from scene to screen. Chapter 9 builds physically based shading from the ground up: the physics of light, the camera, the BRDF, Fresnel reflectance, microgeometry and microfacet theory, BRDF models for surfaces, subsurface scattering, cloth, wave optics and layered materials, and blending and filtering of materials.

Chapters 10–12: Local Illumination; Global Illumination; Image-Space Effects

Chapter 10 treats area light sources and environment lighting, with spherical and hemispherical functions, environment mapping, specular image-based lighting and irradiance environment mapping. Chapter 11 starts from the rendering equation and covers ambient and directional occlusion and diffuse and specular global illumination, ending with unified approaches. Chapter 12 covers image processing and reprojection, then lens flare and bloom, depth of field and motion blur.

Chapters 13–15: Beyond Polygons; Volumetric and Translucency Rendering; Non-Photorealistic Rendering

Chapter 13 surveys alternatives to triangles: skyboxes, light field rendering, sprites and layers, billboarding, displacement, particle systems, point rendering and voxels. Chapter 14 deals with light scattering theory and volumetric rendering, sky rendering, translucent surfaces, subsurface scattering, and hair and fur. Chapter 15 covers toon shading, outline rendering, stroke surface stylization, lines and text rendering.

Chapters 16–17: Polygonal Techniques; Curves and Curved Surfaces

Chapter 16 concerns sources of 3D data, tessellation and triangulation, consolidation, triangle fans, strips and meshes, simplification, and compression and precision. Chapter 17 covers parametric curves and surfaces, implicit surfaces, subdivision curves and surfaces, and efficient tessellation.

Chapters 18–20: Pipeline Optimization; Acceleration Algorithms; Efficient Shading

Chapter 18 covers profiling and debugging tools, locating the bottleneck, performance measurement, optimization and multiprocessing. Chapter 19 covers spatial data structures, culling (backface, view frustum, portal, detail, occlusion), level of detail and rendering large scenes. Chapter 20 treats deferred shading, decal rendering, tiled and clustered shading, deferred texturing, and object- and texture-space shading.

Chapters 21–24: Virtual and Augmented Reality; Intersection Test Methods; Graphics Hardware; The Future

Chapter 21 covers VR and AR equipment, physical elements, APIs and hardware, and rendering techniques. Chapter 22 is a reference on geometric intersection tests: picking, bounding-volume creation, rays against spheres, boxes, triangles and polygons, and other pairs. Chapter 23 describes graphics hardware: rasterization, compute and scheduling, memory architecture, color and depth buffering, texturing, case studies and ray tracing architectures. Chapter 24 closes with "Everything Else" and "You".

Key Concepts

Chapters 2–6: Pipeline and Basics

  • Graphics rendering pipeline: application, geometry processing, rasterization and pixel processing.
  • Programmable shader stages: the stages of the GPU pipeline that the programmer controls.
  • Texturing: using images to vary surface appearance.

Chapters 7–12: Light and Appearance

  • Shadow map: the main image-space shadow technique and its filtering variants.
  • BRDF and microfacet theory: the physical basis of surface reflectance.
  • Image-based lighting and global illumination: approximations of light interacting across a scene.

Chapters 13–17: Representations

  • Billboards, particles and voxels: alternatives to polygon meshes.
  • Subdivision surfaces and tessellation: smooth surfaces made from coarse control meshes.

Chapters 18–24: Performance, VR and Hardware

  • Culling and level of detail: skip what is not visible or reduce what is far away.
  • Deferred, tiled and clustered shading: structures for shading many lights efficiently.
  • VR/AR rendering: rendering under rapid, consistent frame-rate demands.

Critical Analysis

Strengths

  • Breadth in one volume. The 24 chapters run from the pipeline and transforms through physically based shading, global illumination, volumetric and non-photorealistic rendering to optimization, acceleration, VR and hardware.
  • Updated for the fourth edition. The publisher highlights a new chapter on virtual and augmented reality and new coverage of visual appearance, global illumination, and curves and curved surfaces. Three authors joined the original team for this edition.
  • A guidebook with references. Most chapters end with further reading, and the authors' stated policy is to describe a few representative methods per topic and rely on references for the rest.
  • Reviewer endorsements. Reviews quoted by the publisher from practitioners at Valve, NVIDIA, Unity, Cesium and the co-author of Physically Based Rendering describe it as a reference that condenses large amounts of work and gives depth with references.
  • Free extras. A chapter on collision detection and appendices on linear algebra and trigonometry are available free at the authors' website.

Limitations

  • Assumes prior knowledge. The preface expects basic computer graphics, computer science and programming, and the book is not a first course.
  • Algorithms, not APIs. It does not teach OpenGL, Vulkan or Direct3D, so a reader needs separate programming material to implement what is described.
  • Selective by design. Modeling and animation are excluded, and the authors say some chapters (shadows is the example) have whole books written on them.
  • Size. At roughly 1,200 pages it is a reference to be consulted by chapter rather than read cover to cover.

Where It Fits in the Course

This is the comprehensive, practice-oriented reference of the graphics list. Computer Graphics from Scratch is a short introduction in which the reader writes a raytracer and a rasterizer, and Interactive Computer Graphics is a top-down WebGL course; either is a way to meet the pipeline before this book. Fundamentals of Computer Graphics is a standard undergraduate textbook on the mathematics and algorithms behind ray tracing and rasterization. Physically Based Rendering presents the source of an offline, photorealistic renderer with its mathematics, while this book targets interactive rates on GPUs.

Interaction Design belongs to another side of the course, user-centred design rather than rendering. After a first graphics course, read this book alongside or after Fundamentals of Computer Graphics, and turn to Physically Based Rendering when you want a complete renderer, with its mathematics, aimed at offline photorealism.

How to Use This Book

The book is for readers who have had a first course in graphics, are comfortable with linear algebra, and have some experience with a graphics API. It is also used by working graphics programmers.

A practical plan:

  • Core: Chapters 2–3 (pipeline, GPU), 4 (transforms), 5–6 (shading and texturing), 7 (shadows), and 18–19 (optimization and acceleration).
  • Appearance track: Chapters 8–11 in order for physically based shading and illumination; Chapter 9 is the longest chapter in this group.
  • Topic chapters: read 12–15 as needed for post-processing, alternative representations, volumes and stylization; 16–17 for geometry; 20–21 for efficiency and VR/AR.
  • Reference: treat Chapters 22–23 as look-up material for intersection tests and hardware.

Keep a graphics API at hand and implement a feature from each chapter you read, following the cited references where the book summarises.