Site Shop > 3D Game Engine Design : A Practical Approach to Real-Time Computer Graphics
Aimed at the working Visual C++ game developer, 3D Game Engine Design provides a tour of mathematical techniques for 3-D graphics, and the source code that's used to implement them in state of year 2000?s art gameworld engines.
The chapters on graphics pipelines explain the math that's behind representing and rendering a 3-D world in 2-D with intervening effects like lighting and texture mapping. A variety of current algorithms are provided for representing 3-D scenes, efficient picking, and collision detection. In the game software of today, curves--and not individual triangles or polygons--often are used to represent 3-D objects. Algorithms that are used to turn curves into rendered surfaces are provided, too.
Later sections look at the current thinking about animation techniques for characters (including key frames, inverse kinematics, and skinning.
How to represent terrain inside virtual worlds also is explained.
The book closes with excellent material on such cutting-edge special effects as lens flare and projected shadows, which can add an extra level of realism to a video game. An appendix examines guidelines for designing object-oriented game software in C++.
* Mathematical methods and sample source code for 3-D game development
* Geometrical transformations
* Co-ordinate systems
* Euler angles
* Standard 3-D objects: spheres, oriented boxes, capsules, lozenges, cylinders, ellipsoids
* Distance methods for a variety of shapes
* Introduction to the graphics pipeline
* Model and world co-ordinates
* Projecting perspective
* Camera models
* Culling techniques
* Surface and vertex attributes
* Efficiency issues for clipping and lighting
* Hierarchical scene representation, using trees and scene graphs
* Picking algorithms for a variety of 3-D shapes
* Collision detection for static and dynamic graphical objects
* Oriented bounding-box (OBB) trees
* Basics of curves and special curves (including Bezier curves and various splines)
* Curves (generating surfaces from curves by using different techniques)
* Character animation, using keyframe animation and inverse kinematics
* Geometrical level of detail considerations
* Techniques for generating game terrain
* Spatial sorting and binary space partitioning (BSP)
* Special effects: lens flare, bump mapping, volumetric fogging, projected light and shadows, particle systems, morphing techniques
* C++ language features for effective object-oriented design
* Reference to the numerical methods required for game mathematics
Reviews by our members. Become a member today, and submit a review!