Advertisement
Membership
Login
ACCU Buttons
Search in Book Reviews
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
My biggest gripe with this book is that it is tied to the Fly3D game engine. I felt throughout the book that I was reading a manual for a particular game engine, as opposed to a general discussion of the subject. In fairness to the book, it does mention on the back cover that "the treatment...is built around a specific games system, Fly 3D SDK 2.0". The book comes with a CD which contains the SDK in question, and I believe it is free for non commercial use. However I have to be suspicious of a book that promotes a commercial product without advertising itself as such.
As the book uses the Fly3D engine as its frame of reference, I found this limited the scope of discussion on many of the topics. Instead of explaining the pros and cons of different approaches used by modern games engines to solve problems in this field, as is the case with Eberly's "3D Game Engine Design" book, we are presented only with the method used by the Fly3D engine. This also led to a tendency to present methods as being definitive, when in fact the designer of a game engine system might be better served by different approaches. An example is the engine's use of the Binary Space Partitioning system to accelerate various engine systems. Perhaps in the first volume this system and its merits are discussed and compared with other methods of spatial partitioning; however in this book its use forms the basis of several chapters of discussion, all with relation to the Fly3D engine, without mention of alternatives.
Where the book was not discussing the Fly3D engine, and instead focused on specific topics such as lighting equations, it became much stronger and much more interesting and enjoyable for me to read. Techniques that are only just beginning to leak into commercially available games; such as BRDF lighting and per-pixel lighting are covered clearly and well, and were very informative. These are the best chapters of the book, where it becomes a technical and enlightening read about often-difficult subjects. I suspect that these chapters were authored by one person, and the chapters concentrating on the Fly3D engine and pseudo code by another.
In summary, if you are interested in learning about how 3D engines work, and are happy to use the Fly3D engine as a learning tool, or perhaps if you are considering using the Fly3D engine commercially, then this book will be useful to you. Good as the more generic and technical chapters are, I am not sure they justify a purchase of this book. Perhaps the authors would consider revising the two volumes of this series, and release one that contains only the (excellent) generic discussions, and another volume that focuses on the Fly3D engine?