| help | account  


3D Game Engine Architecture: Engineering Real-Time Applications with Wild Magic
View Larger Image
David H. Eberly
Morgan Kaufmann, Hardcover, Bk&CD edition, Published December 2004, 736 pages, ISBN 012229064X
List Price: $78.95
Our Price: $69.50
You Save: $9.45 (12% Off)


FREE Shipping on Orders over $40!*
Availability: Out-Of-Stock

Be the First to Write a Review and tell the world about this title!

People who purchase this book frequently purchase:

Books on similar topics, in best-seller order:Books from the same publisher, in best-seller order:

Dave Eberly's 3D Game Engine Design brought the most comprehensive coverage of the design of real-time 3D engines ever offered to the development community and set a standard for publications in game development. That book covers the concepts and algorithms while 3D Game Engine Architecture covers the programming and software engineering aspects of constructing an engine. Mathematics is kept to a minimum and the focus on the practical aspects of building an engine. This is a complete guide to building highly interactive real-time applications, starting with the graphics pipeline, the basic system constructs, and the fundamentals of the object system and the math system. It then moves to descriptions of building scene graphs, rendering, level of detail, terrain, and controllers and animation. The increasing use of special effects is noted by coverage of vertex and pixel shaders. Collision detection and physics is included, including particles and rigid body physics. The book concludes with a discussion of development tools, optimization, and a user's guide and reference manual to the engine included on the CD-ROM. The complete source code for Version 3 of the Wild Magic Engine is included on the CD-ROM. Version 3 is a commercial quality game engine, a first for publishing in this field. Already used by many game companies for commercial products, Wild Magic is a unique resource for the game development community.
  • CD-ROM with the C++ source code for a complete commercial quality game engine, for Windows, Linux, OS X, SGI IRIX, HP-UX, and Sun Solaris.
  • Offers a comprehensive, practical guide to all the steps in constructing professional quality real-time simulations

Table of Contents

1 Introduction

2 The Graphics Pipeline
2.1 Drawing a Triangle
2.2 Drawing a Complicated Scene
2.3 Illustrative Implementations
2.4 Abstraction of Systems

3 Core Systems
3.1 The Low-Level System
3.1.1 Basic Data Structures
3.1.2 Encapsulating Platform-Specific Concepts
3.1.3 Endianness
3.1.4 System Time
3.1.5 File Handling
3.1.6 Memory Allocation and Deallocation
3.2 The Mathematics System
3.2.1 Basic Mathematics Functions
3.2.2 Fast Functions
3.2.3 Vectors
3.2.4 Matrices
3.2.5 Quaternions
3.2.6 Lines and Planes
3.2.7 Colors
3.3 The Object System
3.3.1 Run-Time Type Information
3.3.2 Names and Unique Identifiers
3.3.3 Sharing
3.3.4 Cloning
3.3.5 Controllers
3.3.6 Streaming
3.3.7 Initialization and Termination

4 Scene Graphs and Renderers
4.1 The Core Classes
4.1.1 Motivation for the Classes
4.1.2 Spatial Hierarchy Design
4.1.3 Instancing
4.2 Geometric State
4.2.1 Transformations
4.2.2 Bounding Volumes
4.2.3 Geometric Updates
4.2.4 Geometric Types
4.3 Render State
4.2.1 Vertex Attributes
4.2.2 Global State
4.2.3 Lights
4.2.4 Effects
4.3 Renderers and Cameras
4.3.1 Camera Models
4.3.2 Basic Architecture for Rendering
4.3.3 Cached Textures and Vertex Attributes
4.3.4 Global Effects and Multipass Support

5 Advanced Scene Graph Topics
5.1 Level of Detail
5.1.1 Continuous Level of Detail
5.1.2 Discrete Level of Detail
5.1.3 Infinite Level of Detail
5.1.4 Billboards
5.1.5 Display of Particles
5.2 Sorting
5.2.1 Binary Space Partitioning Trees
5.2.2 Deferred Drawing
5.2.3 Sorting Children of a Node
5.3.4 Portals
5.3 Curves and Surfaces
5.3.1 Parametric Curves and Polycurves
5.3.2 Parametric Surfaces, Patches, and Meshes
5.3.3 Tessellation by Subdivision
5.4 Terrain
5.4.1 Height Fields
5.4.2 Surface Patches
5.4.3 Level of Detail
5.4.4 Terrain Pages and Memory Management
5.5 Controllers and Animation
5.5.1 Basic System and Concepts
5.5.2 Inverse Kinematics
5.5.3 Keyframes
5.5.4 Morphing
5.5.5 Points and Particles
5.5.6 Skin and Bones

6 Advanced Rendering Topics
6.1 Special Effects using the Fixed-Function Pipeline
6.1.1 Vertex Coloring
6.1.2 Multitexturing
6.1.3 Environment Maps
6.1.4 Bump Maps
6.1.5 Gloss Maps
6.1.6 Planar Reflection
6.1.7 Planar Shadows
6.1.8 Projected Textures
6.2 Special Effects using Vertex and Pixel Shaders
6.2.1 Basic Concepts
6.2.2 Illustration with Fixed-Function Effects
6.2.3 Examples
6.2.4 Scene Graph Support

7 Collision Detection
7.1 Line-Object Intersection
7.1.1 Picking
7.1.2 Terrain Following
7.1.3 Collision Avoidance
7.1.4 Intersection Algorithms
7.2 Object-Object Intersection
7.2.1 Collision Groups
7.2.2 Spatial and Temporal Coherence
7.2.3 Hierarchical Collision Detection
7.2.4 Intersection Algorithms

8 Physics
8.1 Particle Physics
8.2 Mass-Spring Systems
8.3 Deformable Bodies
8.4 Rigid Bodies
8.5 Numerical Methods for Solving Differential Equations
8.5.1 Abstract Base Class
8.5.2 Euler's Method
8.5.3 Implicit Euler's Method
8.5.4 Runge-Kutta Methods

9 Applications
9.1 Abstraction of the Application
9.1.1 Hide Operating System Dependencies
9.1.2 Hide Initialization and Termination
9.1.3 Hide Window and Renderer Creation
9.1.4 Console, 2D, and 3D Application Support
9.2 Sample Graphics Applications (one section per application)
9.3 Sample Physics Applications (one section per application)

10 User's Guide and Reference Manual
10.1 Coding Conventions
10.2 Creating Scenes and Cameras
10.3 The Idle Loop
10.3 Event Handling and Input Devices
10.4 Class Summary

About the Author

Dave Eberly is the president of Magic Software, Inc. (www.magic-software.com), a company known for its free source code and documentation for computer graphics, image analysis, and numerical methods. Previously, he was the director of engineering at Numerical Design Limited, the company responsible for the real-time 3D game engine, NetImmerse. His background includes a B.A. in mathematics from Bloomsburg University, M.S. and Ph.D. degrees in mathematics from the University of Colorado at Boulder, and M.S. and Ph.D. degrees in computer science from the University of North Carolina at Chapel Hill.


Forgot your password?
FAQs
Shipping Options
Returns
Your Orders
Your Account