3D Games: Volume 1: Real-Time Rendering and Software Technology

by ;
Edition: CD
Format: Hardcover
Pub. Date: 2001-01-01
Publisher(s): Addison Wesley
List Price: $78.32

Rent Textbook

Select for Price
There was a problem. Please try again later.

New Textbook

We're Sorry
Sold Out

Used Textbook

We're Sorry
Sold Out

eTextbook

We're Sorry
Not Available

How Marketplace Works:

  • This item is offered by an independent seller and not shipped from our warehouse
  • Item details like edition and cover design may differ from our description; see seller's comments before ordering.
  • Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
  • Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
  • Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.

Summary

This is the first academic games programming book/CD package that is expressly written for new degree courses in 3D-games programming. Authors introduce the theory behind the design of computer games and detail advanced techniques used in the industry.   Students will be able to develop their own games within the game 'skeletons' accompanying the book, and will learn how to program complex games. This book could also be used for a more standard undergraduate 3D graphics programming course, with the games context being highly motivational.   This book is a comprehensive treatment of current 3D games technology, including: * Theoretical foundations * Classical 3D graphics * Real-time rendering technology * Dynamics * Collision detection * Artificial Intelligence * Image-based rendering * Multi-player technology * Software technology * Engine architecture   The text is written around an actual engine that implements most of the described techniques and accompanies the book on a CD-ROM. Readers can try out their own ideas by writing source code and can experiment with existing demonstrations by writing or altering plug-ins.    The supplied engine features are: * BSP/PVS render management * Light maps for static geometry * Diffuse and specular (hardware) vertex lighting for dynamic objects * Volumetric fog with fog maps * Detail textures * Multi-texture support * Collision detection * Dynamic lights * Dynamic Shadows * Physically based animations * Animated meshed * Tri-strips and fans * Subdivision surfaces * 3D sound support * Complete plug-in directed

Author Biography

Fabio Policarpo is a software developer and founder of the company Paralelo computacao based in Rio de Janeiro.

Table of Contents

Preface xiii
Foundations
Mathematical fundamentals of 3D computer graphics
1(30)
Manipulating three-dimensional structures
2(7)
Vectors and computer graphics
9(5)
Rays and computer graphics
14(7)
Bi-linear interpolation of polygon properties
21(1)
A basic maths engine using SIMD instructions
22(9)
Modelling and representation 1 - comparative review and polygon mesh models
31(22)
Introduction
31(5)
Polygonal representation of three-dimensional objects
36(11)
High-level methods - constructive solid geometry
47(4)
High-level creation using modellers/editors
51(2)
Modelling and representation 2 - the economics of polygon meshes
53(15)
Compressing polygonal models
53(1)
Compressing the geometry
54(2)
Encoding connectivity
56(1)
Triangle strips
57(2)
Local vs. global algorithms
59(1)
Using vertex buffers
60(2)
Level of detail (LOD) processing
62(6)
Representation and modelling 3 - landscape specialisations
68(11)
Introduction
68(1)
Simple height field landscapes
69(1)
Procedural modelling of landscapes - fractals
70(2)
Terrain LODs: triangle bintrees
72(4)
Rendering of landscapes by ray casting
76(3)
Modelling and representation 4 - Bezier, B-spline and subdivision surfaces
79(93)
Introduction
79(3)
Bezier curves
82(9)
B-spline curves
91(13)
Rational curves
104(3)
From curves to surfaces
107(9)
Modelling or creating patch surfaces
116(15)
Rendering parametric surfaces
131(8)
Practical Bezier technology for games
139(14)
Subdivision surfaces
153(17)
Scalability - polygon meshes, patch meshes and subdivision surfaces
170(2)
Classical 3D graphics
Classic polygon mesh rendering technology
172(43)
Coordinate spaces and geometric operations in the graphics pipeline
173(6)
Operations carried out in view space
179(10)
Algorithmic operations in the graphics pipeline
189(23)
Rendering examples
212(3)
Classic mapping techniques
215(30)
Introduction
215(3)
Two-dimensional texture maps to polygon mesh objects
218(9)
Two-dimensional texture domain to bi-cubic parametric patch objects
227(1)
Bump mapping
227(4)
Environment or reflection mapping
231(7)
Three-dimensional texture domain techniques
238(5)
Comparative examples
243(2)
Anti-aliasing theory and practice
245(25)
Introduction
245(1)
Aliases and sampling
246(3)
Jagged edges
249(1)
Sampling in computer graphics compared with sampling reality
250(2)
Sampling and reconstruction
252(1)
A simple comparison
252(2)
Pre-filtering methods
254(2)
Supersampling or post-filtering
256(2)
Anti-aliasing in texture mapping
258(6)
The Fourier transform of images
264(6)
Real-time rendering
Visibility processing of complex scenes
270(44)
Introduction
270(4)
Why trees?
274(3)
BSP trees
277(2)
Bounding volume hierarchies
279(1)
BSP trees and polygon objects
280(15)
Specialisations for building interior-type environments
295(1)
Portals and mirrors
296(5)
Advanced view frustum culling
301(4)
Exact visibility
305(7)
Dynamic objects and visibility
312(2)
Lighting in games
314(15)
Light maps
315(5)
Dynamic lighting effects with light maps
320(2)
Dynamic lights
322(1)
Switchable/destroyable light sources
322(1)
Fog maps/volumetric fog
322(1)
Lighting case studies
323(6)
Shadows in games
329(17)
The nature of shadows
329(4)
Classical shadow algorithms
333(7)
Shadows in games
340(6)
Multi-pass rendering
346(22)
Introduction
346(1)
Multi-pass functionality
347(4)
Multi-pass algorithms
351(10)
Multi-pass sampling approaches
361(2)
Multi-texture
363(2)
Multi-texture example
365(3)
Control of objects
Motion control - kinematic
368(34)
Introduction
368(2)
Pre-scripting animation - linear interpolation and elapsed time
370(2)
Pre-scripted animation - interpolation problems
372(1)
Pre-scripted animation - explicit scripting
373(3)
Interpolation of rotation
376(2)
Using quaternions to represent rotation
378(8)
The camera as an animated object
386(1)
Particle animation
387(2)
Particle animation and computer games
389(3)
Articulated structures
392(10)
Control by dynamic simulation
402(35)
Dynamics in off-line animation - the famous example
402(1)
Initial value problems vs. boundary value problems
403(1)
Topic areas
404(1)
Motivations for dynamic simulations
405(1)
Basic classical theory for particles
406(2)
Basic classical theory for rigid bodies
408(10)
The practicalities of dynamic simulations
418(13)
Numerical integration
431(6)
Collision detection
437(30)
Broad phase/narrow phase algorithms
440(4)
Bounding volume hierarchies
444(1)
Broad phase collision detection with AABBs
445(4)
Broad phase collision detection with OBBs
449(2)
Broad phase collision detection with local or object spatial partitioning
451(2)
Narrow phase collision detection
453(6)
Single phase approaches
459(8)
Interactive control
467(17)
Interaction and animation
467(1)
Controller module
467(3)
User-object interaction - 6 DOF control with simple sampling
470(3)
User-object animation - a four-key car simulation
473(3)
Object-object interaction
476(1)
Camera-object interaction
477(1)
Objects with simple autonomous behaviour
478(4)
User-scene interaction
482(2)
Behaviour and AI
484(32)
Established approaches and architectures
487(3)
Agents and hierarchies
490(3)
Examples of agent architectures
493(5)
Cognitive modelling and situation calculus
498(5)
The role of sensing - vision as an example
503(2)
Learning architectures
505(11)
2D technology
Two-dimensional techniques
516(24)
Image pyramids
516(2)
Wavelet transform
518(7)
Image transforms and basis matrices
525(1)
Wavelets and computer games
526(5)
Image metamorphosis - morphing
531(9)
Image-based rendering
540(32)
Introduction
540(1)
Reuse of previously rendered imagery
541(6)
Varying rendering resources
547(4)
Using depth information
551(8)
View interpolation
559(5)
Four-dimensional techniques - the Lumigraph or light field rendering approach
564(2)
Photo-modelling and IBR
566(6)
Software technology
Multi-player game technology
572(23)
Introduction
572(1)
Definitions
573(1)
Implementation of multi-player games
574(2)
The origin and nature of problems in multi-player games
576(4)
Reducing the information in messages
580(6)
Multi-player implementation using client-server
586(9)
Engine architecture
595(22)
Game programming in C++
595(7)
Managing and evolving complexity in games
602(1)
Engine design and architecture
603(1)
Fly3D software architecture
604(13)
Fly3D SDK reference
617(132)
Introduction
617(1)
Globals reference
618(4)
Objects reference
622(127)
Appendix A Fly3D SDK tutorials 749(30)
References 779(9)
Index 788

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.