
Introduction to 3D Game Programming with DirectX 9.0c: A Shader Approach presents an introduction to programming interactive computer graphics, with an emphasis on game development, using real-time shaders with DirectX 9.0. The book is divided into three parts that explain basic mathematical and 3D concepts, show how to describe 3D worlds and implement fundamental 3D rendering techniques, and demonstrate the application of Direct3D to create a variety of special effects.With this book: * Understand basic mathematical tools used in video game creation such as vectors, matrices, and transformations. * Discover how to describe and draw interactive 3D scenes using Direct3D and the D3DX library. * Learn how to implement lighting, texture mapping, alpha blending, and stenciling using shaders and the high-level shading language (HLSL). * Explore a variety of techniques for creating special effects, including vertex blending, character animation, terrain rendering, multi-texturing, particle systems, reflections, shadows, and normal mapping. * Find out how to work with meshes, load and render .X files, program terrain/camera collision detection, and implement 3D object picking. * Review key ideas, gain programming experience, and explore new topics with the end-of-chapter exercises.
5 Stars Great Book
Great read, I read 3D Math Primer for Graphics and Game Development (Wordware Game Math Library) along with this book to cover the math portion in greater depth.
5 Stars Excellent intro to DirectX 9.0c
Excellent introduction to DirectX 9.0c. Material is explained very clearly. You need to have at least an intermediate knowledge of C++. What is good about this book is that it also improves your knowledge of C++. I consider myself an average C++ programmer because I only use it occasionally for my work projects but this book has also improved my C++. Strongly recommended as an intro text to Direct3D. Keep a reference book like Deitel’s C how to program or Horton’s Visual C++ 2008 at hand in case you get lost and you are golden as far as how much you will learn.
4 Stars Fantastic at what it does do, but missing some stuff
In terms of learning Direct3D and HLSL, this book is absolutely fantastic, 5 stars, can’t fault it.
However.
The title is somewhat misleading. This book isn’t really about 3D game programming. It’s about 3D graphics programming, in a games context. As some others have written, it lacks detailed info on things like how to structure your whole game to bring it all together, how to construct a proper scene graph, or how to implement other important things for a game like collision detection etc etc.
That said, you can’t expect to get everything out of one book, no matter what some books try to sell themselves as. So don’t let my criticism put you off getting this wonderful text! This is still my number one recommendation for anyone looking to get a D3D book! Just be aware that you’re going to need other resources for things beyond the graphical side of your game. But with the amount of books and tutorials specifically for things like AI, game physics etc, and websites like gamedev.net, this is hardly an issue.
In short, buy this book, you won’t regret it!
4 Stars Good DirectX Book Using OOP
This is a very good book for DirectX. The author uses a Framework for all of his examples. I have always been against using Frameworks when learning a new subject, but Luna does a good job presenting it. You must know the ins-and-outs of object oriented programming to fully understand this book.
As far as the code. The code was written for Visual Studio 2005, but you can use it in VS2003 by opening up the .vcproj file in a text editor, (like Notepad), and changing the number at the top of the file from 8.00 to 7.10 (7.00 for VS 2002). Then open the .vcproj (not the .sln file) file in VS200X and re-save everything and your ready to go.
5 Stars Excellent resource for Direct3D 9
I have the previous version of this book also, and I must say Frank Luna has done an excellent job of beefing up the text with many more techniques and samples. There is a ton of stuff in here, including 2D sprites, texture mapping, blending, shadow mapping, terrain generation, cameras, particles, meshes and skeletal animation. The framework he develops for the chapters is actually pretty good and could be used as the basis for a basic game.
It can be quite heavy going, as he also explains the maths behind a lot of the techniques. But I think this is still the best Direct3D 9 book out there. Note he has also produced a sequel for Direct3D 10.