| | Copyright |
| | Foreword |
| | About the Author |
| | Acknowledgments |
| | We Want to Hear from You! |
| | Introduction |
| | | The History of Managed DirectX |
| | | Namespaces Included |
| | | Getting Started |
|
| | Part I. Beginning Graphics Concepts |
| | | Chapter 1. Introducing Direct3D |
| | | Getting Started |
| | | The Direct3D Device |
| | | Making Our Triangle Three Dimensional |
| | | Automatic Device Resets During a Resize |
| | | We've Got Camera and Action; What About Lights? |
| | | Device States and Transforms |
| | | Swapchains and RenderTargets |
| | | In Brief |
|
| | | Chapter 2. Choosing the Correct Device |
| | | Enumerating Your System's Adapters |
| | | Determining Whether a Hardware Device Is Available |
| | | Checking Device Capabilities |
| | | In Brief |
|
| | | Chapter 3. Rendering Using Simple Techniques |
| | | Using Vertex Buffers |
| | | Texturing Our Objects |
| | | In Brief |
|
| | | Chapter 4. More Rendering Techniques |
| | | Rendering Other Primitive Types |
| | | Using Index Buffers |
| | | Using Depth Buffers |
| | | In Brief |
|
| | | Chapter 5. Rendering with Meshes |
| | | Defining the Mesh |
| | | Using Materials and Lighting |
| | | Using Meshes to Render Complex Models |
| | | In Brief |
|
| | | Chapter 6. Using Managed DirectX to Write a Game |
| | | Choosing the Game |
| | | Writing the Game |
| | | Adding a Movable Car into Your Scene |
| | | Adding Obstacles |
| | | Implementing the Finishing Touches |
| | | In Brief |
|
|
| | Part II. Intermediate Graphics Concepts |
| | | Chapter 7. Using Advanced Mesh Features |
| | | Cloning Mesh Data |
| | | Optimizing Mesh Data |
| | | Simplifying Existing Meshes |
| | | Welding Vertices in a Mesh |
| | | Making Lots of Little Meshes Out of One Big One |
| | | In Brief |
|
| | | Chapter 8. Understanding Resources |
| | | Starting with the Resource Class |
| | | Using the Vertex and Index Buffers |
| | | Locking Our Buffers |
| | | Controlling How Buffers Are Locked |
| | | Using Texture Resources |
| | | Locking Textures and Getting Descriptions |
| | | In Brief |
|
| | | Chapter 9. Using the Other Mesh Types |
| | | Simplifying Meshes |
| | | Controlling the Level of Detail with Progressive Meshes |
| | | Rendering Patch Meshes |
| | | Seeing the Tessellation Levels |
| | | In Brief |
|
| | | Chapter 10. Using the Helper Classes |
| | | Drawing Lines |
| | | Drawing Text |
| | | Rendering to Surfaces |
| | | Rendering Environment Maps |
| | | In Brief |
|
|
| | Part III. Advanced Graphics Concepts |
| | | Chapter 11. Introducing the Programmable Pipeline with the High Level Shader Language |
| | | Rendering a Single Triangle Without Using the Fixed-function Pipeline |
| | | Rendering Shader Programs with Techniques |
| | | Rendering Meshes Using the Programmable Pipeline |
| | | Using HLSL to Write a Pixel Shader |
| | | In Brief |
|
| | | Chapter 12. Using the High Level Shader Language |
| | | Using Simple Formulas to Simulate Animation |
| | | Determining Color by Blending Textures |
| | | Lighting Textures |
| | | Adding Specular Highlights |
| | | In Brief |
|
| | | Chapter 13. Rendering Skeletal Animation |
| | | Creating the Frame Hierarchy |
| | | Loading Meshes with Animation |
| | | Rendering Animated Meshes |
| | | In Brief |
|
|
| | Part IV. Sound and Input |
| | | Chapter 14. Discovering the Wonders of Sound |
| | | Including the Sound Namespace |
| | | Loading and Playing a Static Sound |
| | | Using Sounds in 3D |
| | | Manipulating the Listener |
| | | Using Effects with Your Sounds |
| | | In Brief |
|
| | | Chapter 15. Controlling User Input |
| | | Detecting the Devices You Can Use |
| | | Using the Keyboard Device |
| | | Using the Mouse Device |
| | | Using Game Pads and Joysticks for User Input |
| | | Using Force Feedback |
| | | In Brief |
|
|
| | Part V. 2D Graphics |
| | | Chapter 16. Using Direct3D for 2D Graphics |
| | | Creating a Full Screen Rendering Device |
| | | Rendering Sprites |
| | | Animating Your Sprites |
| | | In Brief |
|
| | | Chapter 17. Using DirectDraw for 2D Rendering |
| | | Creating a Full Screen DirectDraw Device |
| | | Animating Your Sprites |
| | | In Brief |
|
|
| | Part VI. Adding Networking |
| | | Chapter 18. Implementing Peer-to-Peer Networking Using DirectPlay |
| | | Understanding DirectPlay Addresses |
| | | Creating a Peer Connection |
| | | Getting into a Session |
| | | Using the Event Model |
| | | Performing Actions in Our Session |
| | | Handling Lost Sessions |
| | | In Brief |
|
| | | Chapter 19. Creating a Client/Server Session |
| | | Creating a Dedicated Server Session |
| | | Connecting a Client |
| | | Detecting Users Joining and Leaving Your Session |
| | | Sending Data Packets |
| | | Making the Client React |
| | | Handling the Server Lost Event |
| | | In Brief |
|
| | | Chapter 20. Understanding Advanced Networking Features |
| | | Having a Detailed Look at the Event Model |
| | | Detecting Bandwidth and Network Statistics |
| | | Launching Applications Using a Lobby |
| | | Making Your Application Lobby Aware |
| | | Adding Voice Chat to Your Sessions |
| | | In Brief |
|
| | | Chapter 21. Achieving Maximum Performance |
| | | Using Value Types as Objects |
| | | Understanding the Performance Implications of the Event Model |
| | | Understanding the Cost of Methods |
| | | In Brief |
|
|
| | Part VII. Appendices |
| | | Appendix A. Using the Diagnostics Assemblies |
| | | Enumerating Everything in the System |
| | | Enumerating Specific Items You Care About |
|
| | | Appendix B. Playing Music and Videos |
| | | Playing Back an Audio or Video File Simply |
| | | Using the Features of Video Files |
| | | Using Video as Textures |
|
|
| | Index |