DirectX 9, a brand-new version of Microsoft's multimedia libraries, features the latest 3D graphics technology in the form of Direct3D 9. Direct3D Programming will cover everything a C++ programmer needs to know in order to use Direct3D 9 to create interactive 3D worlds. The book begins with an overview of basic Windows and 3D programming techniques and works its way through the library, starting with getting Direct3D up-and-running all the way to more advanced topics such as textures, lighting, and fog. All concepts and programming techniques are demonstrated in example programs that the reader can build himself using detailed step-by-step instructions.
Introduction. 1. Exploring Direct3D.
What Is Direct3D? The Direct3D Library. What Direct3D Can Do. Direct3D Architecture on Windows. Direct3D Example Applications. In Brief. 2. Writing a Windows Program.
Windows the Old-Fashioned Way. The Minimum Windows Application. Digging into the Program. Building a Basic Windows Application. In Brief. 3. Programming 2D Computer Graphics.
Understanding Screen and Cartesian Coordinates. Defining Vertex and Shape Data Types. Transforming Shapes. Using Matrix Math in Transformations. Building a 2D Graphics Application. Running the Graphics2D Application. Understanding How the Graphics2D Program Works. Exploring the Program Listings. In Brief. 4. Programming 3D Computer Graphics.
Understanding the 3D Coordinate System. Defining a 3D Object. Moving from Local Coordinates to Screen Coordinates. Transforming 3D Objects. Building a 3D Graphics Application. Running the Graphics3D Application. How the Graphics3D Program Works. Presenting the Program Listings. In Brief. 5. Getting Direct3D Up and Running.
Creating a Direct3D Object. Creating a Direct3D Device. Releasing Direct3D Objects. Your First Direct3D Program. Understanding Display Modes. Checking for Display-Mode Availability. Windowed Versus Full-Screen Applications. Drawing to the Display. Programming a Windowed Application. In Brief. 6. Understanding Direct3D Surfaces.
Exploring Direct3D Surfaces. Transferring Image Data Between Surfaces. Using Surfaces for Real. Digging Deeper into the StretchRect() Method. Building the CopyRectsApp Application. Exploring the CopyRectsApp Program. Performing Computer Animation with Surfaces. Building the AnimationApp Application. In Brief. 7. Drawing Graphics Primitives.
Defining a Point. Defining a Shape with Vertices. Using Vertex Buffers. Rendering Graphics Primitives. In Brief. 8. Direct3D Transformations.
Understanding Direct3D Transformations. Building the MatrixTriangleApp. Seeing Transformations in Action. Building 3D Objects from Polygons. Performing Multiple Transformations. Understanding the Order of Transformations. In Brief. 9. Lighting 3D Objects.
Understanding Types of Source Light. Types of Reflective Light. Exploring Other Attributes of Lights. Defining a Direct3D Light. Defining an Objects Material. Defining Normals. Building the LightApp Application. Experimenting with Lights. In Brief. 10. Using Direct3D Textures.
Applying Texture Mapping to a Polygon. Creating a Texture Surface. Understanding Texture Coordinates. Using Texture Coordinates. Rendering Textures. Setting the Texture. Creating the TextureApp Application. Implementing Transparency. Creating the TransparencyApp Application. In Brief. 11. Programming Alpha Blending and Fog.
Introducing Transparency with Alpha Blending. Understanding Alpha Blending. Creating th.e VertexAlphaApp Application. Using Fog. Creating the VertexFogApp Application. In Brief. 12. Creating a 3D World.
Introducing Direct3DdemoApp. Exploring the Program. Exploring the Full Program. In Brief. Index.