Home :: Books :: Computers & Internet  

Arts & Photography
Audio CDs
Audiocassettes
Biographies & Memoirs
Business & Investing
Children's Books
Christianity
Comics & Graphic Novels
Computers & Internet

Cooking, Food & Wine
Entertainment
Gay & Lesbian
Health, Mind & Body
History
Home & Garden
Horror
Literature & Fiction
Mystery & Thrillers
Nonfiction
Outdoors & Nature
Parenting & Families
Professional & Technical
Reference
Religion & Spirituality
Romance
Science
Science Fiction & Fantasy
Sports
Teens
Travel
Women's Fiction
3D Game Engine Design : A Practical Approach to Real-Time Computer Graphics

3D Game Engine Design : A Practical Approach to Real-Time Computer Graphics

List Price: $77.95
Your Price: $77.95
Product Info Reviews

<< 1 .. 3 4 5 6 >>

Rating: 5 stars
Summary: Exceeded all expectations!
Review: Being self-taught in this field, I search for and rely upon books that are both within my grasp of understanding and also advanced enough to challenge me in ways that will require extra hard work on my part to achieve mastery of the material.

Dr. Eberly's book has that "magic" blend...

Thank you for a great book!

Rating: 5 stars
Summary: Great book
Review: Great book from start to finish. The best I've seen!

Rating: 0 stars
Summary: Reasons for creating this book.
Review: A decade ago I made a decision to become a 'retread' by switching from a career as a mathematician to one as a computer scientist. I have always been attracted to the beauty of mathematics and the practicality of computer science, but found a need to demonstrate the usefulness of both in real applications. What better way to do this than in the field of computer graphics! Geometry, algebra, numerical analysis, analytical reasoning, algorithm development, object-oriented programming, hands-on experience with hardware, and more, all wrapped up into one field.

Part of the math-to-cs conversion included learning about the world wide web and news groups. In particular, I discovered comp.graphics.algorithms and found it a place I liked to camp out. Realizing that a lot of folks had a lot of questions about taking ideas and translating them into source code, I started my Magic Software web site (originally hosted by the Computer Science department at the University of North Carolina at Chapel Hill, but now its own separate entity) and made available free source code that solved basic problems in computer graphics, image analysis, and numerical methods.

With the arrival of inexpensive 3D graphics hardware for the PC, the questions in comp.graphics.algorithms quickly became focused on how to solve problems that arise in building components of a game or game engine. This fact and my hiring by Numerical Design Limited to work on a game engine naturally led to my focusing on 3D real-time graphics.

The ultimate conclusion of the journey I started a decade ago is this book. It has been two years in the making and contains a significant amount of source code that I believe simultaneously illustrates the simplicity and complexity of creating a real-time graphics engine. I hope you enjoy reading this book as much as I have enjoyed writing it.

Rating: 4 stars
Summary: Useful and informative, but not to be used in isolation
Review: This is a really good book, and is quite useful, but having read both the reviews here, & the "review on the reviews" on david's website i can say that there are some caveats.
Cons->
1) Lots of Math
Yes, this true, there *IS* lots of math, and at times it can see overwhelming, but it's all useful, and david is right, if you think you can do 3d graphics engine programming without mathematics you're either delusional or on some drugs (and why aren't you sharing?)
2) No real explanations on most of the Math, or most of the rest of the methodologies either..
Ok, now (for me) *THIS* is the big one.. he gives you lots of different methodolgies, like using lozenges vs. capsules vs. AABB or OOBB for containing an a set of Vertices, but he doesn't give (from what i've seen) reasons as to *WHY* you'd want to prefer one technique over another, i mean, what's the advantage of using lozenge's to contain objects instead of using a OOBB or a k-DOP ? i get no such explanation, or even am attempt at one.
This book is what i would call "faith-based 3d graphics programming", he doesn't tell you *HOW* the math works, or even *WHY* it works, or *WHEN* you should use it, but he expects you to just understand and accept it, thanks but no thanks david.
Pros->
1) Lots of Math
What is bad is also good. David has taken mathematical concepts and equations from a couple dozen books and SIGGRAPH articles and condensed them into one book. And it's done pretty nicely.
2) *COPIOUS* amounts of C++ code
The amount of code this book comes with (indexed in the book by the mathematical equations defining the code) is truly staggering. But i hear you say , "hey wait, he's got code on his website, why can't i just use THAT?!?!" .. and you'd be right there is code on his site, but (barring a few exceptions) there's no math there to explain that code, so if you dont' know why it's there, and what it all means, the code's useless to you.Also, the code on the site (and in part the book) is meant to be used as drop-ins, take code drop into existing project,and keep going, the code in the book can be compiled, and there exist examples on *USING* the code.
The only question i have is his "branding" thing, i mean i have no problem with the Mgc prefix, but if you're going to do that David, and you're using C++, why not just encapsulate everything in a few namespaces?
namespace Mgc { class Quaternion{}; }; //and etc..
now, i hear ppl saying that Real-Time Rendering is "better" .. well not quite, RTR has good explanations but there's little math or code there, my suggestion would be in most part read the books in unison(course in places where the topics don't overlap you'd have to find other explanations, or math/code).. the math in this book and the explanations in RTR (+ a few other books i suppose) ..
overall high quality..

--vat


Rating: 4 stars
Summary: Book Review
Review: I have spent the past four years studying game development and have read many books on the subject. The technologies utilized in game development are extensive but most can be grouped into a small list, which is rendering, animation, modeling, collision detection, collision response, artificial intelligence, audio processing, input management and network communication. This book only contains technologies related to rendering, animation, and collision detection.

Eberly gives an in-depth look to game development and provides adequate solutions to every problem introduced. He does not cover every possible way each problem could be solved nor does he spend a lot of time introducing and defining each problem. Instead he assumes the reader has a general understanding of the problem and gives a quick review followed by one or two detailed solutions using the most common techniques. Eberly's writing style makes it easy to follow the accumulation of segments to the final solution. His math notation on the other hand was confusing at times. A few places he supplemented words with mathematical notation and allowed the math to do the explaining, which made it seem like he was unable to put it into words.

I have found this book to be very useful and have added it to my reference library of game development, but I would not recommend this book to someone just starting to study game development. For a reader to glean anything of use out of this book he would have to be experienced in object oriented programming, have a basic understanding of 3D rendering technologies and have a working knowledge of calculus and linear algebra.


Rating: 3 stars
Summary: Not for the faint of heart
Review: Let there be no doubt that Mr. Eberly is an expert on the subjects presented in this book. Unfortunately - and it pains me to make this statement - he is a terrible instructor. After spending countless hours studying the text and the accompanying source code, I have regrettably come to the conclusion that he is more interested in showcasing his knowledge than actually explaining the material.

It is imperative for a programmer interested in this book to realize that it demands an extreme familiarity with linear algebra. Even the most basic fundamentals of 3D programming are explained in strict mathematical notation. When looking at an equation, if you are unable to immediately visualize the C/C++ representation you are in for a long, difficult read and an even longer integration process.

There is, however, a great deal of value in the abstract theory section of the book. I do not feel, however, that those sections alone are worth the cover price.

Because of the wealth of information contained in both the text and source code, I can't in good conscience give this book a bad review. Unfortunately, this is no casual read. Personally, I believe that the level of education one needs to fully utilize the information presented contradicts the need for this book entirely.

Rating: 5 stars
Summary: Very thorough
Review: This book is actually written at two different levels. It has an extremely detailed analysis of the mathematics involved and appears that it would be a good reference for somebody who wants to write a software renderer (or at least understand how a renderer does what it does).

It's organized in such a way that it is easy to skip the math parts (which I did!) and get a good understanding of the higher level engine concepts. It's easy to understand, for instance, how culling works conceptually (or via a library call) without going through the math. I found the chapters on the scene graph and collision detection to be especially valuable.

I wish he would have included a bit about AI though. I find myself wondering 'where in my architecture do I put the AI?'. It seems like it should fit in this discussion somewhere...

Rating: 5 stars
Summary: Excellent reference
Review: Yes, this book is an invaluable reference. All the mathematical knowledge necessary to building a 3D engine is contained within its pages. Each topic is covered separately, with algorithm examples to support each mathematical discussion. A basic 3D engine is also included to help the reader put the concepts together.

You must, however, adapt well to formal mathematical notation to understand this book -- there is no handholding; it assumes the reader is familiar with vector and matrix algebra, linear algebra, multivariate calculus, and data structures. Following the mathematics can become quite tedious if you are lacking in any of these areas. One thing I think Eberly might have improved is "dumbing down" the mathematical notation to appeal to a broader audience, or at least have written the book in a more personal, explanatory manner (Its funny how the smarter a person is, the harder it is for him/her to express ideas in a way understanding to the rest of us).

For you college kids, I'd say you need up to Calc 3 and Linear Algebra. It'll help if you've taken a couple graphics courses, covering things like BSP/Oct/Quad trees, rendering pipeline analysis, and intersection testing. I myself AM a college kid, so trust me on this... it'll help if you have a little background. Also note that this book is non-API specific; you must know a 3D API well in order to implement the author's ideas. He uses OpenGL for his CD-ROM examples.

What else... Don't buy this book if you just want to implement special effects... check out the 3D Graphics Gems series for that. Concepts such as Lens Flare, Bump/Enviroment Mapping, Shadows, and Particle Systems are discussed, but only slightly within 4 pages of the last chapter -- which is understandable, considering the focus of this book is on the core 3D engine, not the flare surrounding it.

That's about it. Buy it if you've got patience, persistence, and are serious about 3D game programming -- and that's the bottom line.

Rating: 1 stars
Summary: Doesn't Address the REAL Questions of Game Programming
Review: This is an extremely thorough text and covers a wide variety of topics in a fairly detailed manner. The book is sort of a survey or "toolkit" of game and graphics engine techniques. it is unlikely that in writing a single game you will use everything in this book - but having the exposure to the numerous topics he dicsusses is good.

As others have noted, he's "heavy on the math." For me, this is a good thing, since I intend to use the book as a reference, not as a primer. While he is "heavy on the math" he is "light on the diagrams," really the only negative about this book at all.

I found the coverage of intersection and collision tests, and the section on numerical methods in the end, both to be especially good compared to other books.

In general, this book is an excellent reference for experienced readers, not a how-to for beginners. Very thorough, well written. The book feels academic and authoritative - however, the author has the in-the-trenches experience which lends him creditibility. Once you know the basics, this book is a must-have reference book.


<< 1 .. 3 4 5 6 >>

© 2004, ReviewFocus or its affiliates