Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
3D Game Engine Architecture: Engineering Real-Time Applications with Wild Magic (The Morgan Kaufmann Series in Interactive 3d Technology) Hardcover – December 17, 2004
O'Reilly Learning Series
Featured 'Learning' Series from O'Reilly Media. See more
Frequently bought together
Customers who bought this item also bought
"Readers of Eberly's previous books, 3D Game Engine Design and Geometric Tools for Computer Graphics, asked for a volume with more code samples and fewer equations. This book will please and aid them greatly.. That key points are sometimes underscored with a dry wit is characteristic of how a great teacher makes studying a difficult topic personally rewarding for the student." -Joseph Goldstone, Lilliputian Pictures
"Credo Interactive has been using the WildMagic API for the past 3 years in various commercial projects. 3D Game Engine Architecture provides an excellent source of theoretical background and practical usage information for the API. Together the textbook and the WildMagic sourcecode form a comprehensive and well designed foundation for any 3D application." -Lars Wilke, Director of Development, Credo Interactive Inc.
"For those that have searched for a commercial quality rendering library available at virtually no cost and with extensive clear documentation. Let them look no further. From low level structures, to high level application design, Eberly has laid out everything necessary for commercial quality game development. May the projects inspired by his writings be plentiful and prosperous." -Timothy Prepscius, DimensionDoor, Inc.
The eagerly awaited companion to the bestselling 3D Game Engine Design- the book that set a standard for the industry
If you are a seller for this product, would you like to suggest updates through seller support?
Top Customer Reviews
The book covers the author's Wild Magic engine, and discusses certain choices he made when developing the engine. It briefly touches on OpenGL, discusses abstracting away platform-specific details, 3D mathematics (and there is a lot of math in this book), an object system, scene-graphs, level of detail, render states, sorting, terrain, animation, collision detection, physics, and more. A lot of ground is covered in less than 800 pages.
However, I found much of the book difficult to follow and still feel like I could have a better picture of the "architecture" of an engine. When I think of "architecture" I think about a broad 500 foot view of a project. I think of flow charts or UML. I expect discussion on how all these disparate elements come together a form a whole. Sadly, that is mostly missing from this book. What the author provides is a good insight into his particular engine, and certain specific aspects of that engine. While this is still a great example to look at, I feel the text could have been more robust in terms of painting the big picture. Some of the things that I found missing were an event system, which seems crucial to an object-oriented engine, or a component architecture, really any type of structure that allows communication between classes.
Additionally, I found myself getting lost multiple times while reading the book. The author would frequently put in dense mathematical equations and proofs, sometimes spanning multiple pages, and by the end you would be left to wonder what the purpose of the equation even was. I feel like having proofs of equations was not really relevant to the architecture, and surely there are many books on straight math if the reader needed that. Some math is necessary, of course, for a 3D engine but the space could have been used for more important topics.
Not really a jab at the book so much as it is the author's coding conventions, I really did not like his style. I realize this is somewhat of a holy-war with programmers, but I guess we all have a style that is comfortable for us. Personally I found the author's style to be really obtuse, and made reading the code snippets more difficult. For example, for a camera's forward vector, he would use something like:
Where "m_" was a member variable, "p" is a pointer, "k" is of a class type, and "FVec" for forward vector. Personally I would use simply:
Just glancing through the code, which one is more apparent to what it is? This really bothered me to no end, but I guess you can chock it up to personal taste.
All-in-all it may sound like I am putting down on this book, but I actually did find it useful in a lot of ways. Certainly if you are aiming to create a 3D game engine from scratch, you will need any and all the help you can get. So yes, still read this book. However, I had much higher expectations and I feel it was a missed opportunity for the author. While it is still a decent resource, this should not be your first stop in engine development.
In this book, the author walks through the design and architecture of a 3D game engine, using his Wild Magic engine as an example, but also drawing on his experience developing NDL's NetImmerse. Throughout, he describes why each design decision was made, and in many cases alternative solutions are discussed as well. This isn't just a high level discussion, however, as ample source code, figures, equations, and sample applications are included to get you started with implementation.
The topics covered include the core engine systems, scene graphs, renderers, cameras, LOD, animation, terrain, special effects, physics and collision detection. Numerous sample applications and tools are also included. Dave's writing style is clear and minimally conversational, and he's kept the math to a minimum, making this a remarkably easy read.
This isn't a complete treatment of a game engine, since some important topics (e.g. scripting, audio) aren't included, but the material it does cover is worth it. Whether you're currently working on a game engine, planning to start one, or just want to have a better understanding of how they work, you'll be happy with this book.
The examples use OpenGL API, and I compiled only the VC++ 7.1 project that use OpenGL as the rendering mechanism in VC++ 8.0 on Windows Vista - this works well.
Only complaint is that there is no chapter that explains the matrix model of OpenGL. Sure enough this is to be found in a lot of other books, but if the author had decided to put in a chapter explaining the matrix model - e.g. how the perspective transformation matrix is derived from first principles, then this would be the only book you ever need.