## Table of contents for Introduction to 3D game programming with DirectX 9.0 / by Frank D. Luna.

Bibliographic record and links to related information available from the Library of Congress catalog. Note: Contents data are machine generated based on pre-publication information provided by the publisher. Contents may have variations from the printed book or be incomplete or contain other coding.

```Table of Contents
Introduction
Part I: Mathematical Prerequisites
Vectors in 3-Space
Matrices
Basic Transformations
Planes (Optional)
Rays (Optional)
Summary
Part II: Direct3D Fundamentals
Chapter 1: Direct3D Initialization
1.1 Direct3D Overview
1.2 COM
1.3 Some Preliminaries
1.4 Initializing Direct3D
1.5 Sample Application: Initializing Direct3D
1.6 Summary
Chapter 2: The Rendering Pipeline
2.1 Model Representation
2.2 The Virtual Camera
2.3 The Rendering Pipeline
2.4 Summary
Chapter 3: Drawing in Direct3D
3.1 Vertex/Index Buffers
3.2 Render States
3.3 Drawing Preparations
3.4 Drawing with Vertex/Index Buffers
3.5 D3DX Geometric Objects
3.6 Sample Applications: Triangle, Cube, Teapot, D3DXCreate*
3.7 Summary
Chapter 4: Color
4.1 Color Representation
4.2 Vertex Colors
4.4 Sample Application: Colored Triangle
4.5 Summary
Chapter 5: Lighting
5.1 Light Components
5.2 Materials
5.3 Vertex Normals
5.4 Light Sources
5.5 Sample Application: Lighting
5.7 Summary
Chapter 6: Texturing
6.1 Texture Coordinates
6.2 Creating and Enabling a Texture
6.3 Filters
6.4 Mipmaps
6.7 Summary
Chapter 7: Blending
7.1 The Blending Equation
7.2 Blend Factors
7.3 Transparency
7.4 Creating an Alpha Channel Using the DX Tex Tool
7.5 Sample Application: Transparency
7.6 Summary
Chapter 8: Stenciling
8.1 Using the Stencil Buffer
8.2 Sample Application: Mirrors
8.4 Summary

Part III: Applied Direct3D
Chapter 9: Fonts
9.1 ID3DXFont
9.2 CD3DFont
9.3 D3DXCreateText
9.4 Summary
Chapter 10: Meshes Part I
10.1 Geometry Info
10.2 Subsets and the Attribute Buffer
10.3 Drawing
10.4 Optimizing
10.5 The Attribute Table
10.7 Cloning
10.8 Creating a Mesh (D3DXCreateMeshFVF)
10.9 Sample Application: Creating and Rendering a Mesh
10.10 Summary
Chapter 11: Meshes Part II
11.1 ID3DXBuffer
11.2 XFiles
11.3 Progressive Meshes
11.4 Bounding Volumes
11.5 Summary
Chapter 12: Building a Flexible Camera Class
12.1 Camera Design
12.2 Implementation Details
12.3 Camera Sample
12.4 Summary
Chapter 13: Basic Terrain Rendering
13.1 Heightmaps
13.2 Generating the Terrain Geometry
13.3 Texturing
13.4 Lighting
13.5 "Walking" on the Terrain
13.6 Terrain Sample
13.7 Some Improvements
13.8 Summary
Chapter 14: Particle Systems
14.1 Particles and Point Sprites
14.2 Particle System Components
14.3 Concrete Particle Systems: Snow, Firework, Particle Gun
14.4 Summary
Chapter 15: Picking
15.1 Screen to Projection Window Transformation
15.2 Computing the Picking Ray
15.3 Transforming Rays
15.4 Ray-Object Intersections
15.5 Picking Sample
15.6 Summary
Chapter 16: Introduction to the High Level Shading Language
16.3 Variable Types
16.4 Keywords, Statements, and Casting
16.5 Operators
16.6 User Defined Functions
16.7 Built in Functions
16.8 Summary
Chapter 17: Introduction to Vertex Shaders
17.1 Vertex Declarations
17.2 Vertex Data Usages
17.3 Steps to Using a Vertex Shader
17.4 Sample 1: Diffuse Lighting
17.5 Sample 2: Cartoon Rendering
17.6 Summary
Chapter 18: Introduction to Pixel Shaders
18.1 Multitexturing Overview
18.2 Pixel Shader Inputs and Outputs
18.3 Steps to Using a Pixel Shader
18.4 HLSL Sampler Objects
18.5 Sample Application: Multitexturing in a Pixel Shader
18.6 Summary
Chapter 19: The Effects Framework
19.1 Techniques and Passes
19.2 More HLSL Intrinsic Objects
19.3 Device States in an Effect File
19.4 Creating an Effect
19.5 Setting Constants
19.6 Using an Effect
19.7 Sample 1: Lighting and Texturing in an Effect
19.8 Sample 2: Fog Effect
19.9 Sample 3: Cartoon Effect
19.10 EffectEdit
19.11 Summary
Appendix: An Introduction To Windows Programming
A.1 Overview
A.2 Hello World Windows Application
A.3 Explaining Hello World
A.4 A Better Message Loop
A.5 Summary
Bibliography
Library of Congress Subject Headings for this publication: Computer games Programming, DirectX```