Overview
Introduction to 3D Game Programming with DirectX 10 provides an introduction to programming interactive computer graphics, with an emphasis on game development, using DirectX 10. The book is divided into three main parts. Part I explores basic mathematical tools, Part II shows how to implement fundamental tasks in Direct3D, and Part III demonstrates a variety of techniques and special effects.
With this book understand how vectors, matrices, and transfomations are used in the creation of computer games; discover how to implement lighting, texture mapping, blending, and stenciling to increase the realism of your scenes; explore techniques for creating special effects, including terrain rendering, shadow mapping, particle systems, and reflections; learn about new Direct3D 10 features such as geometry shaders, the stream out pipeline stage, texture arrays, and primitive IDs; test your knowledge and programming skills with the end-of-chapter exercises.
Synopsis
Introduction to 3D Game Programming with DirectX 10 presents an introduction to programming interactive computer graphics, with an emphasis on game development, using Direct3D 10. It teaches the fundamentals of Direct3D and shader programming, after which the reader will be prepared to go on and learn more advanced techniques. The book is divided into three main parts. Part I explains the mathematical tools that will be used throughout this book. Part II shows how to implement fundamental tasks in Direct3D, such as initialization, defining 3D geometry, setting up cameras, creating vertex, pixel, and geometry shaders, lighting, texturing, blending, and stenciling. Part III is largely about applying Direct3D to implement a variety of interesting techniques and special effects, such as working with meshes, terrain rendering, picking, particle systems, environment mapping, normal mapping, shadows, and rendering to textures. The book is designed for intermediate-level C++ programmers who are completely new to Direct3D and game programming, 3D programmers experienced with an API other than Direct3D (e.g., OpenGL), and programmers experienced with previous versions of Direct3D wishing to learn the latest version--Direct3D 10.