3D game engine architecture : engineering real-time applications with Wild Magic /: engineering real-time applications with Wild Magic. (2004)
- Record Type:
- Book
- Title:
- 3D game engine architecture : engineering real-time applications with Wild Magic /: engineering real-time applications with Wild Magic. (2004)
- Main Title:
- 3D game engine architecture : engineering real-time applications with Wild Magic
- Further Information:
- Note: David H. Eberly.
- Other Names:
- Eberly, David H
- Contents:
- About the Author Preface Chapter 1 Introduction 1.1 Drawing a Triangle 1.2 Drawing a Triangle Mesh 1.3 Drawing a Complicated Scene 1.4 Abstraction of Systems Chapter 2 Core Systems 2.1 The Low-Level System2.1.1 Basic Data Structures 2.1.2 Encapsulating Platform-Specific Concepts 2.1.3 Endianness 2.1.4 System Time 2.1.5 File Handling 2.1.6 Memory Allocation and Deallocation 2.2 The Mathematics System2.2.1 Basic Mathematics Functions 2.2.2 Fast Functions 2.2.3 Vectors 2.2.4 Matrices 2.2.5 Quaternions 2.2.6 Lines and Planes 2.2.7 Colors 2.3 The Object System2.3.1 Run-Time Type Information 2.3.2 Names and Unique Identifiers 2.3.3 Sharing and Smart Pointers 2.3.4 Controllers 2.3.5 Streaming 2.3.6 Cloning 2.3.7 String Trees 2.3.8 Initialization and Termination Chapter 3 Scene Graphs and Renderers 3.1 The Core Classes3.1.1 Motivation for the Classes 3.1.2 Spatial Hierarchy Design 3.1.3 Instancing 3.2 Geometric State3.2.1 Transformations 3.2.2 Bounding Volumes 3.2.3 The Core Classes and Geometric Updates 3.3 Geometric Types3.3.1 Points 3.3.2 Line Segments 3.3.3 Triangle Meshes 3.3.4 Particles 3.4 Render State3.4.1 Global State 3.4.2 Lights 3.4.3 Textures 3.4.4 Multitexturing 3.4.5 Effects 3.4.6 The Core Classes and Render State Updates 3.5 Renderers and Cameras3.5.1 Camera Models 3.5.2 Basic Architecture for Rendering 3.5.3 Single-Pass Drawing 3.5.4 The DrawPrimitive Function 3.5.5 Cached Textures and Vertex Attributes 3.5.6 Global Effects and Multipass Support Chapter 4 AdvancedAbout the Author Preface Chapter 1 Introduction 1.1 Drawing a Triangle 1.2 Drawing a Triangle Mesh 1.3 Drawing a Complicated Scene 1.4 Abstraction of Systems Chapter 2 Core Systems 2.1 The Low-Level System2.1.1 Basic Data Structures 2.1.2 Encapsulating Platform-Specific Concepts 2.1.3 Endianness 2.1.4 System Time 2.1.5 File Handling 2.1.6 Memory Allocation and Deallocation 2.2 The Mathematics System2.2.1 Basic Mathematics Functions 2.2.2 Fast Functions 2.2.3 Vectors 2.2.4 Matrices 2.2.5 Quaternions 2.2.6 Lines and Planes 2.2.7 Colors 2.3 The Object System2.3.1 Run-Time Type Information 2.3.2 Names and Unique Identifiers 2.3.3 Sharing and Smart Pointers 2.3.4 Controllers 2.3.5 Streaming 2.3.6 Cloning 2.3.7 String Trees 2.3.8 Initialization and Termination Chapter 3 Scene Graphs and Renderers 3.1 The Core Classes3.1.1 Motivation for the Classes 3.1.2 Spatial Hierarchy Design 3.1.3 Instancing 3.2 Geometric State3.2.1 Transformations 3.2.2 Bounding Volumes 3.2.3 The Core Classes and Geometric Updates 3.3 Geometric Types3.3.1 Points 3.3.2 Line Segments 3.3.3 Triangle Meshes 3.3.4 Particles 3.4 Render State3.4.1 Global State 3.4.2 Lights 3.4.3 Textures 3.4.4 Multitexturing 3.4.5 Effects 3.4.6 The Core Classes and Render State Updates 3.5 Renderers and Cameras3.5.1 Camera Models 3.5.2 Basic Architecture for Rendering 3.5.3 Single-Pass Drawing 3.5.4 The DrawPrimitive Function 3.5.5 Cached Textures and Vertex Attributes 3.5.6 Global Effects and Multipass Support Chapter 4 Advanced Scene Graph Topics 4.1 Level of Detail4.1.1 Billboards 4.1.2 Display of Particles 4.1.3 Discrete Level of Detail 4.1.4 Continuous Level of Detail 4.1.5 Infinite Level of Detail 4.2 Sorting4.2.1 Binary Space Partitioning Trees 4.2.2 Portals 4.2.3 Sorting Children of a Node 4.2.4 Deferred Drawing 4.3 Curves and Surfaces4.3.1 Parametric Curves 4.3.2 Parametric Surfaces 4.3.3 Curve Tessellation by Subdivision 4.3.4 Surface Tessellation by Subdivision 4.4 Terrain4.4.1 Data Representations 4.4.2 Level of Detail 4.4.3 Terrain Pages and Memory Management 4.5 Controllers and Animation4.5.1 Keyframe Animation 4.5.2 Morphing 4.5.3 Points and Particles 4.5.4 Skin and Bones 4.5.5 Inverse Kinematics Chapter 5 Advanced Rendering Topics 5.1 Special Effects Using the Fixed-Function Pipeline5.1.1 Vertex Coloring 5.1.2 Single Textures 5.1.3 Dark Maps 5.1.4 Light Maps 5.1.5 Gloss Maps 5.1.6 Bump Maps 5.1.7 Environment Maps 5.1.8 Projected Textures 5.1.9 Planar Shadows 5.1.10 Planar Reflection 5.2 Special Effects Using Vertex and Pixel Shaders5.2.1 Scene Graph Support 5.2.2 Renderer Support 5.2.3 Automatic Source Code Generation Chapter 6 Collision Detection 6.1 Distance-Based Methods6.1.1 A Plan of Attack 6.1.2 Root Finding Using Newton's Method 6.1.3 Root Finding Using Bisection 6.1.4 Hybrid Root Finding 6.1.5 An Abstract Interface for Distance Calculations 6.2 Intersection-Based Methods6.2.1 An Abstract Interface for Intersection Queries 6.3 Line-Object Intersection6.3.1 Intersections between Linear Components and Triangles 6.3.2 Intersections between Linear Components and Bounding Volumes 6.3.3 Picking 6.3.4 Staying on Top of Things 6.3.5 Staying Out of Things 6.4 Object-Object Intersection6.4.1 Collision Groups 6.4.2 Hierarchical Collision Detection 6.4.3 Spatial and Temporal Coherence Chapter 7 Physics 7.1 Numerical Methods for Solving Differential Equations7.1.1 Euler's Method 7.1.2 Midpoint Method 7.1.3 Runge-Kutta Fourth-Order Method 7.1.4 Implicit Equations and Methods 7.2 Particle Physics 7.3 Mass-Spring Systems7.3.1 Curve Masses 7.3.2 Surface Masses 7.3.3 Volume Masses 7.3.4 Arbitrary Configurations 7.4 Deformable Bodies 7.5 Rigid Bodies7.5.1 The Rigid Body Class 7.5.2 Computing the Inertia Tensor Chapter 8 Applications 8.1 Abstraction of the Application8.1.1 Processing Command Line Parameters 8.1.2 The Application Class 8.1.3 The ConsoleApplication Class 8.1.4 TheWindowApplication Class 8.1.5 TheWindowApplication3 Class 8.2 Sample Applications8.2.1 BillboardNode Sample 8.2.2 BspNode Sample 8.2.3 CachedArray Sample 8.2.4 Castle Sample 8.2.5 ClodMesh Sample 8.2.6 Collision Sample 8.2.7 InverseKinematics Sample 8.2.8 Portals Sample 8.2.9 ScreenPolygon Sample 8.2.10 SkinnedBiped Sample 8.2.11 SortFaces Sample 8.2.12 Terrain Sample 8.3 Sample Tools8.3.1 3dsToWmof Importer 8.3.2 Maya Exporter 8.3.3 BmpToWmif Converter 8.3.4 WmifToBmp Converter 8.3.5 ScenePrinter Tool 8.3.6 SceneTree Tool 8.3.7 SceneViewer Tool Appendix A Coding Conventions A.1 File Naming and Organization A.2 Comment Preamble and Separators A.3 White SpaceA.3.1 Indentation A.3.2 Blank Lines A.3.3 Function Declarators A.3.4 Constructor Initializers A.3.5 Function Calls A.3.6 Conditionals A.4 Braces A.5 Pointer Types A.6 Identifier NamesA.6.1 Variables A.6.2 Classes and Functions A.6.3 Enumerations A.7 C++ Exceptions A.8 Header File OrganizationA.8.1 Include Guards and Nested Header Files A.8.2 Minimizing Compilation Time Bibliography Index About the CD-ROM … (more)
- Publisher Details:
- Place of publication not identified : CRC Press
- Publication Date:
- 2004
- Extent:
- 1 online resource (752 pages)
- Subjects:
- 794.81526
Computer games -- Programming
Computer graphics
Three-dimensional display systems
Real-time programming - Languages:
- English
- ISBNs:
- 9781482267310
1482267314 - Access Rights:
- Legal Deposit; Only available on premises controlled by the deposit library and to one user at any one time; The Legal Deposit Libraries (Non-Print Works) Regulations (UK).
- Access Usage:
- Restricted: Printing from this resource is governed by The Legal Deposit Libraries (Non-Print Works) Regulations (UK) and UK copyright law currently in force.
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library HMNTS - ELD.DS.282950
- Ingest File:
- 01_189.xml