3D Games: Real-Time Rendering and Software Technology, Volume 1 (Hardcover)

Alan Watt, Fabio Policarpo




This is the first academic games programming book/CD package that is expressly written for new degree courses in 3D-games programming. Authors Watt and Policarpo introduce the theory behind the designof computer games and detail advanced techniques used in the industry, such as: physically based animation; advanced scene management; pre-calculation techniques/image-based rendering; advanced motion capture; and artificial intelligence. Students will be able to develop their own games within the games "skeletons" accompanying the book, and will learn how to program complex games. This book could also be used for a more standard undergrad 3D graphics programming course, with the games context being highly motivational.

Back to Top

Appropriate Courses

Computer Games Development, Programming Computer Graphics.

Back to Top


  • Accompanying CD-ROM includes the Fly 3D SDK games engine, full reference and tutorials on creating game elements.
  • Discusses the theory behind computer game design as wellas advanced techniques used in the games industry.
  • Covers foundational material for 3D computer graphics.
Back to Top

Table Of Contents



1. Mathematical Foundations of 3D Computer Graphics.
Manipulating Three-dimensional Structures.
Vectors and Computer Graphics.
Rays and Computer Graphics.
Bi-linear Interpolation of Polygon Properties.
A Basic Maths Engine Using SIMD Instructions.

2. Modelling and Representation I — Comparative Review andPolygon Mesh Models.
Polygonal Representation of Three-dimensional Objects.
High-level Methods — Constructive Solid Geometry.
High-level Creation Using Modellers/Editors.

3. Modelling and Representation 2 — The Economics of PolygonMeshes.
Compressing Polygonal Methods.
Compressing the Geometry (information per vertex).
Encoding Connectivity.
Triangle Strips.
Local vs. Global Algorithms.
Using Vertex Buffers.
Level of Detail (LOD) Processing.

4. Representation and Modelling 3 — Landscape Specialisations.
Simple Height Field Landscapes.
Procedural Modelling of Landscapes - Fractals.
Terrain LODs: Triangle Bintrees.
Rendering of Landscapes by Ray Casting.

5. Modelling and Representation 4 — Bézier, B-spline andSubdivision.
Bézier Curves.
B-spline Curves.
Traditional Curves.
From Curves to Surfaces.
Modelling or Creating Patch Surfaces.
Rendering Parametric Surfaces.
Practical Bézier Technology for Games.
Subdivision Surfaces.
Scalability — Polygon Meshes, Patch Meshes and SubdivisionSurfaces.


6. Classic Polygon Mesh Rendering Technology.
Coordinate Spaces and Geometric Operations in the Graphics Pipeline.
Operations Carried Out in View Space.
Algorithmic Operations in the Graphics Pipeline.
Rendering Examples.

7. Classic Mapping Techniques.
Two-dimensional Texture Maps to Polygon Mesh Objects.
Two-dimensional Texture Domain to Bi-cubic Parametric Patch Objects.
Bump Mapping.
Environment or Reflection Mapping.
Three-dimensional Texture Domain Techniques.
Comparative Examples.

8. Anti-aliasing Theory and Practice.
Aliases and Sampling.
Jagged Edges.
Sampling in Computer Graphics Compared with Sampling Reality.
Sampling and Reconstruction.
A Simple Comparison.
Pre-filtering Methods.
Supersampling or Post-filtering.
Anti-aliasing in Texture Mapping.
The Fourier Transform of Images.


9. Visibility Processing of Complex Scenes.
Why Trees?
BSP Trees.
Bounding Volume Hierarchies.
BSP Trees and Polygon Objects.
Specialisations for Building Interior-type Environments.
Portals and Mirrors.
Advanced View Frustum Culling.
Exact Visibility.
Dynamic Objects and Visibility.
10. Lighting in Games.
Light Maps.
Dynamic Lighting Effects with Light Maps.
Dynamic Lights.
Switchable/Destroyable Light Sources.
Fog Maps/Volumetric Fog.
Lighting Case Studies.

11. Shadows in Games.
The Nature of Shadows.
Classical Shadow Algorithms.
Shadows in Games.

12. Multi-pass Rendering.
Multi-pass Functionality.
Multi-pass Algorithms.
Multi-pass Sampling Approaches.


13. Motion Control — Kinematic.
Pre-scripting Animation — Linear Interpolation and Elapsed Time.
Pre-scripted Animation — Explicting Scripting.
Interpolation of Rotation.
Using Quaternions to Represent Rotation.
The Camera as an Animated Object.
Particle Animation.
Particle Animation and Computer Games.
Articulated Structures.

14. Control by Dynamic Simulation.
Dynamics in Off-line Animation — The Famous Example.
Initial Value Problem vs. Boundary Value Problems.
Topic Areas.
Motivations for Dynamic Simulations.
Basic Classical Theory for Particles.
Basic Classical Theory for Rigid Bodies.
The Practicalities of Dynamic Simulations.
Numerical Integration.

15. Collision Detection.
Broad Phase/Narrow Phase Algorithms.
Bounding Volume Hierarchies.
Broad Phase Collision Detection with AABBs.
Broad Phase Collision Detection with OBBs.
Broad Phase Collision Detection with Local or Object SpatialPartitioning.
Narrow Phase Collision Detection.
Single-phase Approaches.

16. Interactive Control.
Interaction and Animation.
Controller Module.
User-object Interaction — 6 DOF Control with Simple Sampling.
User-object Animation — A Four-key Simulation.
Object-object Interaction.
Objects with Simple Autonomous Behavior.
User-scene Interaction.

17. Behaviour and AI.
Established Approaches and Architectures.
Agents and Hierarchies.
Examples of Agent Architectures.
Cognitive Modelling and Situation Calculus.
The Role of Sensing — Vision as an Example.
Learning Architectures.


18. Two-dimensional Techniques.
Image Pyramids.
Wavelet Transforms.
Image Transforms and Basis Matrices.
Wavelets and Computer Games.
Image Metamorphosis — Morphing.

19. Image-based Rendering.
Reuse of Previously Rendered Imagery Two-dimensional Techniques.
Varying Rendering Resources.
Using Depth Information.
Four-dimensional Techniques — The Lunigraph or Light FieldRendering Approach.
Photo-modelling and IBR.


20. Multi-player Game Technology.
Implementation of Multi-player Games.
The Origin and Nature of Problems in Multi-Player Games.
Reducing the Information in Messages.
Multi-player Implementation Using Client-Server.

21. Engine Architecture.
Game Programming in C++.
Managing and Evolving Complexity in Games.
Engine Design and Architecture.
Fly3D Software Architecture.

22. Fly3D SDK Reference.
Globals Reference.
Objects Reference.

Appendix A: Fly3D SDK Tutorials.

Back to Top




- 附帶CD-ROM包括Fly 3D SDK遊戲引擎,以及有關創建遊戲元素的完整參考和教程。
- 討論電腦遊戲設計背後的理論以及遊戲業界使用的高級技術。
- 涵蓋3D計算機圖形的基礎材料。

- 前言
- 基礎
- 3D計算機圖形的數學基礎
- 建模和表示1-比較評論和多邊形網格模型
- 建模和表示2-多邊形網格的經濟學
- 建模和表示3-景觀專業化
- 建模和表示4-貝塞爾、B-spline和細分
- 經典3D圖形
- 經典多邊形網格渲染技術