This book presents an introduction to programming interactive computergraphics, with an emphasis on game development, using Direct3D 10. Itteaches the fundamentals of Direct3D and shader programming, after whichthe reader will be prepared to go on and learn more advanced techniques.The book is divided into three main parts. Part I explains the mathematicaltools that will be used throughout this book. Part II shows how to imple-ment fundamental tasks in Direct3D, such as initialization, defining 3Dgeometry, setting up cameras, creating vertex, pixel, and geometryshaders, lighting, texturing, blending, and stenciling. Part III is largelyabout applying Direct3D to implement a variety of interesting techniquesand special effects, such as working with meshes, terrain rendering, pick-ing, particle systems, environment mapping, normal mapping, shadows,and rendering to textures.
For the beginner, this book is best read front to back. The chaptershave been organized so that the difficulty increases progressively with eachchapter. In this way, there are no sudden jumps in complexity that leave thereader lost. In general, for a particular chapter, we will use the techniquesand concepts previously developed. Therefore, it is important that you havemastered the material of a chapter before continuing. Experienced pro-grammers can pick the chapters of interest.
Finally, you may be wondering what kinds of games you can createafter reading this book. The answer to that question is best obtained byskimming through this book and seeing the types of applications that aredeveloped. From that you should be able to visualize the types of gamesthat can be developed based on the techniques taught in this book and someof your own ingenuity.