22 of 22 people found the following review helpful
Thorough but terribly incomplete,
This review is from: Computer Graphics Using Open GL (2nd Edition) (Hardcover)
This is one of the better books on computer graphics theory I have so far come across, but please be aware: there are many holes in this hefty and pricy book.
Francis Hill has provided a very thorough book on computer graphics with numerous topics that will appeal to many readers. It is one of the only books to really cover ray-tracing to the detail that I like. While the book title implies the use of Open GL as one of the main concepts, this is misleading. The vast majority of all of the programming is simply in C++ which just uses Open GL to paint the screen. If you are looking to learn Open GL, pick yourself up the Red Book (OpenGL Programming Guide) or look on SGI's web site for all of the text free online.
While the text has a very broad scope, it is entirely lacking the organization, completeness, or concistancy to even approch an acceptable text on any computer subject, let alone a very complex one. Computer Graphics Using Open GL is riddled with errors. There are a great deal of typos in the code provided, and some code is just plain wrong. To add to the confusion, the small subsection of code that is available on the companion web site doesn't even match the code in the book; it is a single file with all kinds of code concatentated together, which itself won't compile.
Hill has also provided with his book one of the most frustrating things I have come across in ANY computer book I have read: half of the code is marked with such helpful comments like "To be implemented" or "students do here". The book is FULL of functions and variables that come out of nowhere or are never defined. As a result, you are left to fend for yourself, and are trying to piece together Hill's code into something that will compile. The pieces of code are presented as excercises, but you are never told how to actually do the things asked of you. Never, ever have I seen a book that basically says "Figure it out for yourself" and moves on. Additionally, Hill just loves to use one set of variables for a general example, and then a whole different set for the code (or pseudocode; it's often intermixed)
Basically, it's as if Hill had written a skeleton guide to graphics programming, and midway through fleshing it out, he simply stopped. The rest is up to you to figure out.
I elected to mention all of that because I want anyone who is considering the purchase of this book to know what is expected of them. This book has a very steep learning curve at points, and unless you are willing to put in a the effort, you will lose track of what's going on - Hill's text won't fill in for you. All of that said, you will be hard pressed to find a more complete book on graphics that even gives you a code-based presentation. The text, where complete, is very well written, and give you a number of things to consider while reading the material.