Introduction | |
Introduction TO 3D Game Programming | |
A Brief Introduction | |
The Elements of a 2D/3D Game | |
General Game Programming Guidelines | |
Using Tools | |
A Sample 3D Game: Raiders 3D | |
Summary | |
A Crash Course in Windows and DirectX | |
The Win32 Programming Model | |
The Bare Minimum for a Windows Program | |
A Basic Windows Application | |
DirectX and COM Crash Course | |
Flash Introduction to COM | |
Summary | |
Introduction to the Virtual Computer Interface | |
Building the Virtual Computer Interface | |
The T3DLIB Game Console | |
The T3DLIB1 Library | |
The T3DLIB2 DirectX Input System | |
The T3DLIB3 Sound and Music Library | |
The DirectMusic API Rapper | |
Building the Final T3D Game Console | |
Sample T3LIB Applications | |
Summary | |
3D Math and Transformation | |
Mathematical Notation | |
2D Coordinate Systems | |
3D Coordinate Systems | |
3D Cylindrical Coordinates | |
3D Spherical Coordinates | |
Trigonometry. Vectors | |
Matrices and Linear Algebra | |
Computing the Inverse and Solving Systems | |
Basic Geometric Entities | |
Lines in 3D Space | |
Using Parametric Equations | |
Introduction to Quaternions | |
Basic Calculus | |
Summary | |
Brief Overview of the Math Engine | |
Data Structures and Types | |
Math Constants | |
Macros and Inline Functions | |
Prototypes | |
Globals | |
Math Engine API Listing | |
Floating-Point Unit Math Primer | |
Notes on Using the Math Engine | |
Comments on Math Optimization | |
Summary | |
3D Engine Philosophy | |
The Structure of a 3D Game Engine | |
3D Coordinate Systems | |
Basic 3D Data Structures | |
3D Tools | |
Loading Data from the Outside World | |
Basic Rigid Transformations and Animation | |
Review of the Viewing Pipeline | |
Types of 3D Engines | |
Integrating Everything into a Final Engine | |
Summary | |
General Wireframe Engine Architecture | |
Writing a 3D File Loader | |
Building the 3D Pipeline | |
Rendering a 3D World | |
3D Demos | |
Summary | |
Basic 3D Rendering | |
Basic Lighting Models for Computer Graphics | |
Lighting and Rasterizing Triangles | |
Shading in the Real World | |
Depth Sorting and the Painter''s Algorithm | |
Working with New Model Formats | |
3D Modeling Tools Review | |
Summary | |
The New T3D Engine Features | |
Upgrading the T3D Data Structures and Design | |
Rewriting the Object Loaders | |
Polygon Rasterization Review | |
Implementing Gouraud Shading | |
Basic Sampling Theory | |
Updating the Lighting/Rasterization Engine for Textures | |
Final Thoughts on Optimization Strategies for 8- and 16-Bit Modes | |
Final Demos | |
Summary | |
Introduction to Clipping | |
Theoretical Coverage of Clipping Algorithms | |
Practical View Frustrum Clipping | |
A Little Fun with Terrain | |
Summary | |
Introduction to Depth Buffering and Visibility | |
Z-Buffering Basics | |
Creating the Z-Buffer System | |
Possible Z-Buffer Optimizations | |
Problems with the Z-Buffer | |
The Software and Z-Buffer Demos | |
Summary | |
Advanced 3D Rendering | |
Texturing-The Second Wave | |
Building a New Rasterizer Base | |
Gouraud-Shaded Texturing | |
Transparency and Alpha Blending | |
Perspective-Correct Texturing and 1/z-Buffering | |
Bilinear Texture Filtering | |
Mip Mapping and Trilinear Texture Filtering | |
Multiple Pass Rendering and Texturing | |
Wrapping Things Up with a Single Call | |
Summary | |
The New Game Engine Module | |
Introduction to Spatial Partitioning and Visible Surface Determination | |
The Binary Space Partition | |
Potentially Visible Sets | |
Portals | |
Bounding Hierarchical Volumes and Octrees | |
Occlusion Culling | |
Summary | |
The New Game Engine Module | |
Introduction and Game Plan | |
The Simplified Physics of Shadows | |
Simulating Shadows with Projective Images and Billboards | |
Planar Mesh Shadow Mapping | |
Introduction to Light Mapping and Surface Caching | |
Putting Everything Together | |
Summary | |
Advanced Animation, Physics Modeling, and Optimazation | |
The New Game Engine Module | |
Introduction to 3D Animation | |
The Quake II .MD2 File Format | |
Simple Non-Character-Based Animation | |
3D Collision Detection | |
Summary | |
Introduction to Optimization Technologies | |
Profiling Your Code with Microsoft Visual C++ and Intel Vtune | |
Using the Intel C++ Compiler | |
Single Instruction Multiple Data (SIMD) Programming Primer with SSE | |
General Optimization Tricks | |
Summary | |
Cd-Rom Appendixes | |
Table of Contents provided by Publisher. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.