简介
Realistically animated 3D computer graphics rendered in real time is a goal of the computer animation industry. Tomas M?ller and Eric Haines provide a text that covers the development of real-time rendering for use in computer games, computer-animated movies, advertising, and other applications. The authors have written the book that they wish they had when they started out. Focusing on the entire graphics pipeline, this book covers optimization, visual appearance, speed-up techniques, and collision detection. The authors present new techniques and time-tested algorithms. Entire sections are devoted to special effects, polygon tessellation, and model simplification. A large section on hardware ends the book. Copious references, mathematical appendices, reading recommendations, and a dedicated web site for additional resources make this book an indispensable guide to this rapidly evolving field.The Graphics Rendering Pipeline; Transforms; Visual Appearance; Texturing; Special Effects; Speed-Up Techniques; Pipeline Optimization; Polygonal Techniques; Intersection Test Methods; Collision Detection; Graphics Hardware; The Future; Some Linear Algebra; Trigonometry
Second Edition now available.
目录
Table Of Contents:
Preface xiii
Introduction 1(6)
Contents Overview 2(1)
Notation and Definitions 3(4)
Mathematical Notation 3(2)
Geometrical Definitions 5(2)
The Graphics Rendering Pipeline 7(16)
Architecture 8(2)
The Application Stage 10(1)
The Geometry Stage 11(6)
Model and View Transform 12(1)
Lighting and Shading 13(1)
Projection 14(2)
Clipping 16(1)
Screen Mapping 16(1)
The Rasterizer Stage 17(3)
Through the Pipeline 20(3)
Transforms 23(42)
Basic Transforms 25(11)
Translation Matrix 25(1)
Rotation Matrices 26(1)
Scaling Matrix 27(2)
Shearing Matrices 29(2)
Concatenation of Transforms 31(2)
The Rigid-Body Transform 33(1)
Normal Transform 34(1)
Computation of Inverses 35(1)
Special Matrix Transforms and Operations 36(6)
The Euler Transform 36(2)
Extracting Parameters from the Euler Transform 38(2)
Matrix Decomposition 40(1)
Rotation About an Arbitrary Axis 41(1)
Quaternions 42(10)
Mathematical Background 43(2)
Quaternion Transforms 45(7)
Interpolation 52(5)
Projections 57(8)
Orthographic Projection 57(3)
Perspective Projection 60(5)
Visual Appearance 65(34)
Light Sources 65(2)
Material 67(1)
Lighting and Shading 68(13)
Diffuse Component 71(2)
Specular Component 73(4)
Ambient Component 77(1)
Lighting Equation 78(3)
Aliasing and Antialiasing 81(4)
Transparency, Alpha, and Compositing 85(4)
Fog 89(4)
Gamma Correction 93(6)
Texturing 99(46)
Generalized Texturing 100(6)
Image Texturing 106(11)
Magnification 107(1)
Minification 108(9)
Texture Caching and Compression 117(2)
Multipass Rendering 119(2)
Multitexturing 121(1)
Texture Animation 122(1)
Texturing Methods 123(22)
Alpha Mapping 123(1)
Light Mapping 124(1)
Gloss Mapping 125(2)
Environment Mapping 127(9)
Bump Mapping 136(7)
Other Texturing Techniques 143(2)
Special Effects 145(46)
The Rendering Spectrum 146(1)
Image-Based Rendering 147(11)
Lens Flare and Bloom 150(2)
Billboarding 152(3)
Full-Screen Billboarding 155(1)
Particle Systems 156(1)
Fixed-View Effects 157(1)
Motion Blur 158(1)
Depth of Field 159(1)
Reflections 160(7)
Planar Reflections 161(4)
Glossy Effects 165(1)
Reflections from Curved Reflectors 166(1)
Shadows 167(16)
Planar Shadows 167(8)
Shadows on Curved Surfaces 175(8)
Lines 183(3)
Edge Highlighting 184(1)
Polygon Edge Rendering 184(1)
Hidden-Line Rendering 185(1)
Haloing 186(1)
Height-Field and Volume Rendering 186(5)
Speed-Up Techniques 191(50)
Culling Techniques 191(27)
Backface and Clustered Culling 192(2)
Hierarchical View-Frustum Culling 194(6)
Portal Culling 200(3)
Detail Culling 203(1)
Occlusion Culling 204(14)
Impostors 218(6)
Nailboards 221(1)
Hierarchical Image Caching 222(2)
Related Work 224(1)
Levels of Detail 224(7)
Discrete Geometry LODs 225(1)
Alpha LODs 226(1)
Geomorph LODs 227(1)
LOD Management 228(3)
Triangle Strips, Fans, and Meshes 231(10)
Strips 232(3)
Fans 235(1)
Creating Strips 236(4)
Polygon Meshes 240(1)
Pipeline Optimization 241(26)
Locating the Bottleneck 242(2)
Testing the Application Stage 243(1)
Testing the Geometry Stage 243(1)
Testing the Rasterizer Stage 244(1)
Optimization 244(10)
Application Stage 244(4)
Geometry Stage 248(2)
Rasterizer Stage 250(2)
Overall Optimization 252(2)
Balancing the Graphics Pipeline 254(4)
Host and Accelerator 258(2)
Multiprocessing 260(7)
Multiprocessor Pipelining 260(4)
Parallel Processing 264(3)
Polygonal Techniques 267(22)
Sources of Three-Dimensional Data 268(1)
Tessellation 269(6)
Shading Problems 271(3)
Edge Cracking and T-Vertices 274(1)
Consolidation 275(6)
Simplification 281(8)
Intersection Test Methods 289(52)
Definitions 291(4)
Rules of Thumb 295(1)
Ray/Sphere Intersection 295(4)
Mathematical Solution 296(1)
Optimized Solution 297(2)
Ray/Box Intersection 299(4)
Slabs Method 299(3)
Woo's Method 302(1)
Ray/Triangle Intersection 303(3)
Intersection Algorithm 303(2)
Implementation 305(1)
Ray/Polygon Intersection 306(4)
The Crossings Test 307(3)
Plane/Box Intersection Detection 310(3)
AABB 311(1)
OBB 312(1)
Triangle/Triangle Intersection 313(6)
Interval Overlap Method 314(3)
ERIT's Method 317(1)
Performance Comparison 318(1)
Cube/Polygon Intersection 319(3)
General Algorithm 319(3)
BV/BV Intersection Tests 322(8)
Sphere/Box Intersection 323(1)
AABB/AABB Intersection 324(1)
k-DOP/k-DOP Intersection 324(1)
OBB/OBB Intersection 325(5)
View Frustrum Intersection 330(6)
Frustum/Sphere Intersection 332(3)
Frustum/Box Intersection 335(1)
Line/Line Intersection Tests 336(3)
Two Dimensions 336(2)
Three Dimensions 338(1)
Intersection Between Three Planes 339(2)
Collision Detection 341(22)
Collision Detection with Rays 343(1)
General Hierarchical Collision Detection 344(5)
Hierarchy Building 345(2)
Collision Testing between Hierarchies 347(1)
Cost Function 348(1)
OBBTree 349(5)
k-DOPTree 354(3)
A Multiple Objects CD System 357(6)
The First-Level CD 358(2)
Summary 360(3)
Graphics Hardware 363(26)
Buffers and Buffering 363(12)
A Simple Display System 363(2)
The Color Buffer 365(3)
Z-buffering and W-buffering 368(2)
Single, Double, and Triple Buffering 370(2)
Stereo Buffers 372(1)
Stencil and Accumulation Buffering 373(1)
Memory 374(1)
Architecture 375(14)
General 375(3)
Neon 378(2)
VISUALIZE fx 380(3)
InfiniteReality 383(3)
Other Architectures 386(3)
The Future 389(6)
Everything Else 389(2)
You 391(4)
A Some Linear Algebra 395(24)
A.1 The Euclidean Space 396(2)
A.2 Geometrical Interpretation 398(5)
A.3 Matrices 403(8)
A.3.1 Definitions and Operations 403(7)
A.3.2 Change of Base 410(1)
A.4 Homogeneous Notation 411(1)
A.5 Geometry 412(7)
A.5.1 Lines 412(2)
A.5.2 Planes 414(1)
A.5.3 Convex Hull 415(1)
A.5.4 Miscellaneous 416(3)
B Trigonometry 419(8)
B.1 Definitions 419(2)
B.2 Trigonometric Laws and Formulae 421(6)
References 427(36)
Index 463
Preface xiii
Introduction 1(6)
Contents Overview 2(1)
Notation and Definitions 3(4)
Mathematical Notation 3(2)
Geometrical Definitions 5(2)
The Graphics Rendering Pipeline 7(16)
Architecture 8(2)
The Application Stage 10(1)
The Geometry Stage 11(6)
Model and View Transform 12(1)
Lighting and Shading 13(1)
Projection 14(2)
Clipping 16(1)
Screen Mapping 16(1)
The Rasterizer Stage 17(3)
Through the Pipeline 20(3)
Transforms 23(42)
Basic Transforms 25(11)
Translation Matrix 25(1)
Rotation Matrices 26(1)
Scaling Matrix 27(2)
Shearing Matrices 29(2)
Concatenation of Transforms 31(2)
The Rigid-Body Transform 33(1)
Normal Transform 34(1)
Computation of Inverses 35(1)
Special Matrix Transforms and Operations 36(6)
The Euler Transform 36(2)
Extracting Parameters from the Euler Transform 38(2)
Matrix Decomposition 40(1)
Rotation About an Arbitrary Axis 41(1)
Quaternions 42(10)
Mathematical Background 43(2)
Quaternion Transforms 45(7)
Interpolation 52(5)
Projections 57(8)
Orthographic Projection 57(3)
Perspective Projection 60(5)
Visual Appearance 65(34)
Light Sources 65(2)
Material 67(1)
Lighting and Shading 68(13)
Diffuse Component 71(2)
Specular Component 73(4)
Ambient Component 77(1)
Lighting Equation 78(3)
Aliasing and Antialiasing 81(4)
Transparency, Alpha, and Compositing 85(4)
Fog 89(4)
Gamma Correction 93(6)
Texturing 99(46)
Generalized Texturing 100(6)
Image Texturing 106(11)
Magnification 107(1)
Minification 108(9)
Texture Caching and Compression 117(2)
Multipass Rendering 119(2)
Multitexturing 121(1)
Texture Animation 122(1)
Texturing Methods 123(22)
Alpha Mapping 123(1)
Light Mapping 124(1)
Gloss Mapping 125(2)
Environment Mapping 127(9)
Bump Mapping 136(7)
Other Texturing Techniques 143(2)
Special Effects 145(46)
The Rendering Spectrum 146(1)
Image-Based Rendering 147(11)
Lens Flare and Bloom 150(2)
Billboarding 152(3)
Full-Screen Billboarding 155(1)
Particle Systems 156(1)
Fixed-View Effects 157(1)
Motion Blur 158(1)
Depth of Field 159(1)
Reflections 160(7)
Planar Reflections 161(4)
Glossy Effects 165(1)
Reflections from Curved Reflectors 166(1)
Shadows 167(16)
Planar Shadows 167(8)
Shadows on Curved Surfaces 175(8)
Lines 183(3)
Edge Highlighting 184(1)
Polygon Edge Rendering 184(1)
Hidden-Line Rendering 185(1)
Haloing 186(1)
Height-Field and Volume Rendering 186(5)
Speed-Up Techniques 191(50)
Culling Techniques 191(27)
Backface and Clustered Culling 192(2)
Hierarchical View-Frustum Culling 194(6)
Portal Culling 200(3)
Detail Culling 203(1)
Occlusion Culling 204(14)
Impostors 218(6)
Nailboards 221(1)
Hierarchical Image Caching 222(2)
Related Work 224(1)
Levels of Detail 224(7)
Discrete Geometry LODs 225(1)
Alpha LODs 226(1)
Geomorph LODs 227(1)
LOD Management 228(3)
Triangle Strips, Fans, and Meshes 231(10)
Strips 232(3)
Fans 235(1)
Creating Strips 236(4)
Polygon Meshes 240(1)
Pipeline Optimization 241(26)
Locating the Bottleneck 242(2)
Testing the Application Stage 243(1)
Testing the Geometry Stage 243(1)
Testing the Rasterizer Stage 244(1)
Optimization 244(10)
Application Stage 244(4)
Geometry Stage 248(2)
Rasterizer Stage 250(2)
Overall Optimization 252(2)
Balancing the Graphics Pipeline 254(4)
Host and Accelerator 258(2)
Multiprocessing 260(7)
Multiprocessor Pipelining 260(4)
Parallel Processing 264(3)
Polygonal Techniques 267(22)
Sources of Three-Dimensional Data 268(1)
Tessellation 269(6)
Shading Problems 271(3)
Edge Cracking and T-Vertices 274(1)
Consolidation 275(6)
Simplification 281(8)
Intersection Test Methods 289(52)
Definitions 291(4)
Rules of Thumb 295(1)
Ray/Sphere Intersection 295(4)
Mathematical Solution 296(1)
Optimized Solution 297(2)
Ray/Box Intersection 299(4)
Slabs Method 299(3)
Woo's Method 302(1)
Ray/Triangle Intersection 303(3)
Intersection Algorithm 303(2)
Implementation 305(1)
Ray/Polygon Intersection 306(4)
The Crossings Test 307(3)
Plane/Box Intersection Detection 310(3)
AABB 311(1)
OBB 312(1)
Triangle/Triangle Intersection 313(6)
Interval Overlap Method 314(3)
ERIT's Method 317(1)
Performance Comparison 318(1)
Cube/Polygon Intersection 319(3)
General Algorithm 319(3)
BV/BV Intersection Tests 322(8)
Sphere/Box Intersection 323(1)
AABB/AABB Intersection 324(1)
k-DOP/k-DOP Intersection 324(1)
OBB/OBB Intersection 325(5)
View Frustrum Intersection 330(6)
Frustum/Sphere Intersection 332(3)
Frustum/Box Intersection 335(1)
Line/Line Intersection Tests 336(3)
Two Dimensions 336(2)
Three Dimensions 338(1)
Intersection Between Three Planes 339(2)
Collision Detection 341(22)
Collision Detection with Rays 343(1)
General Hierarchical Collision Detection 344(5)
Hierarchy Building 345(2)
Collision Testing between Hierarchies 347(1)
Cost Function 348(1)
OBBTree 349(5)
k-DOPTree 354(3)
A Multiple Objects CD System 357(6)
The First-Level CD 358(2)
Summary 360(3)
Graphics Hardware 363(26)
Buffers and Buffering 363(12)
A Simple Display System 363(2)
The Color Buffer 365(3)
Z-buffering and W-buffering 368(2)
Single, Double, and Triple Buffering 370(2)
Stereo Buffers 372(1)
Stencil and Accumulation Buffering 373(1)
Memory 374(1)
Architecture 375(14)
General 375(3)
Neon 378(2)
VISUALIZE fx 380(3)
InfiniteReality 383(3)
Other Architectures 386(3)
The Future 389(6)
Everything Else 389(2)
You 391(4)
A Some Linear Algebra 395(24)
A.1 The Euclidean Space 396(2)
A.2 Geometrical Interpretation 398(5)
A.3 Matrices 403(8)
A.3.1 Definitions and Operations 403(7)
A.3.2 Change of Base 410(1)
A.4 Homogeneous Notation 411(1)
A.5 Geometry 412(7)
A.5.1 Lines 412(2)
A.5.2 Planes 414(1)
A.5.3 Convex Hull 415(1)
A.5.4 Miscellaneous 416(3)
B Trigonometry 419(8)
B.1 Definitions 419(2)
B.2 Trigonometric Laws and Formulae 421(6)
References 427(36)
Index 463
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×