It’s always gratifying, and a little weird, when I see books being written about OGRE – it just serves to illustrate (if any more evidence was needed) how far the project has come since I created that first ‘vertex coloured triangle’ rendering test on my home computer 12 years ago. I’ve been retired from the project for a while now, but I still get asked my opinion about things sometimes, and Packt were nice enough to send me a copy of this new book by Ilya Grinblat and Alex Peterson, OGRE 3D 1.7 Application Development Cookbook, to see what I thought.
Firstly, don’t worry about the version number in the title, it’s really just a minimum version. All the information in this book is equally relevant to the recently released OGRE 1.8.
This book focusses very much on practical exercises, which I really like as a learning style. I often end up learning new languages and APIs, and I always prefer to bootstrap using books that teach by example in the first instance, and this one does that very well. The steps are well laid out with regular full-colour screenshots (at least, in the electronic version I have).
Also, the book tackles a number of areas that haven’t been covered before in other books. While it still deals with all the basics too, it covers new areas like creating GUI tools with OGRE viewports and how you’d deal with selection, orbit cameras, and linking visual properties to controls. It also covers creating plugins, procedural mesh content, custom resources, and more advanced elements of animation that I haven’t really seen discussed elsewhere. So the book covers a lot of ground – there’s a limit to how much detail they can cover in each area, but it’s easily enough to expose you to the core techniques so you can expand from that on your own (indeed the “There’s more” sections throughout the book hint at where you might want to explore next).
So on the whole I thought this was a very useful book. There’s one important caveat that I’d add: it’s very, very Windows-focussed. If you’re developing with OGRE for any other platform (Mac, Linux, iOS, Android etc) then the step-by-step nature of the instructions won’t be as useful to you, and several parts of the book won’t be any use at all without heavy conversion on the part of the reader. The first few chapters aren’t relevant at all to non-Windows users, and there’s a few others where the practical example is dependent on a Windows-specific technology such as the Microsoft Speech SDK or the AVI toolkit. All the GUI-related parts of the book use MFC, which again is entirely Windows-specific; and personally, I’ve had a strong dislike for MFC pretty much since I first encountered it 20 years ago. I think Qt or wxWidgets would have been far better choices for these sections.
So, if you’re a Windows developer and are happy with using MFC (even if just to learn), I can recommend this book wholeheartedly as both a practical, hands-on OGRE tutorial and an exploration of some interesting lesser-visited areas. If you’re on another platform or like me don’t like MFC, I still think there’s plenty of useful information here, but you’ll have to be prepared to put some extra work in to convert some of it, and/or be content to skip some of the chapters that won’t apply to you, so bear that in mind when making your decision.
Thanks to Packt for giving me a copy of this book to review, and congrats to the authors on the release.