REVIEW - Computer Graphics - Principles and Practice


Computer Graphics

Principles and Practice


James D. Foley, Foley Dan Van, Andries Van Dam, Steven K. Feiner, John F. Hughes, Edward Angel, J. Hughes



Addison-Wesley Professional (1996)




Gareth Blower


October 1998



Practically all 'hot' graphics cards these days claim to use Gouraud shading, so the first thing I looked up in the index was 'Gouraud'. After being re-directed to 'Shading, Gouraud' (don't you hate indexes which do this?), I found a fairly full and intelligible explanation. The next test was an old favourite - line-drawing algorithms. The relevant section in this book seems to be much more comprehensive than that in its predecessor ( Fundamentals of Interactive Computer Graphics ), although the authors still don't explain that the mathematically best-fit pixels don't necessarily produce the best-looking line. Most other topics in both 2D and 3D graphics are covered well, although one glaring omission is contour plotting. I would also have liked to see at least an overview of image compression techniques. Too much of the book is devoted to HCI topics covered more competently elsewhere and a whole chapter is dedicated to SPHIGS, a graphics package I think few have heard of or will be interested in.

Since this is the 'Second Edition in C', what's the code like? Below average and very sparse. The preface is honest enough to explain that the original edition had Pascal examples and that the C in this edition is a translation of those examples. The Pascal must have been poor, too! Graphics primitives should probably be written in assembler anyway. The examples are best treated as pseudocode for the algorithms.

Finally, although this edition is dated 1995, the latest reference is 1990. Any book like this is by its nature a snapshot, but 8 years may have brought significant advances. Better leave it on the reference shelves in the library, where it belongs.

Book cover image courtesy of Open Library.

Your Privacy

By clicking "Accept Non-Essential Cookies" you agree ACCU can store non-essential cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

Current Setting: Non-Essential Cookies REJECTED

By clicking "Include Third Party Content" you agree ACCU can forward your IP address to third-party sites (such as YouTube) to enhance the information presented on this site, and that third-party sites may store cookies on your device.

Current Setting: Third Party Content EXCLUDED

Settings can be changed at any time from the Cookie Policy page.