Now I'm really in two minds about this one... On the one hand, it's by no means a bad book. After all, it does its job of teaching the basics of OpenGL reasonably well. Besides, as far as I know, it's the only book on this subject written specially for Delphi programmers. This book deserves four stars just for its uniqueness. On the other hand... I've just finished reading "Delphi COM Programming" by Eric Harmon, and it's so superior in terms of style, content and presentation that rating the OpenGL book equally or closely would simply be unfair to Mr. Harmon. So, two stars then. There you go.Now down to explanations. Doesn't a glance at the book's beautiful cover make you sweat with excitement? Do the words "Delphi" and "OpenGL" in its title raise the images of an award-winning Quake-clone in your mind, a ground-breaking game written entirely with your favorite programming language? Well, forget it. Usually, when I buy a book with a cover CD on it, the first thing I do is to insert the CD into the CD-ROM drive and to try some advanced examples to see what I'll be able to do after reading the book. OK, I thought, let's try the same with this OpenGL tome. Double-click on "Source," double-click on "Chapter 14" (last chapter in the book), find an executable, run it... Wow! A green triangle on light-blue background! Not very motivating, really. Try Chapter 13... not much better. Maybe I am looking in a wrong place? A quick browse though the CD revealed, apart from the source code, an HTML file with Web links, a few ugly textures and the entire book's text in ASCII, plus all the screenshots. How very exciting! OK, another beer-mat, then.
Back to the book. Well, as other reviewers have rightly pointed out, it's quite well written. The author uses an informal, conversational style - so conversational in fact, that while reading one can almost imagine a university professor standing next to a blackboard. The author's idea was to make you read the book while simultaneously writing the example programs. This intention is not much helped by the fact that due to the binding used for this book, you cannot make it stay open unless you place something heavy on it. Besides, the try-and-see approach, while certainly useful in, say, a classroom (when there is a direct contact between the instructor and the student), requires that you do lots of wrong things before doing something right. In a written text, I would rather like to see the opposite: correct solution in the beginning of a chapter, followed by the explanation and the list of potential pitfalls. Of course, this is just a matter of taste. In a few places, I found the flow of the explanations a bit illogical and a few jokes rather dull (and unnecessary) - but again, some readers may like them.
When it comes down to the code, however, I see some problems. First, the code for later chapters is based on the code written for earlier chapters, and it gets updated, corrected and changed back many times within a chapter. The full text of programs is given, unfortunately, very rarely. As a result, unless you are following the book very carefully, you soon lose track of what your program should look like. Of course, it is always possible to copy the files from the CD - but in a way this destroys the purpose of the step-by-step approach to the explanations. At another extreme, a lot of listings contain nothing but "form as text" - you know, this list of on-screen objects together with some of their properties. I don't know anyone in his right mind who would type these listings by hand! Come on, if a Delphi programmer does not know how to place components on a form to make the form look more or less like the one shown on the picture, this guy should not be programming at all! Perhaps I am too cynical, but I think the sole purpose of all this was to make the book thicker. By the way, the oversized typeface used for the text also adds to my suspicion.
And then the graphics... Sure, in a book like this you would expect if not full-color figures then at least a colorful insert in the middle. Wrong. All the figures are presented in glorious black-and-white and - since the print is too dark - are essentially useless. And, having tried a few programs, you almost understand it's for better! OK, this is not a book for graphics designers, but ugly is not the right word to describe the choice of colors and textures. OpenGL is supposed to help creating beautiful scenes! Red and green cubes on blue background, anyone? Come on...
I hate criticizing this book so much - it's not that bad, really, and the author's attention to detail is exceptional - it's just that it could have been so much better. If this text were a series of articles in a magazine (with downloadable code), I would heartly recommend it. As a book, it is a disappointment.