책 이미지
![3D Game Engine Design: A Practical Approach to Real-Time Computer Graphics [With CDROM]](/img_thumb2/9780122290633.jpg)
eBook 미리보기
책 정보
· 제목 : 3D Game Engine Design: A Practical Approach to Real-Time Computer Graphics [With CDROM] (Hardcover, 2) 
· 분류 : 외국도서 > 컴퓨터 > 컴퓨터 그래픽
· ISBN : 9780122290633
· 쪽수 : 1040쪽
· 출판일 : 2006-11-01
· 분류 : 외국도서 > 컴퓨터 > 컴퓨터 그래픽
· ISBN : 9780122290633
· 쪽수 : 1040쪽
· 출판일 : 2006-11-01
목차
- Preface
- 1 Introduction
- 2 The Graphics System
- 2.1 The Foundation
- 2.1.1 Coordinate Systems
- 2.1.2 Handedness and Cross Products
- 2.1.3 Points and Vectors
- 2.2 Transformations
- 2.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 Cameras
- 2.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 Clipping
- 2.4.1 Object Culling
- 2.4.2 Back Face Culling
- 2.4.3 Clipping to the View Frustum
- 2.5 Rasterizing
- 2.5.1 Line Segments
- 2.5.2 Circles
- 2.5.3 Ellipses
- 2.5.4 Triangles
- 2.6 Vertex Attributes
- 2.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 APIs
- 2.7.1 A General Discussion
- 2.7.2 Portability versus Performance
- 2.8 API Conventions
- 2.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
- 2.1 The Foundation
- 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 Miscellaneous
- 4.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 State
- 5.3.1 Vertices and Vertex Attributes
- 5.3.2 Transformations
- 5.3.3 Bounding Volumes
- 5.4 Render State
- 5.4.1 Global State
- 5.4.2 Lights
- 5.4.3 Effects
- 5.5 The Update Pass
- 5.5.1 Geometric State Updates
- 5.5.2 Render State Updates
- 5.6 The Culling Pass
- 5.6.1 Hierarchical Culling
- 5.6.2 Sorted Culling
- 5.7 The Drawing Pass
- 5.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 Issues
- 5.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 Management
- 7.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 Choices
- 7.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 Partitioning
- 9.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
- 9.1 Spatial Partitioning
- 10 Level of Detail
- 10.1 Discrete Level of Detail
- 10.1.1 Sprites and Billboards
- 10.1.2 Model Switching
- 10.2 Continuous Level of Detail
- 10.2.1 General Concepts
- 10.2.2 Application to Regular Meshes
- 10.2.3 Application to General Meshes
- 10.3 Infinite Level of Detail
- 10.3.1 General Concepts
- 10.3.2 Application to Parametric Curves
- 10.3.3 Application to Parametric Surfaces
- 10.1 Discrete Level of Detail
- 11 Terrain
- 11.1 Data Representations
- 11.2 Level of Detail for Height Fields
- 11.3 Terrain Pages and Memory Management
- 12 Collision Detection
- 12.1 Static Line-Object Intersections
- 12.2 Static Object-Object Intersections
- 12.3 Dynamic Line-Object Intersections
- 12.3.1 Distance-Based Approach
- 12.3.2 Intersection-Based Approach
- 12.4 Dynamic Object-Object Intersections
- 12.4.1 Distance-Based Approach
- 12.4.2 Intersection-Based Approach
- 12.5 Path Finding to Avoid Collisions
- 13 Physics
- 13.1 Basic Concepts
- 13.2 Particle Systems
- 13.3 Mass-Spring Systems
- 13.4 Deformable Bodies
- 13.5 Rigid Bodies
- 14 Object-Oriented Infrastructure
- 14.1 Object-Oriented Software Construction
- 14.2 Style, Naming Conventions, and Namespaces
- 14.3 Run-Time Type Information
- 14.4 Templates
- 14.5 Shared Objects and Reference Counting
- 14.6 Streaming
- 14.7 Startup and Shutdown
- 14.8 An Application Layer
- 15 Mathematical Topics
- 15.1 Standard Objects
- 15.2 Curves
- 15.3 Surfaces
- 15.4 Distance Algorithms
- 15.5 Intersection Algorithms
- 15.6 Numerical Algorithms
- 15.7 All About Rotations
- 15.7.1 Rotation Matrices
- 15.7.2 Quaternions
- 15.7.3 Euler Angles
- 15.7.4 Performance Issues
- 15.8 The Curse of Nonuniform Scaling
- Bibliography
- Index
저자소개
추천도서
분야의 베스트셀러 >