I am a professional programmer. The main reason I bought this book was to assist me in my mission to build an industry standard 3D graphics engine in Java.
The book has taken me a lot furthur towards my aim than all the other books I have bought to date but I now find I am having to go in search of something a little more specific to my own needs.
It is well written and comprehensive. It covers all applications of computer graphics from basic polygon meshes through ray tracing to 3D animation. It reads like a friendly textbook.
Although the book is comprehensive, the broad spectrum of topics it covers means that it tends to sweep through topics quite rapidly. Outside knowledge/research into some of the concepts talked about is sometimes neccessary to completely understand them.
I have gained the following insights from reading this book:
1) Fundamental mathematical concepts for 3D computing.
2) Concepts used in rendering 3D scenes such as algoritms and mathematical techniques for transformations, clipping, shading, interpolation, mapping and various other things.
3) The concept of the graphics pipeline.
4) Overview of the different ways of representing 3D data, rendering techniques, and a whole shedload more.
It has taken me months to exhaust the immediate usefulness of this book to me. I have covered about one quarter of the total material in the book. Although I found the rest of the book extremely interesting it was not directly relevant to my area of interest.
I know I will find myself referring back to this book again and again. I am very glad that I bought it and I highly recommend it as a serious introduction to all of the concepts of 3D Computer Graphics. It is not flashy and is not for the beginner.
WARNING 1: There is a lot of maths in this book. WARNING 2: This book will not teach you how to create a realtime 3D graphics engine.