Book Review: 3D Graphics with XNA Game Studio 4.0

Here’s a book review for the latest book I have been reading this book – 3D Graphics with XNA Game Studio 4.0.

Disclaimer: I just want to say first of all, that I was contacted by the publisher to review this book. Use your own judgement on whether you want to buy the book or not.

I’ll admit, I was a little more excited to read/review this XNA book compared to the last one. Perhaps a bit of my personal background first, before I get digging too much into things.

I’ve been playing around with various bits of game programming for the last 10 years or so (excluding two years off for a mission for my church). In that time I’ve used DirectX 7, 8, and XNA since it’s second beta. 3D graphics have always been something of an interest of mine, and despite not being employed in the game industry or being too serious about game development as a hobby I do try to keep up on industry news and occasionally tool around with some graphics related programming. This book was especially up my alley, as I’ve been really wanting to dig in and do some 3D related programming with XNA.

After starting into the book, I discovered that it would be covering a decent number of differing topics, not necessarily directly related to one another. It’s more a similar collection of techniques than it is a continual flow of chapters like the previous XNA book that I reviewed. I’d liken it more to one of the GPU Gem series of books, but scaled down and all done in XNA.

The number and variety of techniques covered is pretty good, and it was indeed a good guide on how certain things are done. If there’s one thing that this book excels at, it’s covering a decent number of different techniques in just a few chapters. It nicely fills the gap between where the XNA tutorials that are included as part of the documentation leave off, and where other, more advanced tutorials pick up.

That being said, I do have one bone to pick with the book. In the third chapter of the book it covers how to light a scene with multiple lights. It never seems to call this a deferred renderer, which, to the best of my knowledge, is really what it is. Deferred shading is pretty cool stuff, but it does have some drawbacks – none of which are mentioned. Without having a background of screwing around with graphics programming for as long as I have, I can see that there might be a few spots that could readers could find difficult. When it really comes down to it, having a bit more theory behind something, as well as learning more of what it is good for/not good for never hurts.

What this book is:

  • A great collection of graphics programming techniques done in XNA that will help you get stuff on the screen, quick.

What this book isn’t:

  • A collection of comprehensive theory behind certain graphics programming techniques

I would have no real reservations recommending this book to someone who was interested in doing some particular effects without caring too much for the underlying principles. That being said, there is a lot of material that can be found online for free on how to do similar things in XNA, so before you plunk down your hard earned cash it might not hurt to do a little research. If it looks like the book will suit your needs, go for it. If you do buy it, it’s not like the super-expensive reference books of the days of yore, so you won’t be out a lot of dough at the end of the day, and you’ll have a handy reference to some nifty effects in XNA 4.0.

On a slightly unrelated note, I am really starting to see how buying just an ‘e-copy’ of a book is a bit better than just a printed version. I threw the e-copy I had into my dropbox folder and had access to it at work, on my netbook (so I could read it while commuting) and at home. There are a few disadvantages – namely that you can’t easily write in the margins of an e-book, and that it doesn’t remember your page if you restart your machine or close Adobe Reader, but it might be worth sticking with just an e-copy for cost-savings alone, especially if you have things spread across three different machines like I do.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s