amazon.com:
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.
amazon.com:
Presents an introduction to programming interactive computer graphics, with an emphasis on game development, using real-time shaders with DirectX 9.0. 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 elementary 3D techniques, such as defining 3D geometry, lighting, texturing, alpha blending, and stenciling by using shaders and the HLSL. Part III is largely about applying Direct3D to implement a variety of interesting techniques and special effects, such as working with meshes, character animation, terrain rendering, picking, particle systems, environment mapping, normal mapping, and rendering to textures.
Great Book
21 Nov 2008 @ amazon.com
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.
Excellent intro to DirectX 9.0c
16 Nov 2008 @ amazon.com
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.
Good DirectX Book Using OOP
15 Nov 2008 @ amazon.com
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.
Fantastic at what it does do, but missing some stuff
21 Aug 2008 @ amazon.com
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!
A great intro to the world of DirectX graphics programming
04 Jun 2008 @ amazon.com
I’ve been programming for two years now and have relied on online tutorials and sample code for "learning" how to do graphics programming with directX. I needed a basic knowledge of 2D graphics programming for a class, but after a semester of blindly using the directX sprite drawing funtions, I decided to stop, step back, and actually understand directX from the bottom, up.
I purchased this book recently and have been working through the chapters (currently up to the first shader and effects content). I find this book to be a great way to learn to be comfortable with using directX for graphics programming (and some game programming in general with very handy sections on win32 programming for games, input, etc). Like a previous reviewer said, this book is by no means meant to be all about shaders. Instead, this book will give you a strong foundation on graphics with the API with a little taste of shaders. Im sure you could learn all of this content if you got lucky enough to find all the right well writen tutorials, but its very convenient for me to have everything I need in one book.
Recommended if:
- You have never done graphics and wish to take a directX method
- You have done graphics before and want to learn the API (makes a great reference)
- You want a complete ’beginners guide’ to graphics for games and game programming with the API
Not if:
- You do not meet the author’s prerequesits
- You want a book on shaders
Great for DirectX, but missing some key ingredients
02 Mar 2008 @ amazon.com
First, I would like to say that this book is very well written and extensive. It covers all the basics of rendering in 3D with DirectX, especially how to use shaders, which some other intro books gloss over. As each part of the D3D framework is presented the objects, settings and parameters are explained in great detail. As other reviewers mentioned, it also includes a rudimentary framework, however don’t expect too much in that respect. The framework is not something you can run a game on, it exists only as a teaching tool (I’m referring to the simple framework that the examples are presented with, not the WorldWare engine).
Having said that, there are two down sides to this book. The first is that although D3D is explained in depth, it sometimes reads like Direct3D reference documentation - endless lists of parameter A does blah, blah blah, parameter B does blah blah blah. This is helpful, don’t get me wrong - I just wish it was tucked away in an appendix. Unless the parameters do something surprising, I don’t want the obvious explained to me. This may just be a personal preference, and you may actually find it helpful.
The second and bigger problem is that the book really doesn’t address game state management or how to structure a *real world* game. It does tell you how to create particle systems, bone animation, texture effects, terrains, etc, but it never tells you how to put it all together, which is really not trivial. I wouldn’t fault it for this if the name of the book were "Introduction to DirectX programming", but it’s called "Introduction to 3D Game Programming with DirectX". In my opinion, it should cover the basics of how to structure a game, which it doesn’t. You *will* be able to build a game after reading this book, but I found myself turning to online tutorials for game state management and how to organize objects, which should be the first thing you learn (in my opinion).
Overall, the book has been a very important reference to me and I highly recommend it.
Not for HLSL
08 Feb 2008 @ amazon.com
This book is not for you if you want to learn HLSL. It explains everything regarding 3d videogame programming. The shader approach is very poor (about 30/600 pages).
Good Reference Book
25 Jan 2008 @ amazon.com
I would have to agree with the other reviewers on how great the book is; but it is a great reference _NOT_ a book to teach you DirectX9.0c. It goes very in-depth with graphics programming and I would only recommend it to professional graphics programmers. Note that this book only teaches Direct3D and _ONLY_ Direct3D, and as you know DirectX is a full featured SDK with DirectSound, DirectInput, etc. So in case you wanted a book that covers all of DirectX9.0 then look else ware.
I can compare this book to "Beginning DirectX9" by Wendy Jones and I would have to say that "Beginning DirectX9" is a better book to learn DirectX9 as a whole, and better to for a beginner to learn Direct3D. One of the biggest reasons I say this is because the source code in this book (IT3DGP) is not very clear in its implementation and doesn’t match with the chapters of the book. There were a lot of topics that are referenced in the book that I would have liked to see an example of but there was NO source code. For programmers who actually want to learn what the author is writing about the source code is essential to the process.
BUY if...
...you want a reference for the Direct3D9 library.
...you are a graphics programmer.
AVOID if...
...you want to learn DirectX, and NOT just Direct3D.
...you are a beginning Direct3D programmer.
...need clear source code, which matches chapters.
The best book on Shaders i have read so far
28 Dec 2007 @ amazon.com
Simply, what i wrote in the title. This is THE BEST book i have read so far about Shaders and Directx. All the introductory chapters are great and clearly explain a lot of stuff for newcomers or people that doesn’t have a solid base on maths. Then it starts with the directx stuff with some great examples, all clearly explained and easilly to implement. You can even download the code from their webpage. I really recommend it if you want to get your hand on Shaders.
Hey Mikey, he likes it!
21 Dec 2007 @ amazon.com
I am not a game programmer. I’m a freshman in college who’s trying to become a game programmer. I researched for months online, trying to find a book that might help me at least start. Every book I found was denounced by critics saying it was unrealistic. The code never compiled. This was wrong. That was wrong.
At last I found this book. And nothing was wrong with it. It started with some math, and then slowly, carefully, built up my understanding of creating graphics, all while using examples I actually cared about. The author scatters his code around in the book, but you can download his examples online, and they run beautifully (note, I did have to figure out how to link a lot of libraries).
And now, quite suddenly, when I look at more complicated programming books, I understand what they’re talking about. This book did its job. It gave me a basic understanding of the principles I need to know to move forward with my game-programming education.
Huzzah.
One of the best technical books I’ve ever read
20 May 2007 @ amazon.com
I’m a software developer and am going to start working in games development shortly. I needed to get up-to-speed on DirectX 9.0c for games development really fast, and I thought I would have to take an expensive course at the local university to do so. After just completing the first 4 chapters of this book, I’ve changed my mind. This book has everything you would want to get a solid introduction into 3D games development. If you have any ambition to enter this field, get this book, and if you’re a first-time game graphics developer like me, read it from front to back. You won’t reget it.
THE 3D Game Programming Book to Get!
14 May 2007 @ amazon.com
This book is absolutely amazing! I could gush for pages about what a great book this is, so I will keep it short and tell you simply to buy this book if you want a great intro to 3D Game Programming!
You gonna have to work for it!
08 Mar 2007 @ amazon.com
Execellent Book. There’s a few issue’s with compiling code you will need visual studio 2005 if you dont want to pull all your hair out.
But I learn somthing new every time I read a Chapter and thats what its all about.
Excellent for anyone wanting to learn Direct X, HLSL and other game concepts
02 Jan 2007 @ amazon.com
Overall this is an exceptionally well written book. The text is easy to read, and concise, though that’s not to say you understand everything the first time you read it.
The code framework is also pretty good, the naming conventions are decent and the code is clearly written. The framework is consistent throughout the book, and uses inheritance and minor polymorphism which manages to hide a lot of the Direct3D / Win32 initialization, so once you are past these chapters you needn’t concern yourself with this code again, and you can intend focus on the code that Frank is trying to explain.
The design is also very modular, a good example of this is found in Chapter 21: Exercise 4 where it asks you to integrate an Environment Mapped sphere for the sky, and Normal mapped water, into a scene which shows a Castle and trees / grass. This was pretty easy, as it just required shifting a few art / source files and tying some loose ends.
The book contains many exercises, a lot of which I found very helpful in understanding the material presented in the text and code samples, they give a good sense of accomplishment and I recommend them if you want to fully understand the concepts taught, and most are generally doable with a bit of research into the DirectX SDK, and rereading the text.
The text also does an excellent job of explaining key DirectX functions, and is usually a lot more approachable than the SDK. It also explains the use of the DirectX texture tool, and Terragen ( a free terrain generator, which is very easy to use)
For anyone looking to learn DirectX 9, HLSL, and the fundamental concepts behind games, then this book will serve as a solid foundation for those willing to take the time to read and understand it.
Very good book for learning how to use DirectX9
24 Dec 2006 @ amazon.com
This is a great book. Mr. Luna provides an incredible amount of information all with good detail and clear wording. He doesn’t waste time by teaching you irrelevant or outdated topics that aren’t used anymore like other books. The more difficult topics are explained well and example code is abundant. This book is recommended for any aspiring game programmer.
This book is nicely laid out!
12 Sep 2006 @ amazon.com
I have been publishing 2-d and flash games for a bit, and now need to hit DirectX for 3d again (stopped at v8) and need to catch up. There were several things I needed for the new game project starting and it was easy to find all of them right off the bat. I checked first in the index. e.g. I need landscape/terrain generation, .x file loading, and concepts described in pure mathematics (not pseudo code) before showing the actual code. Don’t be afraid of matrix math/calculus and get this book. It is a total re-write from the ground up of a previous book. I like this guy.