MS Press - Inside C#O'Reilly - Programming C#[Apress] - Introduction to 3D Game Engine Design Using DirectX.9 and C#3D.Computer.Graphics.-.A.Mathematical.Introduction.with.OpenGL.July.2005I Introduction 1
I.1 Display Models 1
I.2 Coordinates, Points, Lines, and Polygons 4
I.3 Double Buffering for Animation 15
II Transformations and Viewing 17
II.1 Transformations in 2-Space 18
II.2 Transformations in 3-Space 34
II.3 Viewing Transformations and Perspective 46
II.4 Mapping to Pixels 58
III Lighting, Illumination, and Shading 67
III.1 The Phong Lighting Model 68
III.2 The Cook–Torrance Lighting Model 87
IVA veraging and Interpolation 99
IV.1 Linear Interpolation 99
IV.2 Bilinear and Trilinear Interpolation 107
IV.3 Convex Sets and Weighted Averages 117
IV.4 Interpolation and Homogeneous Coordinates 119
IV.5 Hyperbolic Interpolation 121
IV.6 Spherical Linear Interpolation 122
VT exture Mapping 126
V.1 Texture Mapping an Image 126
V.2 Bump Mapping 135
V.3 Environment Mapping 137
V.4 Texture Mapping in OpenGL 139
VI Color 146
VI.1 Color Perception 146
VI.2 Representation of Color Values 149
VII B´ezier Curves 155
VII.1 B´ezier Curves of Degree Three 156
VII.2 De Casteljau’s Method 159
VII.3 Recursive Subdivision 160
VII.4 Piecewise B´ezier Curves 163
VII.5 Hermite Polynomials 164
VII.6 B´ezier Curves of General Degree 165
VII.7 De Casteljau’s Method Revisited 168
VII.8 Recursive Subdivision Revisited 169
VII.9 Degree Elevation 171
VII.10 B´ezier Surface Patches 173
VII.11 B´ezier Curves and Surfaces in OpenGL 178
VII.12 Rational B´ezier Curves 180
VII.13 Conic Sections withRational B´ezier Curves 182
VII.14 Surface of Revolution Example 187
VII.15 Interpolating withB ´ezier Curves 189
VII.16 Interpolating withB ´ezier Surfaces 195
VIII B-Splines 200
VIII.1 Uniform B-Splines of Degree Three 201
VIII.2 Nonuniform B-Splines 204
VIII.3 Examples of Nonuniform B-Splines 206
VIII.4 Properties of Nonuniform B-Splines 211
VIII.5 The de Boor Algorithm 214
VIII.6 Blossoms 217
VIII.7 Derivatives and Smoothness of B-Spline Curves 221
VIII.8 Knot Insertion 223
VIII.9 B´ezier and B-Spline Curves 226
VIII.10 Degree Elevation 227
VIII.11 Rational B-Splines and NURBS 228
VIII.12 B-Splines and NURBS Surfaces in OpenGL 229
VIII.13 Interpolating withB-Splines 229
IX Ray Tracing 233
IX.1 Basic Ray Tracing 234
IX.2 Advanced Ray Tracing Techniques 244
IX.3 Special Effects without Ray Tracing 252
X Intersection Testing 257
X.1 Fast Intersections withRa ys 258
X.2 Pruning Intersection Tests 269
XI Radiosity 272
XI.1 The Radiosity Equations 274
XI.2 Calculation of Form Factors 277
XI.3 Solving the Radiosity Equations 282
XII Animation and Kinematics 289
XII.1 Overview 289
XII.2 Animation of Position 292
XII.3 Representations of Orientations 295
XII.4 Kinematics 307
A Mathematics Background 319
A.1 Preliminaries 319
A.2 Vectors and Vector Products 320
A.3 Matrices 325
A.4 Multivariable Calculus 329
B RayTrace Software Package 332
B.1 Introduction to the Ray Tracing Package 332
B.2 The High-Level Ray Tracing Routines 333
B.3 The RayTrace API 336