Header AD

Sunday, June 24, 2012

3D Graphics for Game Programming


3D Graphics for Game Programming

"3D Graphics for Game Programming" By JungHyun Han, Jubok Kim
?h??m?n & ??ll/?R?, ??yl?r and Fr?n?is | 2011 | ISBN: 1439827370 9781439827376 9781439827383 | 326 pages | PDF | 30 MB

Designed for advanced undergraduate and beginning graduate courses, this book presents must-know information for success in interactive graphics. Assuming a minimal prerequisite understanding of vectors and matrices, it also provides sufficient mathematical background for game developers to combine their previous experience in graphics API and shader programming with the background theory of computer graphics.

Well organized and logically presented, this book takes its organizational format from GPU programming and presents a variety of algorithms for programmable stages along with the knowledge required to configure hard-wired stages. 
Easily accessible, it offers a wealth of elaborate 3D visual presentations and includes additional theoretical and technical details in separate shaded boxes and optional sections. 
Maintaining API neutrality throughout to maximize applicability, the book gives sample programs to assist in understanding. 

Contents
Preface
1 Modeling in Game Production
1.1 Game Production Pipeline 
1.2 Polygon Mesh 
1.2.1 Polygon Mesh Creation
1.2.2 Polygon Mesh Representation 
1.2.3 Surface Normal 
1.3 Model Export and Import 
1.4 Coordinate Systems 
2 Vertex Processing
2.1 World Transform 
2.1.1 Affine Transforms and Homogeneous Coordinates 
2.1.2 World Matrix 
2.1.3 Euler Transform 
2.1.4 Transform of Surface Normals 
2.2 View Transform 
2.2.1 Camera Space 
2.2.2 Space Change and View Matrix 
2.3 Per-vertex Lighting 
2.4 Projection Transform 
2.4.1 View Frustum 
2.4.2 Projection Matrix 
2.4.3 Derivation of Projection Matrix
3 Rasterization
3.1 Clipping 
3.2 Perspective Division 
3.3 Back-face Culling 
3.4 Coordinate Systems - Revisited
3.4.1 3ds Max to OpenGL - Axis Flipping 
3.4.2 OpenGL to Direct3D - Reflection 
3.4.3 OpenGL to Direct3D - Vertex Reordering 
3.5 Viewport Transform 
3.6 Scan Conversion 
3.7 Application: Object Picking
3.7.1 Computing World-space Ray 
3.7.2 Ray-object Intersection Test 
4 Fragment Processing and Output Merging
4.1 Texturing 
4.1.1 Texture Coordinates 
4.1.2 Surface Parameterization 
4.1.3 Texture Coordinates to Texel Address 
4.2 Output Merging 
4.2.1 Z-buffering 
4.2.2 Alpha Blending 
4.3 Z-culling 
4.3.1 Tile-based Culling 
4.3.2 Application: Pre-Z Pass 
5 Illumination and Shaders
5.1 Phong Lighting Model 
5.1.1 Diffuse Reflection 
5.1.2 Specular Reflection 
5.1.3 Ambient Reflection 
5.1.4 Emissive Light 
5.2 Shaders and Shading Languages 
5.2.1 Vertex and Fragment Shaders 
5.2.2 High-Level Shading Language 
5.3 Lighting in the Pipeline 
5.3.1 Per-vertex Lighting in HLSL
5.3.2 Per-vertex Lighting vs. Per-fragment Lighting 
5.3.3 Per-fragment Lighting in HLSL 
5.4 Global Illumination 
5.4.1 Ray TVacing 
5.4.2 Radiosity 
6 Parametric Curves and Surfaces
6.1 Parametric Curves 
6.1.1 Bezier Curves 
6.1.2 Hermite Curve and Catmull-Rom Spline 
6.2 Application: Camera Path 
6.3 Bezier Surfaces 
6.3.1 Bilinear Patch 
6.3.2 Biquadratic Bezier Patch 
6.3.3 Bicubic Bezier Patch 
6.3.4 Bezier Triangle 
7 Shader Models
7.1 Shader Model 4 and Geometry Shader 
7.2 Application: Dynamic Particle System 
7.2.1 Physics-based Simulation of Particles 
7.2.2 Fireworks Simulation 
7.2.3 Fireworks Rendering 
7.3 Shader Model 5 and Tessellation 
7.4 Application: PN-triangles 
7.4.1 Computing Control Points 
7.4.2 Computing Control Normals 
7.4.3 PN-triangle Tessellation 
8 Image Texturing
8.1 Texture Addressing Mode 
8.2 Texture Filtering 
8.2.1 Magnification 
8.2.2 Minification 
8.3 Mipmapping 
8.3.1 Mipmap Construction 
8.3.2 Mipmap Filtering 
8.3.3 Options for Mipmap Filtering 
8.4 Anisotropic Filtering 
9 Bump Mapping
9.1 Height Field 
9.2 Normal Mapping 
9.2.1 Normal Map 
9.2.2 Algorithm for Normal Mapping 
9.3 Tangent-space Normal Mapping 
9.3.1 Algorithm for Tangent-space Normal Mapping 
9.3.2 Tangent Space Computation
9.4 Authoring of Normal Map 
9.5 Parallax Mapping 
9.6 Displacement Mapping 
10 Advanced Texturing
10.1 Environment Mapping 
10.1.1 Cube Mapping 
10.1.2 Cube Map Access
10.1.3 Dynamic Cube Mapping 
10.2 Light Mapping 
10.2.1 Diffuse Light Mapping 
10.2.2 Radiosity Normal Mapping
10.3 Shadow Mapping 
10.3.1 Algorithm for Shadow Mapping 
10.3.2 Shader Codes for Shadow Mapping
10.3.3 Shadow Map Filtering 
10.4 Ambient Occlusion 
10.5 Deferred Shading 
11 Character Animation
11.1 Keyframe Animation 
11.2 Rotation 
11.2.1 Interpolation of Euler Angles 
11.2.2 Quaternion Representation 
11.2.3 Rotation Using Quaternion 
11.2.4 Interpolation of Quaternions 
11.3 Hierarchical Modeling and Space Change 
11.3.1 Hierarchical Model 
11.3.2 Space Change between Bones 
11.3.3 World Space to Bone Space 
11.4 Forward Kinematics 
11.5 Skinning and Keyframe Animation 
11.5.1 Skinning 
11.5.2 Skinning in Keyframe Animation 
11.6 Inverse Kinematics 
11.6.1 Analytic Solution 
11.6.2 Cyclic Coordinate Descent 
12 Physics-based Simulation
12.1 Penalty Method 
12.2 Impulse Method 
12.2.1 Impulse 
12.2.2 Impulse-based Collision Resolution 
12.3 Collision Detection 
12.3.1 Bounding Volumes and Their Hierarchy
12.3.2 TViangle-triangle Intersection 
References
Errata

No comments:

Post a Comment

Give your valuable feedback

Post AD