Tom Miller
1 Annotated code listing
You get what you pay for. For the admission price, you get a quick no-nonsense walkthrough of someone else's exploratory code in Direct3D. You don't get commentary on what, why, and motivations. Maybe I'm a bit jaded, or maybe C# reads almost like English. The shallow explanatory text is a little jarring to read after browsing the code listings. ("Didn't I just read this?")
Polished versions of the book's code ships with the DX9.0c SDK. This is both good and bad. The book was written by a key member of the managed DirectX team. This is a good thing. OTOH, the accompanying text offers very little beyond the SDK samples. There is some compensating value in being able to browse it offline.
The coding style is clear and linear, perhaps just right for illustrating concepts, but not one you want to emulate. Overall, the book lacks the deeper discussion that the SDK samples want for; you won't find that between its covers. While far from a hearty recommendation, it's not at all a condemnation. The book is precisely what it purports to be: a kickstart primer to programming DirectX in C#, teaching by example but not much beyond.
2 Same game different name.. another rip off
You can not get any of the sample code to compile in Visual Studio 2003. compiler kicks out error after error in the debugger. Invalid parameters, null reference, etc. etc. after chapter 3 forget about debugging. Hours and hours of researching MSDN and still no executeable code. So once again, you can create that pretty little 3 colored triangle, thats about it. When are "experts" ever going to give us some practical learning tools? C# the OOP oops! :grumbles: SOS!
3 Good start
First off, if you don't have a firm grasp of C# and the .NET Framework, at least in a basic sense, this book isn't for you. I think the cover and intro make this obvious, but people forget to read those sometimes!
That said, I doubt I'll ever have to write DX9 code myself, but as someone that likes to play with code not involving a financial application in his spare time, this is a beautiful introduction to the platform. You can do some really neat things without a lot of experience. If you want to make something dance around in a window on a Windows machine, get this book. Then graduate to bigger picture graphics theory (a place I have no desire to go).
4 Par for the course
There are almost no books on directX 9.0 and C#, so any help is appreciated. First thing is that the sample code that is promised on the CD just isn't there, though some other very interesting ones are. The best demos on the CD are all copyright Microsoft, so I'm not sure how much you can really use them as helper classes(?). The version of direct X is already behind, so there are changes to make if you have Summer 2004, like I do. Chapter 1 explains that without normals, surface colors are all black, then every example after that has no normals, so they do not show up. All and all if you are a good coder and have the time you can work through it and learn some important lessons. Since material is so scare for C# Direct X, I would give this book an average grade of 3 stars.
5 You will need C#
Originally I gave this book only one star due to my high disappointment of not having any executables on the CD and not being able to view the sample code with Visual C++ 6.0.
That review was written on the day I got the book in the mail. You know how it is, you order something and when it comes in you immediately want to play with your new toy. I could not.
After reading the book for awhile, I have come to the conclusion that I was being too harsh. The book does have a lot of good stuff in it. You just need Visual C#.
Personally, I think the author should have put Visual C++ 6.0 versions on all examples on the CD. After all, Microsoft has Visual C++ versions of all their DirectX 9.0 sample code.
So, for all you Visual C# people out there, I do highly recommend this book. For the Visual C++ people, the author does an excellent job of explaining the concepts. But it will be a learning experience to translate the code to C++.
By the way, not all books written in C# require C#. Clayton Walnum's Direct3D Programming Kick Start was written in C#, but the sample code was such that I was able to view it with Visual C++ 6.0, and with some minor modifications was able to get it to compile. It had .cpp files. Miller's book does not. Walnum also had executables.
To conclude: I give this book 4 stars. The reason why 1 star appears above my review, is that when you go to edit your review, you are NOT allowed to change your star rating. Just the text.
6 Excellent Book - Code needs slight tweaking though
This book is one of the best DirectX books out there. Managed DX9 is the newest thing out there, and it will save developers tons of time when coding games and other applications that use DX for rendering. The code requires a few tweaks though b/c of recent changes to the DX api with the October 2004 release. You have to comment out references to Lights.Commit(); because the function was removed in the newest versions of DX 9.0C. Other than that, the code performs flawlessly and the examples are easy to follow.
7 Excellent information for the experienced developer
What I really found refreshing about this book is that it speaks to the experienced developer audience who is looking for information on how to move into game or 3D graphics development. Too many of these "how to program DirectX" books I've read (and I've read quite a few of them) assume the audience is a casual developer who needs to be brushed up on the basics of what it means to write a program.
I found the book's organization to be well done. It starts with simple but interesting examples of creating and manipulating 3D objects but it moves quickly enough that by chapter 6 (out of 20 or so chapters) you're already writing a complete game. With that out of the way, the rest of the book delves into good detail on the power and breadth of the DirectX APIs.
I highly recommend this book for developers who want to learn how quickly and easily they can extend their existing knowledge of how to write .NET applications into the 3D realm.
8 Excellent
This book lives up to it's title, it's concise and quick. It's definately an easy read. The author did an awesome job on presenting the information with a steady pace and didn't tie you up with nonsense windows C# programming API features unless necassary. There are a few flaws in the source code, but as programmers, and problem solvers the fixes should come natural due to the fact that most are trivial from what i've found.
I'm not a C# guru, but I took his code and from what I knew in C# did all of his projects. From there, ported everything into C++ to see if I could.
This is a great begining book, I wish more authors would follow his style and leave the frothy programming out that serves no purpose except to show how great of a programmer they are. This book gives you a strong base as a beginner for what you need which leads to what you will want. I recommend it highly for the DX9 beginner.
9 Great book on managed DirectX---- For a change
This book is great for those who enjoy learning by experimenting. The author explains a little about the API, does what any novice would try to do, then explains what causes it to not work smoothly (and how to fix it). This fosters a deep understanding not only of the API, but also of how it interacts with both Windows and hardware. This book assumes you have studied a little trignometry, but no more. I would highly recommend this to any developer who wants a painless introduction to the world of multi-media programming.
10 CONCISE
CONCISE is one of the two words that come to mind, and naturally, KNOWLEDGEABLE is the other. The only flaw I can find is about some lack of "overview" of the process that may result from the "discovery" approach the author uses, but that, we can live with it... only if the index was not itself also too "concise". That depreciates the book "as reference" a little bit (but anyhow, the help file should be the ultimate reference).
For the very good points of the book, the book does not stay evasive and superficial, it travels over all the main various points that DirectX can deliver, in a refreshing way... with illustration of common "problem" while you proceed, which can be very useful futher on when you are alone and confronted to the same "problem pattern": hey, all my stuff is black... oh, yes, in chapter one Tom Miller also got that problem at some point... etc. And the book proceed fast, very fast. A standard book covering the same matter would probably be in three large tomes, but the style of the author delivers the juice within far less pages. That is not neccessary to say the reader can walk through all the stuff in much less time, on the other hand, since you can't read absent mindly any paragraph. Another great stuff is that the author SHARES his experience, that is something I really appreciate, since you also acquire a sense of do and avoid, much more than the traditionnal approach of doing a program, one way (without seeing the "wrong ways" you can soon or later fall upon). Sure, the code does not seem to be always optimized for execution, but that is probably wanted for a better illustrattion of concepts (simplicity over optimization).
I don't know if previous knowledge of DirectX or C# is required, I got, and I really enjoy the book... maybe I would be a little bit more zombie-like, mind "overloaded" with too much new stuff (without time to "plac‘" and to catalog the acquired knowledge in a very short time), but I also got some other books on DirectX, and this one is among the best I have put my hand on. It may not go as deep as a dedicated book on ONE specific piece of DIrectX, but don't judge negatively the relatively small number of pages in the book!
Note that the book is about DirectX, not, primary, about game programming.
11 AWESOME!
This book is amazing! If you are looking for a touch up on C#, look somewhere else, becuase this book does exactly what it states in the title. It teaches you Managed DirectX 9.0b w/ summer update (included on CD). It assumes you already know the ins and outs of C# and would like to learn 3D and some 2D programming. (also includes some networking w/ direct Play).
AMAZING!!
12 A no brainier
This book gives everything to you in the perfect size bites, each with its own special sauce. He explains things to you with a "watch THIS" enthusiasm. The sidebar Shop Talk sections where very interesting with an almost behind the music quality to them. It is a great book because it isn't one of those "at the end of this book you'll have an engine" books that are typical. He's showing you the ropes so you can sort that kind of thing out for yourself. It's a no brainier that the book is good once you find out that Miller is the designer and development lead for Managed DirectX. I'd say it is the first book anyone just starting with graphics or game development should buy, assuming they are familiar with C#.
13 One of the better books on managed directx
It's a pretty good introductory book on Managed Directx 9. If you have studied basic linear algebra and physics before, you wouldn't have any trouble understanding the topics in book.
However, as the book title implies, it does not get in deep enough for you to start writing video games in 3D using MDX9 right away.
In overall, I am highly satisfied with the book but somewhat disappointed with the breadth and depth of the topics it covers.
I am very sure that the author's ready to release the next book on the advanced MDX topics and am ready to buy his next book as it comes out.
14 This explains more in less time than all the other DX9 books
This book truely is what it claims to be: A kickstart! It moves fast and may give people who are not familiar with Visual Studio .NET a hard time keeping up. But this is what I really liked about this book! You want to learn how to program? Find a different book! You want to get into DirectX development? Look no further!
Just the first chapter explains more than practically any other book about Managed DirectX I have read. Sure, it doesn't have all the long and ellaborate explanations some of the other books have. But for some reason, I still felt like a had a better understanding of how to do things the 'right way' after reading this book. This may have to do with the fact that the author of the book is also the author of the API.
The book covers a lot of ground. Most of the chapters deal with Direct3D (which is what I was interested in), although the author does touch on other subjects such as DirectInput. The pace is fast and the author covers the whole range from primitive drawing techniques to using higher level concepts, such as meshes, and eve the HLSL (high level shader language), which many would consider an advanced topic. Well, I do anyway... ;-)
The book doesn't just provide shallow introductions. In fact, the author doesn't even shy away from topics such as skeletal anomation of meshes, or writing pixel and vertex shaders to create specular highlights and per-pixel lighting effects.
Well done! This book will explain a lot, and it does so quickly. However, if you have no experience with 3d graphics at all, you may want to follow up with another book, such as 'Introduction to 3D Game Programming with DX9' by Frank D. Luna, which will give you a good understanding of related topics, such as a lot of the underlying math used for matrix transformation and vector mechanics. This can be done as a second step though, since this book does not require knowledge of these things, as it uses functions provided by the Managed API for practically everything it does.
As we are starting do work more with 3d graphics as a company, I have a need to get team members up to speed on the subject matter. This is the book I recommended they all read...
15 Flawed, but good enough.
Managed DirectX 9 Kick Start has a few problems, but the important thing to keep in mind is that it's good enough to learn the material. There writing is a little annoying (Miller says 'naturally' and 'quite simply' several times per page), and I personally do not like the programming style he used, but the listings in the book are fine and the explanations make it clear what he's doing.
The most significant issue I found was that Miller took an extremely procedural, nonfunctional approach to the code examples, which makes them much less readable. If they had been more object-oriented it would have been easier to understand and quicker to type.
Also, if you happen to use Visual Basic (I don't know why you'd do such a thing, but...), beware: the CD has VB code in it, but the book does not.
I recommend this book it to anyone who is comfortable with C# and is prepared to do a little work to figure some of the things that aren't explained in great depth, just make sure you go into it with a good grasp of the language.
16 Good "kick start," though style is a little annoying
This book delivers what the title says it should, that being a good overview of how to use the DirectX classes of the .NET DirectX SDK. Some of the 3D math and terminology is a little intimidating, but having a good base in C# and casually reading about graphics hardware from time to time, it only required that I read more carefully and actually write the code samples.
I was pleased to see a complete application in one chapter that shows how to write a game. While not insanely complex, it does give you a great overview on how make 3D objects do stuff in space.
The order of topics covered is logical and fairly complete, though having some small bit of background in using .NET's network classes, I'm not entirely sure if the networking stuff is entirely necessary (though it certainly is a lot easier to follow than the normal base classes).
One annoying thing... annoying enough to make me write about it, is that the author has uses the words "quite simply," "naturally" and "easily" in every other sentence. I don't know how that got through editorial review. Of course the subject matter is all of those things to the author... he wrote the managed DirectX classes! It is only an issue of style, but it's so frequent that it's a distraction.
17 Excellent book
This is a great book. The author clearly knows a lot about the material, and explains it in a very concise way. I particularly appreciate the way the author expects the reader to do compiles after entering a couple of lines of code, wondering exactly why it doesn't quite work yet, and what needs to be added to actually get the desired result. The whole process is very interactive and iterative, and I found it a lot easier to grasp basic concepts using this book than others, more comprehensive books. That said, if you're new to 3d graphics, you probably want some backup-litterature that explains matrix transforms and simple math. I wouldn't hesitate recommending this book to anyone wanting to get started with Managed DirectX 9.
The CD is also great, for the first time (ever?), stuff just works straight out of the box. Open solution and press F5 to run. This is extremely satisfying. The examples on the CD are perfectly sized, so you can easily understand the whole thing in one sitting, with a little help from the book.
18 Excellent Book
This is an amazing book. It clearly explained how to create polygons, add lighting, etc. It may help to have a basic understanding of 3-d graphics before reading this book. Even understanding another API, like OpenGL, helps. Understanding DX is not necessary to understand this book.
19 Great introduction to the DX Managed API
This book is great if you wish to get a good introduction to the Managed DirectX API itself. If you have no previous experience of 3D coding, this is not the book for you. To get anything out of this book you sholud have at least basic understanding of 3D math and 3D graphics. Also this book does not teach you how to design a 3D game engine. The examples in the book are basicly useless in a real engine. But they give you a great understanding of the API. And that's what the title is surgesting, isn't it?
20 I couldn't follow the examples
When readng through this book, the later examples for the Dogder game do not work. There is errata in the book that prevents proper execution. Further, the author skips steps that aren't entirely clear when reading along. When looking at the sample code it is only end-product code, and doesn't help you through the steps in between. I found myself trying to get examples to compile and run more than learning the API.
21 The BEST book on Managed DirectX arounf
TOTALLY Complete and VERY Easy to understand; what else could I say? The book can be understood by starters (with a little effort); and go deep on most of the topics, so even the hardcore graphic programmers will still find a lot of interesting topics. A MUST!
22 Excellent Book
It's a bit difficult to compare this book with other MDX books since there are so few. Let me start with what this book does not do. It doesn't teach you to program (in C# or any other language, which isn't all that surprising given the title). I also don't think it is aimed at a beginner in 3D graphics - it doesn't cover any of the usual mathematical primers that I've come to expect as filler material in most graphics books (this book doesn't attempt to teach you to write a software rasterizer so it isn't really necessary and there are some very good books dedicated to the subject that do a much better job than a chapter or two stuck in front of a MDX book). It also doesn't try to teach you to write a commercial quality game - I'm not sure any book can do that (and "Kick Start" means exactly that). Lastly, it doesn't provide exhaustive coverage of DirectX.
So, what does this book provide then?
It provides a very concise treatment of the D3D part of MDX and fair coverage of the rest (enough to get you started). To get the most out of this book you should have a good knowledge of C#/.NET programming and a good idea of the fundamentals of 3D programming. It certainly wont hurt to have had some prior knowledge of the DirectX SDK and some idea of game programming.
In other words, this is an intermediate level book (says so on the back cover too) and provides exactly what it sets out to do and leaves the non-essential blanks to be filled in elsewhere.
Overall though, I give this book 5 stars for the following reasons:
1. Well written.
2. The author knows what he is taking about (no great surprise there).
3. Covers the topic well without the fluff.
4. The samples work (hint: install the summer update).
5. Priced well.
23 Great Book
I was oriinally going to bypass this book. I have purchased a few other DX9 books and they all pretty much let me down. I saw an episode of the MSDN Show and the author (Tom Miller) was the guest. So i sat there and watched his interview and learned about what he has contributed to DX9 and thought i couldn't go wrong. I was right. This book is great. It goes through the basics you need to start programming with DX9, as well as walks you through some great examples along the way.
A little warning to those wishing to get alot from this book (and you can!). Read everything, if you skip something, you might get the impression that the author might have forgotten something. I havent found a problem yet. I have walked through every example and they all work great. I have re-coded all the examples and they work fine as well. This book is well worth the time and here on Amazon, the price aint all that bad either. Happy DX9'ing!
24 This book fails to teach DreictX or Game Programming!,
I was very disappointed in this book. It fails to cover DirectX at all! there's nothing about C# in it. There are several places that assume you have an understanding of C/C++. Novice programmers will be quite frustrated by this.
this is one of several books that I originally bought this book as a gift for my young nephew who has not programmed in any language, hoping it was going to teach DirectX in the context of game programs. Unfortunately it fails to cover DirectX at all! and there are no chapters on games. Hardly worth putting Game Programming in the title.
My recommendation is to find another book. Unfortunately this one does not live up to its promises.
25 Outstanding DirectX9 Introduction.
Sams Kick Start series boast being "quick, concise" and "practical" those words adequately describe this book, I have read five other books on the subject of DirectX programming and Managed DirectX 9 Graphics and Game Programming is a unique gem, it is an excellent introduction to the Direct3D, DirectPlay and DirectSound APIs. It effectively covers the fundamentals and fills the gaps left by the Managed DirectX9 SDK Sample applications. Beyond the fundamentals Tom's explanations are very focused, for example, the Direct3D API is much too large for one book to cover and he does an outstanding job of providing the least amount of information you need to know in order to build a 3D game program, this was precisely what I was hoping for when I bought this book.
Microsoft recently reviled that in the next version of Windows they will replace the Win32 API with the .NET Framework Class Libraries as the OS building blocks. This shift along with the rise of 64-bit processors will push Managed code to the forefront. If you're thinking of making the switch this book would make a good companion to a .NET fundamentals book, it would help make the experience more enjoyable and would provide a real-world example of how writing Managed code is in many regards much simpler than Unmanaged. One word of caution, you must have C# or VB.NET experience to get anything from this book. It makes extensive use of the .NET Framework class libraries, also you'll need Visual Studio.NET 2003 edition to open the sample files (the pervious version of Visual Studio.NET is incompatible with the solution files) although the full Framework SDK is included with command line tools to achieve the task, no make files are included. So if you do not have Visual Studio.NET hopefully you understand how to build and link your source code using the command line tools, again if you're new to .NET/Managed code, this isn't the place to start.
26 Far and away the best Managed DirectX book available.
This book was exactly what i was looking for. I was new to graphics programming, and wanted to learn some DirectX. Since my language of choice was C#, so this book was a natural choice for me. It started off with the basics and quickly advanced to the more interesting topics. I can't imagine any Managed DirectX developer not getting benefits from this book.
The earlier reviewer complaining about compilation errors is obviously confused about something. Everything in the book has worked flawlessly without a single compile error.
27 Best in class!
Easily the best book around for a comprehensive start-to-finish look at the new world of Managed DirectX. A surefire way to get started on the road to producing quality code in C# using the entirety of the DX9 library of tools, sound, networking, input and graphics.
28 Excellent book
A very good book to whoever wanna learn to use Directx with C#.net or VB.net , it contains excellent explanations of all basic concepts with a very good code samples.
It's the best book on this subject.
29 Really is a great "Kick Start"
I was looking to buy a book to help build a 3D game engine using C# and managed DirectX9. I initially bought "Introduction to 3D Game Engine Design Using DirectX 9 and C# by Lynn Thomas Harrison". The title seemed to be exactly what I was looking for. But, Lynn's book was just a game engine he created with a huge dumping of code. An interesting exercise to run through, but certainly it wasn't adaptable to anything beyond the type of game he developed.
Miller's book does a great job of covering the *entire* managed DirectX library including graphics, sound, input and networking. He walks through examples, introduces 3d concepts (along with the appropriate utilities in DirectX) and explores why you would take one approach over another. It was absolutely what I was looking for! The book also includes sample code that works right out of the box.
In a nutshell, I would say this book is like having the Managed DirectX team walk you through several tutorials that include commentary and reasons for taking certain approaches. It should also be required reading for anyone that wants to understand what is included in the DirectX SDK samples/tutorials.
30 This is my 5th DirectX book and the BEST!
Finally, a book for us C# types wanting to work with managed directX, I have bought 4 other directx books(3 specifically on DirectX9) and most of them were left wanting or next to useless for C# and managed Directx.I sat down with this book and basically read it from cover to cover, crying to myself over how much time I have wasted figuring out stuff that Tom Miller clearly points out. (Of course there is something wrong with the fact that Microsoft cannot put this level of documentation with the product but that is rant for another place and time.)It starts off and gets you going right away and explains devices, presentation parameters, and get a window going. By the time you get to Page 77 you have quickly gone through the basics of Devices, Cameras, Lighting, Device states, Transformations, Enumerating the hardware, Rendering with Vertex Buffers, Texturing an Object, Using Index Buffers, Using Depth Buffers, Meshes with Materials and Lighting. The pace is quick and again it does exactly what it bills itself as and kick starts you. It will not teach you C# or .Net so get Petzold's Programming Window with C# or some similar book first if you need it. It is billed as an intermediate level book but if you want to do anything with Managed DirectX and C# get this book.All the examples are C# but it says that they are also on the CD for Visual basic but I didn't check.This won't teach you how to write a complex game engine but it will give you plenty of help in kick starting one with Managed DirectX.Go see the Table of Contents and sample chapters [...].It cuts to to the chase with how things work and has plenty of tips. Of the 5 directx books I bought it is the best for getting you started!This is the first time I have rated a book 5 stars and may reflect my starvation for information on Managed DirectX but I know that this will be right beside Petzolds Programming Windows, David Sceppa's ADO.Net and Jeff Richters Applied .Net Framework ,as the most well thumbed books that I have. Way to go Tom!