Зарегистрироваться
Восстановить пароль
FAQ по входу

Eberly D.H. 3D Game Engine Design. A Practical Approach to Real-Time Computer Graphics

  • Файл формата djvu
  • размером 5,69 МБ
  • Добавлен пользователем
  • Описание отредактировано
Eberly D.H. 3D Game Engine Design. A Practical Approach to Real-Time Computer Graphics
Morgan Kaufmann, 2001. — 586 p.
This book is the culmination of many years of reading and participating in the Internet newsgroups on computer graphics and computer games, most notably comp.graphics.algorithms and the hierarchy of groups comp.games.development. The focus of my participation has been to provide free source code that solves common problems that arise in computer graphics, image analysis, and numerical methods, available through Magic Software at www.magic-suflware.com. The book is also a tech- technical summary of my experiences in helping to produce a commercial game engine, Netlmmerse, developed by Numerical Design Limited (NDL), www.ndl.com.
The focus of this book is on understanding that a game engine, or more generally a real-time computer graphics engine, is a complex entity that consists of more than simply a rendering layer that draws triangles. It is also more than just a collection of unorganized techniques. A game engine must deal with issues of scene graph management as a front end that efficiently provides the input to the back end Tenderer, whether it be a software- or hardware-based renderer. The engine must also provide the ability to process complex and moving objects in a physically realistic way. The engine must support collision detection, curved surfaces as well as polygonal models, animation of characters, geometric level of detail, terrain management, and spatial sorting. Moreover, the engine is large enough that the principles of object-oriented design must be practiced with great care.
The chapters of this book tend to be fairly mathematical and geometrical. The intended audience includes anyone who is interested in becoming involved in the de- development of a real-time computer graphics engine. It is assumed that the reader's background includes a basic understanding of vector and matrix algebra, linear alge- algebra, multivariate calculus, and data structures.
Many people have directly or indirectly contributed to the book. Most notable are the engineers at NDL: Lars Bishop, Ion McAllister, Chad Robertson, Rob Phillips, Tim Preston, Scott Sherman, Ed Holrworth, and Andy Jones. Lars and I are the primary architects for Netlmmerse. He is the renderer expert, especially with regards to Direct3D, and has been instrumental in helping me to understand many of the issues for rendering. Wealso have had many productive design sessions about how best to incorporate the ideas for scene graph management to properly feed the Tenderers and to properly manage renderer state. Chad and Rob are the animation experts. They did a lot of legwork on understanding how various modeling packages animate characters and deciding how Netlmmerse can best support the animation. Chad also contributed many good ideas on how to structure the collision detection system to work well with the hierarchical scene graph system. Jon is the expert on continuous level of detail and has implemented some of the algorithms mentioned in this book for Netlmmerse. The implementations go well beyond what is discussed here and addressed practical concerns that some of the research papers did not cover. Ion also worked with Chad and Rob on the integration of continuous level of detail with the skin-and-bones system, a nontrivial task. Tim was helpful in reading Chapter 8 and attempting to implement the top-down algorithm as I originally wrote it. He pointed out what I had overlooked, leading to some fine discussions about how to properly tessellate the surfaces without paying for a large memory overhead. The algorithm as described in this book reflects these discussions. Finally, Bill Baxter was a summer intern from the University of North Carolina, but in his time at NDL was able to investigate the topic of inverse kinematics and implement that system in Netlmmerse. Discussions with him led to my understanding of how inverse kinematics should work in the game engine and is reflected in how I wrote the section on that topic.
Geometrical Methods
The Graphics Pipeline
Hierarchical Scene Representations
Picking
Collision Detection
Curves
Surfaces
Animation of Characters
Geometric Level of Detail
Terrain
Spatial Sorting
Special Effects
A Object-Oriented Infrastructure
B Numerical Methods
  • Чтобы скачать этот файл зарегистрируйтесь и/или войдите на сайт используя форму сверху.
  • Регистрация