About a month or so ago, I got a special package in the mail that has a few of my colleagues turning green. Charles Petzold sent a signed copy of his book 3D Programming for Windows. The fact that I got a personalized copy from the guy who wrote the book on Programming Windows (literally) may bias my opinion of this book. Therefore, in the interest of full disclosure, I have revealed this fact. We don’t want another scandal like what happened when Microsoft sent the decked out Acer Ferraris to key members of the blogosphere ;).
3D Programming for Windows comes in at just over 430 pages cover to cover. This makes it much less daunting at first glance than Applications=Code+Markup (slightly over 1000 pages cover to cover). And it makes sense. Petzold’s book on the entire WPF framework has a lot more ground to cover than a book that is specific to WPF 3D. It’s interesting to note that this book is the same size as WPF Unleash which includes coverage of WPF 3D within its pages.
From Wax On Wax Off to Beating Cobra Kai
If you’ve read the original Programming Windows, you know that Charles has a very strong grasp of Windows Graphic programming. He shows you how to create a full-featured word processor, using raw GDI calls. There was no MFC to be found there. For a person who has an interest in 3D programming but has never written a line of 3D code in his life, I found that Charles’ foundational writing style made the topic very approachable for me. He begins with introducing you to the basic concepts that you will deal with on a day to day basis in 3D programming (polygons, lights, cameras). He then moves on to more involved concepts that will help you do cool things with those basic elements for example using transforms and animation to manipulate your models, or applying textures and materials to make them prettier.
For the more adventurous souls, Charles goes into how to extend the WPF 3D engine with custom transforms, even providing an example transform that he feels was missing from the framework.
Overall, I would say that Charles’ book on WPF 3D is a great starting point for anyone who has been interested in using 3D but has been reluctant to because of the steep learning curve that Direct 3D has presented. With the simplified 3D library that WPF provides and Charles on your side, you’ll be a 3D wiz in no time.