This book is a great resource but I feel that it should be purchased with other resources geared to OOP approaches and data management. I found that in many places David Eberly had met the criteria for delivering information about the type of 3D system that I would like to implement but I also found that it was weak in other aspects.
The aspects that are strong in this book are: - Array of mathematical formula relating to 3D. - In depth conversation about development of his engines. - Breakdown of various engine modules. - Hirachy of the overall engine instantly feels like a that of a mainstram console/pc engine. - Ability to integrate shaders and controllers.
The aspects that are weak: - Assumption of C++ and i/o steams. - Overall lack of detailed interfaces and coupling of geometry to rendering system. - Lack of simple explainations about some underlaying principles. - Lack of modern API references and test cases. - Lack of good UML or any other diagrams.
Overall, I would recommend this book, especially if you already have some knowledge of affine and homogeneous points, vectors and matrices. It is the most complete