[Eberly_D.H.]3D Game Engine Design. A Practical Approach to Real-Time Computer Graphics(pdf){Zzzzz}seeders: 11
leechers: 1
[Eberly_D.H.]3D Game Engine Design. A Practical Approach to Real-Time Computer Graphics(pdf){Zzzzz} (Size: 69.6 MB)
DescriptionNow considered an essential reference in the game industry, 3D Game Engine Design is the first book to go beyond basic descriptions of algorithms and accurately demonstrate the complex engineering process required to design and build a real-time graphics engine to support physical realism. Faster algorithms will always win out over faster processors and assembly-language optimization techniques. Implementing those algorithms, however, can be a challenge for even experienced programmers. This book provides rigorous explanations and derivations of all the essential concepts and techniques. Ideas are revealed step by step with numerous code examples and illustrations. Source code implementations are included on the companion CD-ROM to help you understand the full progression from idea, to algorithm, to working code. Since algorithms are not used in isolation, the source code for a complete engine is provided to bring crucial context to the implementations. This book and CD-ROM offer the most comprehensive professional reference available for the development of 3D game engines. Product Description Amazon.com Review Aimed at the working Visual C++ game developer, 3D Game Engine Design provides a tour of mathematical techniques for 3-D graphics, and the source code that's used to implement them in state-of-the-art video game engines. If you work in the game industry (or would like to), this book will serve you well, because it delivers excellent best practices for algorithms and programming techniques that'll help your software keep up with the competition. This text is a virtual encyclopedia of expertise that's based on the author's own work and research in the gaming industry. It provides the mathematical notation, algorithms, and C++ code (on the accompanying CD-ROM) that are needed to build fast and maintainable game engines. Early sections start with the basics, with the math that's used to work with common 3-D objects (like spheres and boxes). Highlights include a high-powered review of quaternion algebra--in many cases, the preferred way to transform 3-D data. The chapters on graphics pipelines explain the math that's behind representing and rendering a 3-D world in 2-D with intervening effects like lighting and texture mapping. A variety of current algorithms are provided for representing 3-D scenes, efficient picking (which allows a programmer to determine the object in a 3-D world that has been selected), and collision detection (in which objects collide virtually). In the game software of today, curves--and not individual triangles or polygons--often are used to represent 3-D objects. Algorithms that are used to turn curves into rendered surfaces are provided, too. Later sections look at the current thinking about animation techniques for characters (including key frames, inverse kinematics, and skinning (in which digital skin is fitted over digital bone to create more realistic-looking movement)). How to represent terrain inside virtual worlds also is explained. The book closes with excellent material on such cutting-edge special effects as lens flare and projected shadows, which can add an extra level of realism to a video game. An appendix examines guidelines for designing object-oriented game software in C++. Filled with mathematical insight and expert code that puts each principle or algorithm to work, 3D Game Engine Design provides an expert view of what goes into building a state-of-the-art game engine. --Richard Dragan Topics covered: Mathematical methods and sample source code for 3-D game development Geometrical transformations Coordinate systems Quaternions Euler angles Standard 3-D objects: spheres, oriented boxes, capsules, lozenges, cylinders, ellipsoids Distance methods for a variety of shapes Introduction to the graphics pipeline Model and world coordinates Projecting perspective Camera models Culling techniques Surface and vertex attributes Rasterizing Efficiency issues for clipping and lighting Hierarchical scene representation, using trees and scene graphs Picking algorithms for a variety of 3-D shapes Collision detection for static and dynamic graphical objects Oriented bounding-box (OBB) trees Basics of curves and special curves (including Bezier curves and various splines) Curves (generating surfaces from curves by using different techniques) Character animation, using keyframe animation and inverse kinematics Skinning Geometrical level of detail considerations Techniques for generating game terrain Spatial sorting and binary space partitioning (BSP) Special effects: lens flare, bump mapping, volumetric fogging, projected light and shadows, particle systems, morphing techniques C++ language features for effective object-oriented design Reference to the numerical methods required for game mathematics Review I have been baffled by the lackluster quality of past publications targeted specifically at the interactive, real-time engineer and developer, and I am confident that Dr. Eberly's magnum opus will raise the bar for everyone who follows in his footsteps. I expect his work to become to game developers what Foley, Van Dam, et al., was to the graphics community in the late 80s and early 90s: the de facto mirror of the stae of art in research and development in the field. --Andrea Pessino, Blizzard Entertainment This is a great book for someone who is writing his or her first 3D engine and has a reasonable background in math. Even for people who have written game engines before, there is plenty of value in the alternative techniques that Eberaly presents for various parts of the 3D pipeline, which makes for a great reference text. I particularly like the presentation of various alternatives and their pros and cons. He clearly covers performance issues and includes all the important elements of a graphics game engine. He even includes a good introduction to animation techniques and collision detection. The book is not ashamed to delve deep into the technical details and the mathematics behind 3D graphics; I think this is good. 3D Game Engine Design would certainly find a prime place on my bookshelf. --Dominic Mallinson, Director of Technology, Research, and Development, Sony Computer Entertainment America Virtually all the books on building 3D game engines cover the basics: here's a polygon, here's a transformation matrix, here's a perspective projection, and so on. The problem is that you can't make a professional quality game with just the basics. This leaves a large gap between you and your goal of creating a great game engine. With this book, Dave is launching a huge boulder into the gap, helping you scamper to your destination. Managing a generalized 3D environment in real-time is difficult, the book covers a complete set of high-end techniques to do the job. For example, if you want to find collisions between the swept volumes of two oriented bounding volumes as they fly through space go to page 194. I think most game companies would be lucky to come anywhere close to this level of sophistication. I loved Appendix A, "Object-Oriented Infrastructure." It covers many of the software-engineering issues we have had to solve over the years; things like objects with multiple references being managed by a reference count semaphore. --Eric Yiskis, Lead Programmer, Oddworld Inhabitants [3D Game Engine Design] presents an incredible amount of difficult and complex information in a clear and understandable manner. --Ian Ashdown, University of British Columbia Well done...definately a must-have reference for the budding 3D engine developer. --Peter Lipson, Mindscape Before reading the chapters, [the table of contents] engaged me and I said to myself , "I'm going to learn a lot from this book." I'm inclined to recommend this to my undergraduates who want to have a reference for 3D graphics programming. --Jahn Laird, University of Michigan This book will serve as a welcome resource for game programmers who wish to work at the cutting edge of their trade. It is a remarkably comprehensive and elegant guide to the construction of interactive 3D environments at a professional level. Drawing on the latest advances in real-time rendering and software engineering, Eberly astutely brings game engine development into the 21st century. --Sherry McKenna, CEO Oddworld Inhabitants Dave Eberly has written the definitive book on real-time 3D game engine design. It's a must-have for anyone who writes real-time 3D code. --Franz Lanzinger, Actual Entertainment In an industry where quality information is extremely difficult to come by, Dave Eberly has managed to compile a desperately needed perspective for those programming the most critical link in the game production process: the game engine. This book should be mandatory reading for all aspiring game engine designers. --Lorne Lanning, Cofounder and President, Oddworld Inhabitants Publisher: CRC Press; Har/Cdr edition (10 September 2000) Language: English ISBN-10: 1558605932 ISBN-13: 978-1558605930 Most Helpful Customer Reviews Excellent reference, not a tutorial 31 March 2002 By Fletcher Dunn - 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. Highly recommended for those learning computer graphics. 3 December 2000 By Scott Patterson - I do think this is a great book for programmers. The fact that it comes with well written code libraries makes it a very powerful teaching tool. I was very pleased that an updated version of the code was available online that fixed some bugs. Many games use technologies that are discussed in this book. While many games may solve problems in much narrower ways because of the particular focus that their project has, this book covers good general approaches that are definitely valuable knowledge. One standout for me is the section on culling and clipping where different clip and transform sequences are discussed. Games very often use different sequences for clip and transform based on what is being rendered, but many graphics books only address a single traditional method. The appendix discussion and code implementation of c++ persistent storage is a good basis for tools code. Personally, I really like the author's kind of code style which has practical and readable c++ coding techniques similar those used in MFC. To be fair, the book doesn't really talk about a game engine, it talks about the many 3d math and rendering techniques that part of what is needed for a game engine. Sharing Widget |