A while back, Charles Petzold posted a blog entry asking for people to e-mail him if they had a blog on which they discussed WPF. I had no idea what it was about, and I was quite aware that my own blog is completely unknown and has little content so far. But I figured what the heck, and sent him an e-mail. Then I completely forgot about it.
Well, last week my wife called and asked if I was expecting anything in the mail from someone in NY. Turns out, he sent me an autographed copy of 3D Programming for Windows. I figure I owe him something, and the least I can do would be to review the book.
I have to admit, this is a topic that I don’t have a ton of interest in. Combine that with having little free time right now, and it might take me a while to read the book thoroughly enough for a full review. However, I’ve read several chapters and have skimmed the rest of it, so I think I know enough for a preliminary review.
This is most certainly an advanced book. There’s as much coverage on mathematics as there is on the topic of the 3D interfaces in WPF. Mr. Petzold appears to have done a fair job of explaining the math, though this is certainly not a book for entry level knowledge about that topic. He seems to have done a good job with the organization of this book as well (one of my criticisms with Applications = Code + Markup). There’s also plenty of illustrations (a complaint that others had of A=C+M), though they are still only black and white (yet another complaint others had of A=C+M). Personally, I don’t have any issues with the illustrations being black & white, and didn’t really have an issue with the number of illustrations in A=C+M, and in this book there are definitely plenty enough illustrations. More interestingly, every illustration was done using XAML and they are available for download in that format.
Over all, this seems to be a book worth recommending. The only criticism I have of it at this point is with the lack of real world examples. Mr. Petzold makes it very clear in numerous places in the book that 3D in WPF is about interfaces and data visualizations, and not about games or movie animations, yet the vast majority of the book uses academic 3D visualizations instead of interfaces or data visualizations. In fact, there are no real world examples until the end of the book, where he dedicates an entire chapter to this topic. However, even in this chapter there’s only about 3 examples. This isn’t a very big criticism, and some may even consider it to be unfair, but for someone like me, who’s wondering why we need 3D in our UIs in the first place, the lack of more concrete examples certainly doesn’t help.
That said, if you’re at all interested in this topic, this may indeed become the definitive book on the topic. At the very least, it will be in the top rung and is well worth the read.