3D game engine design : a practical approach to real-time computer graphics /: a practical approach to real-time computer graphics. (2015)
- Record Type:
- Book
- Title:
- 3D game engine design : a practical approach to real-time computer graphics /: a practical approach to real-time computer graphics. (2015)
- Main Title:
- 3D game engine design : a practical approach to real-time computer graphics
- Further Information:
- Note: David H. Eberly.
- Authors:
- Eberly, David H
- Contents:
- Preface 1 Introduction 2 The Graphics System 2.1 The Foundation2.1.1 Coordinate Systems 2.1.2 Handedness and Cross Products 2.1.3 Points and Vectors 2.2 Transformations2.2.1 Linear Transformations 2.2.2 Affine Transformations 2.2.3 Projective Transformations 2.2.4 Properties of Perspective Projection 2.2.5 Homogeneous Points and Matrices 2.3 Cameras2.3.1 The Perspective Camera Model 2.3.2 Model or Object Space 2.3.3 World Space 2.3.4 View, Camera, or Eye Space 2.3.5 Clip, Projection, or Homogeneous Space 2.3.6 Window Space 2.3.7 Putting Them All Together 2.4 Culling and Clipping2.4.1 Object Culling 2.4.2 Back Face Culling 2.4.3 Clipping to the View Frustum 2.5 Rasterizing2.5.1 Line Segments 2.5.2 Circles 2.5.3 Ellipses 2.5.4 Triangles 2.6 Vertex Attributes2.6.1 Colors 2.6.2 Lighting and Materials 2.6.3 Textures 2.6.4 Transparency and Opacity 2.6.5 Fog 2.6.6 And Many More 2.6.7 Rasterizing Attributes 2.7 Issues of Software, Hardware, and APIs2.7.1 A General Discussion 2.7.2 Portability versus Performance 2.8 API Conventions2.8.1 Matrix Representation and Storage 2.8.2 Matrix Composition 2.8.3 View Matrices 2.8.4 Projection Matrices 2.8.5 Window Handedness 2.8.6 Rotations 2.8.7 Fast Computations using the Graphics API 3 Renderers 3.1 Software Rendering 3.2 Hardware Rendering 3.3 The Fixed-Function Pipeline 3.4 Vertex and Pixel Shaders 3.5 An Abstract Rendering API 4 Special Effects Using Shaders 4.1 Vertex Colors 4.2 Lighting and Materials 4.3 Textures 4.4 Multitextures 4.5Preface 1 Introduction 2 The Graphics System 2.1 The Foundation2.1.1 Coordinate Systems 2.1.2 Handedness and Cross Products 2.1.3 Points and Vectors 2.2 Transformations2.2.1 Linear Transformations 2.2.2 Affine Transformations 2.2.3 Projective Transformations 2.2.4 Properties of Perspective Projection 2.2.5 Homogeneous Points and Matrices 2.3 Cameras2.3.1 The Perspective Camera Model 2.3.2 Model or Object Space 2.3.3 World Space 2.3.4 View, Camera, or Eye Space 2.3.5 Clip, Projection, or Homogeneous Space 2.3.6 Window Space 2.3.7 Putting Them All Together 2.4 Culling and Clipping2.4.1 Object Culling 2.4.2 Back Face Culling 2.4.3 Clipping to the View Frustum 2.5 Rasterizing2.5.1 Line Segments 2.5.2 Circles 2.5.3 Ellipses 2.5.4 Triangles 2.6 Vertex Attributes2.6.1 Colors 2.6.2 Lighting and Materials 2.6.3 Textures 2.6.4 Transparency and Opacity 2.6.5 Fog 2.6.6 And Many More 2.6.7 Rasterizing Attributes 2.7 Issues of Software, Hardware, and APIs2.7.1 A General Discussion 2.7.2 Portability versus Performance 2.8 API Conventions2.8.1 Matrix Representation and Storage 2.8.2 Matrix Composition 2.8.3 View Matrices 2.8.4 Projection Matrices 2.8.5 Window Handedness 2.8.6 Rotations 2.8.7 Fast Computations using the Graphics API 3 Renderers 3.1 Software Rendering 3.2 Hardware Rendering 3.3 The Fixed-Function Pipeline 3.4 Vertex and Pixel Shaders 3.5 An Abstract Rendering API 4 Special Effects Using Shaders 4.1 Vertex Colors 4.2 Lighting and Materials 4.3 Textures 4.4 Multitextures 4.5 Bump Maps 4.6 Gloss Maps 4.7 Sphere Maps 4.8 Cube Maps 4.9 Refraction 4.10 Planar Reflection 4.11 Planar Shadows 4.12 Projected Textures 4.13 Shadow Maps 4.14 Volumetric Fog 4.15 Skinning 4.16 Miscellaneous4.16.1 Iridescence 4.16.2 Water Effects 4.16.3 Volumetric Textures 5 Scene Graphs 5.1 The Need for High-Level Data Management 5.2 The Need for Low-Level Data Structures 5.3 Geometric State5.3.1 Vertices and Vertex Attributes 5.3.2 Transformations 5.3.3 Bounding Volumes 5.4 Render State5.4.1 Global State 5.4.2 Lights 5.4.3 Effects 5.5 The Update Pass5.5.1 Geometric State Updates 5.5.2 Render State Updates 5.6 The Culling Pass5.6.1 Hierarchical Culling 5.6.2 Sorted Culling 5.7 The Drawing Pass5.7.1 Single-Pass Drawing 5.7.2 Single Effect, Multipass Drawing 5.7.3 Multiple Effect, Multipass Drawing 5.7.4 Caching Data on the Graphics Hardware 5.7.5 Sorting to Reduce State Changes 5.8 Scene Graph Design Issues5.8.1 Organization Based on Geometric State 5.8.2 Organization Based on Render State 5.8.3 Scene Graph Operations and Threading 5.8.4 The Producer-Consumer Model 6 Scene Graph Compilers 6.1 The Need for Platform-Specific Optimization 6.2 The Need for Reducing Memory Fragmentation 6.3 A Scene Graph as a Dynamic Expression 6.4 Compilation from High-Level to Low-Level Data 6.5 Control of Compilation via Node Tags 7 Memory Management 7.1 Memory Budgets for Game Consoles 7.2 General Concepts for Memory Management7.2.1 Allocation, Deallocation, and Fragmentation 7.2.2 Sequential-Fit Methods 7.2.3 Buddy-System Methods 7.2.4 Segregated-Storage Methods 7.3 Design Choices7.3.1 Memory Utilization 7.3.2 Fast Allocation and Deallocation 8 Controller-Based Animation 8.1 Vertex Morphing 8.2 Keyframe Animation 8.3 Inverse Kinematics 8.4 Skin and Bones 8.5 Particle Systems 9 Spatial Sorting 9.1 Spatial Partitioning9.1.1 Quadtrees and Octrees 9.1.2 BSP Trees 9.1.3 User-Defined Maps 9.2 Node-Based Sorting 9.3 Portals 9.4 Occlusion Culling 10 Level of Detail 10.1 Discrete Level of Detail10.1.1 Sprites and Billboards 10.1.2 Model Switching 10.2 Continuous Level of Detail& … (more)
- Edition:
- Second edition
- Publisher Details:
- Boca Raton : CRC Press
- Publication Date:
- 2015
- Extent:
- 1 online resource
- Subjects:
- 006.693
Three-dimensional display systems
Computer games -- Programming
Computer graphics
Real-time data processing - Languages:
- English
- ISBNs:
- 9781482267303
- Notes:
- Note: Includes bibliographical references and index.
Note: Description based on CIP data; resource not viewed. - 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.216244
- Ingest File:
- 02_263.xml