Description

A major revision of the international bestseller on game programming! Graphics hardware has evolved enormously in the last decade. Hardware can now be directly controlled through techniques such as shader programming, which requires an entirely new thought process of a programmer. 3D Game Engine Design, Second Edition shows step-by-step how to make a shader-based graphics engine and how to tame the new technology. Much new material has been added, including more than twice the coverage of the essential techniques of scene graph management, as well as new methods for managing memory usage in the new generation of game consoles and portable game players. There are expanded discussions of collision detection, collision avoidance, and physics — all challenging subjects for developers.

Key Features

* Revision of the classic work on game engines — the core of any game. * Includes Wild Magic, a commercial quality game engine in source code that illustrates how to build a real-time rendering system from the lowest-level details all the way to a working game. * Fully revised and updated in 4 colors, including major new content on shader programming, physics, and memory management for the next generation game consoles and portables.

Readership

Professionals or students working in game development, simulation, scientific visualization, or virtual worlds.

Table of Contents

  • Preface
  • 1 Introduction
  • 2 The Graphics System
    • 2.1 The Foundation
      • 2.1.1 Coordinate Systems
      • 2.1.2 Handedness and Cross Products
      • 2.1.3 Points and Vectors
    • 2.2 Transformations
      • 2.2.1 Linear Transformations
      • 2.2.2 Affine Transformations
      • 2.2.3 Projective Transformations
      • 2.2.4 Properties of Perspective Projection
      • 2.2.5 Homogeneous Points and Matrices
    • 2.3 Cameras
      • 2.3.1 The Perspective Camera Model
      • 2.3.2 Model or Object Space
      • 2.3.3 World Space
      • 2.3.4 View, Camera, or Eye Space
      • 2.3.5 Clip, Projection, or Homogeneous Space
      • 2.3.6 Window Space
      • 2.3.7 Putting Them All Together
    • 2.4 Culling and Clipping
      • 2.4.1 Object Culling
      • 2.4.2 Back Face Culling
      • 2.4.3 Clipping to the View Frustum
    • 2.5 Rasterizing
      • 2.5.1 Line Segments
      • 2.5.2 Circles
      • 2.5.3 Ellipses
      • 2.5.4 Triangles
    • 2.6 Vertex Attributes
      • 2.6.1 Colors
      • 2.6.2 Lighting and Materials
      • 2.6.3 Textures
      • 2.6.4 Transparency and Opacity
      • 2.6.5 Fog
      • 2.6.6 And Many More
      • 2.6.7 Rasterizing Attributes
    • 2.7 Issues of Software, Hardware, and APIs
      • 2.7.1 A General Discussion
      • 2.7.2 Portabili

Details

No. of pages:
1040
Language:
English
Copyright:
© 2007
Published:
Imprint:
Morgan Kaufmann
Print ISBN:
9780122290633
Electronic ISBN:
9780080917993

About the editor

David Eberly

Dave Eberly is the president of Geometric Tools, Inc. (www.geometrictools.com), a company that specializes in software development for computer graphics, image analysis, and numerical methods. Previously, he was the director of engineering at Numerical Design Ltd. (NDL), the company responsible for the real-time 3D game engine, NetImmerse. He also worked for NDL on Gamebryo, which was the next-generation engine after NetImmerse. His background includes a BA degree in mathematics from Bloomsburg University, MS and PhD degrees in mathematics from the University of Colorado at Boulder, and MS and PhD degrees in computer science from the University of North Carolina at ChapelHill. He is the author of 3D Game Engine Design, 2nd Edition (2006), 3D Game Engine Architecture (2005), Game Physics (2004), and coauthor with Philip Schneider of Geometric Tools for Computer Graphics (2003), all published by Morgan Kaufmann. As a mathematician, Dave did research in the mathematics of combustion, signal and image processing, and length-biased distributions in statistics. He was an associate professor at the University of Texas at San Antonio with an adjunct appointment in radiology at the U.T. Health Science Center at San Antonio. In 1991, he gave up his tenured position to re-train in computer science at the University of North Carolina. After graduating in 1994, he remained for one year as a research associate professor in computer science with a joint appointment in the Department of Neurosurgery, working in medical image analysis. His next stop was the SAS Institute, working for a year on SAS/Insight, a statistical graphics package. Finally, deciding that computer graphics and geometry were his real calling, Dave went to work for NDL (which is now Emergent Game Technologies), then to Magic Software, Inc., which later became Geometric Tools, Inc. Dave’s participation in the newsgroup comp.graphics.algorit

Affiliations and Expertise

President of Geometric Tools, Inc (www.geometrictools.com), a company that specializes in software development for computer graphics, image analysis, and numerical methods. Previously, he was the Director of Engineering at Numerical Design Ltd (NDL), the company responsible for the real-time 3D game engine, Netlmmerse. His background includes a BA in Mathematics from Bloomsburg U, MS and PhD degrees in Mathematics from the U of Colorado at Boulder, and MS and PhD degrees in computer science from the U of North Carolina at Chapel Hill.