
-
DISPONIBILITÀ IMMEDIATA
{{/disponibilitaBox}}
-
{{speseGratisLibroBox}}
{{/noEbook}}
{{^noEbook}}
-
Libro
-
- Genere: Libro
- Lingua: Inglese
- Editore: Morgan Kaufmann
- Pubblicazione: 01/2005
- Edizione: 1° edizione
3D Game Engine Architecture
eberly david h.
156,98 €
149,13 €
{{{disponibilita}}}
TRAMA
Dave Eberly's 3D Game Engine Design was the first professional guide to the essential concepts and algorithms of real-time 3D engines and quickly became a classic of game development. Dave's new book 3D Game Engine Architecture continues the tradition with a comprehensive look at the software engineering and programming of 3D engines. This book is a complete guide to the engineering process, starting with a walk-through of the graphics pipeline showing how to construct the core elements of 3D systems, including data structures, the math system, and the object system. Dave explains how to manage data with scene graphs, how to build rendering and camera systems, and how to handle level of detail, terrain, and animation. Advanced rendering effects such as vertex and pixel shaders are also covered as well as collision detection and physics systems. The book concludes with a discussion of application design, development tools, and coding standards for the source code of the new version of the Wild Magic engine included on the CD-ROM. Wild Magic is a commercial-quality game engine used by many companies and is a unique resource for the game development community. <BR>*CD-ROM with the complete C++ source code for Wild Magic version 3, a commercial-quality game engine for Windows, Linux, and OS X.<BR>*A comprehensive, practical guide to all the steps necessary to build professional-quality real-time simulations with just minimal mathematics required.<BR>*Emphasizes the application of software engineering principles and describes the architecture of large libraries.SOMMARIO
About the AuthorPrefaceChapter 1 Introduction1.1 Drawing a Triangle1.2 Drawing a Triangle Mesh1.3 Drawing a Complicated Scene1.4 Abstraction of SystemsChapter 2 Core Systems2.1 The Low-Level System2.1.1 Basic Data Structures2.1.2 Encapsulating Platform-Specific Concepts2.1.3 Endianness2.1.4 System Time2.1.5 File Handling2.1.6 Memory Allocation and Deallocation2.2 The Mathematics System2.2.1 Basic Mathematics Functions2.2.2 Fast Functions2.2.3 Vectors2.2.4 Matrices2.2.5 Quaternions2.2.6 Lines and Planes2.2.7 Colors2.3 The Object System2.3.1 Run-Time Type Information2.3.2 Names and Unique Identifiers2.3.3 Sharing and Smart Pointers2.3.4 Controllers2.3.5 Streaming2.3.6 Cloning2.3.7 String Trees2.3.8 Initialization and TerminationChapter 3 Scene Graphs and Renderers3.1 The Core Classes3.1.1 Motivation for the Classes3.1.2 Spatial Hierarchy Design3.1.3 Instancing3.2 Geometric State3.2.1 Transformations3.2.2 Bounding Volumes3.2.3 The Core Classes and Geometric Updates3.3 Geometric Types3.3.1 Points3.3.2 Line Segments3.3.3 Triangle Meshes3.3.4 Particles3.4 Render State3.4.1 Global State3.4.2 Lights3.4.3 Textures3.4.4 Multitexturing3.4.5 Effects3.4.6 The Core Classes and Render State Updates3.5 Renderers and Cameras3.5.1 Camera Models3.5.2 Basic Architecture for Rendering3.5.3 Single-Pass Drawing3.5.4 The DrawPrimitive Function3.5.5 Cached Textures and Vertex Attributes3.5.6 Global Effects and Multipass SupportChapter 4 Advanced Scene Graph Topics4.1 Level of Detail4.1.1 Billboards4.1.2 Display of Particles4.1.3 Discrete Level of Detail4.1.4 Continuous Level of Detail4.1.5 Infinite Level of Detail4.2 Sorting4.2.1 Binary Space Partitioning Trees4.2.2 Portals4.2.3 Sorting Children of a Node4.2.4 Deferred Drawing4.3 Curves and Surfaces4.3.1 Parametric Curves4.3.2 Parametric Surfaces4.3.3 Curve Tessellation by Subdivision4.3.4 Surface Tessellation by Subdivision4.4 Terrain4.4.1 Data Representations4.4.2 Level of Detail4.4.3 Terrain Pages and Memory Management4.5 Controllers and Animation4.5.1 Keyframe Animation4.5.2 Morphing4.5.3 Points and Particles4.5.4 Skin and Bones4.5.5 Inverse KinematicsChapter 5 Advanced Rendering Topics5.1 Special Effects Using the Fixed-Function Pipeline5.1.1 Vertex Coloring5.1.2 Single Textures5.1.3 Dark Maps5.1.4 Light Maps5.1.5 Gloss Maps5.1.6 Bump Maps5.1.7 Environment Maps5.1.8 Projected Textures5.1.9 Planar Shadows5.1.10 Planar Reflection5.2 Special Effects Using Vertex and Pixel Shaders5.2.1 Scene Graph Support5.2.2 Renderer Support5.2.3 Automatic Source Code GenerationChapter 6 Collision Detection6.1 Distance-Based Methods6.1.1 A Plan of Attack6.1.2 Root Finding Using Newton's Method6.1.3 Root Finding Using Bisection6.1.4 Hybrid Root Finding6.1.5 An Abstract Interface for Distance Calculations6.2 Intersection-Based Methods6.2.1 An Abstract Interface for Intersection Queries6.3 Line-Object Intersection6.3.1 Intersections between Linear Components and Triangles6.3.2 Intersections between Linear Components and Bounding Volumes6.3.3 Picking6.3.4 Staying on Top of Things6.3.5 Staying Out of Things6.4 Object-Object Intersection6.4.1 Collision Groups6.4.2 Hierarchical Collision Detection6.4.3 Spatial and Temporal CoherenceChapter 7 Physics7.1 Numerical Methods for Solving Differential Equations7.1.1 Euler's Method7.1.2 Midpoint Method7.1.3 Runge-Kutta Fourth-Order Method7.1.4 Implicit Equations and Methods7.2 Particle Physics7.3 Mass-Spring Systems7.3.1 Curve Masses7.3.2 Surface Masses7.3.3 Volume Masses7.3.4 Arbitrary Configurations7.4 Deformable Bodies7.5 Rigid Bodies7.5.1 The Rigid Body Class7.5.2 Computing the Inertia TensorChapter 8 Applications8.1 Abstraction of the Application8.1.1 Processing Command Line Parameters8.1.2 The Application Class8.1.3 The ConsoleApplication Class8.1.4 TheWindowApplication Class8.1.5 TheWindowApplication3 Class8.2 Sample Applications8.2.1 BillboardNode Sample8.2.2 BspNode Sample8.2.3 CachedArray Sample8.2.4 Castle Sample8.2.5 ClodMesh Sample8.2.6 Collision Sample8.2.7 InverseKinematics Sample8.2.8 Portals Sample8.2.9 ScreenPolygon Sample8.2.10 SkinnedBiped Sample8.2.11 SortFaces Sample8.2.12 Terrain Sample8.3 Sample Tools8.3.1 3dsToWmof Importer8.3.2 Maya Exporter8.3.3 BmpToWmif Converter8.3.4 WmifToBmp Converter8.3.5 ScenePrinter Tool8.3.6 SceneTree Tool8.3.7 SceneViewer ToolAppendix A Coding ConventionsA.1 File Naming and OrganizationA.2 Comment Preamble and SeparatorsA.3 White SpaceA.3.1 IndentationA.3.2 Blank LinesA.3.3 Function DeclaratorsA.3.4 Constructor InitializersA.3.5 Function CallsA.3.6 ConditionalsA.4 BracesA.5 Pointer TypesA.6 Identifier NamesA.6.1 VariablesA.6.2 Classes and FunctionsA.6.3 EnumerationsA.7 C++ ExceptionsA.8 Header File OrganizationA.8.1 Include Guards and Nested Header FilesA.8.2 Minimizing Compilation TimeBibliographyIndexAbout the CD-ROMAUTORE
Dave Eberly is the president of Geometric Tools, Inc. (www.geometrictools.com), a company that specializes in software development for computer graphics, image analysis, and numerical methods. Previously, he was the director of engineering at Numerical Design Ltd. (NDL), the company responsible for the real-time 3D game engine, NetImmerse. He also worked for NDL on Gamebryo, which was the next-generation engine after NetImmerse. His background includes a BA degree in mathematics from Bloomsburg University, MS and PhD degrees in mathematics from the University of Colorado at Boulder, and MS and PhD degrees in computer science from the University of North Carolina at ChapelHill. He is the author of 3D Game Engine Design, 2nd Edition (2006), 3D Game Engine Architecture (2005), Game Physics (2004), and coauthor with Philip Schneider of Geometric Tools for Computer Graphics (2003), all published by Morgan Kaufmann. As a mathematician, Dave did research in the mathematics of combustion, signal and image processing, and length-biased distributions in statistics. He was an associate professor at the University of Texas at San Antonio with an adjunct appointment in radiology at the U.T. Health Science Center at San Antonio. In 1991, he gave up his tenured position to re-train in computer science at the University of North Carolina. After graduating in 1994, he remained for one year as a research associate professor in computer science with a joint appointment in the Department of Neurosurgery, working in medical image analysis. His next stop was the SAS Institute, working for a year on SAS/Insight, a statistical graphics package. Finally, deciding that computer graphics and geometry were his real calling, Dave went to work for NDL (which is now Emergent Game Technologies), then to Magic Software, Inc., which later became Geometric Tools, Inc. Dave's participation in the newsgroup comp.graphics.algoritNOTE LIBRAIO
This book is a complete guide to the engineering process, starting with a walk-through of the graphics pipeline showing how to construct the core elements of 3D systems, including data structures, the math system and the object system. The author explains how to manage data with scene graphs, how to build rendering and camera systems, and how to handle level of detail, terrain and animation.ALTRE INFORMAZIONI
- Condizione: Nuovo
- ISBN: 9780122290640
- Collana: Morgan Kaufmann
- Dimensioni: 9.25 x 7.5 in Ø 4.70 lb
- Formato: Copertina rigida
- Illustration Notes: Approx. 200 illustrations (50 in full color)
- Pagine Arabe: 756