Peter Shirley, R. Keith Morley1568811985, 9781568811987
Most importantly, the book adds many C++ code segments, and adds new details to provide the reader with a better intuitive understanding of ray tracing algorithms.
Table of contents :
Title page……Page 1
Date-line……Page 2
Contents……Page 3
1.1 Code Optimization……Page 15
1.3 Images……Page 16
1.4 Vectors……Page 17
1.5 Orthonormal Bases and Frames……Page 20
1.8.1 RGB Class……Page 22
1.8.2 Image Class……Page 25
1.8.3 Vector3 Class……Page 29
1.8.4 Orthonormal Basis Class……Page 35
1.8.5 Dynamic Array Class……Page 38
1.8.6 Random Number Generator……Page 40
1.9 Notes……Page 41
2.1 Parametric Lines……Page 43
2.2 General Ray-Object Intersections……Page 44
2.2.1 Implicit Surfaces……Page 45
2.2.2 Parametric Surfaces……Page 46
2.3 Ray-Sphere Intersection……Page 47
2.4 Ray-Triangle Intersection……Page 48
2.5 More Than One Object……Page 52
2.6.1 Ray Class……Page 53
2.6.2 Shape Classes……Page 54
2.7 Notes……Page 60
3.2 Multisampling……Page 61
3.2.1 Sampling Methods……Page 63
3.2.2 Filtering Methods……Page 65
3.3.1 Single Sample Orthogonal Viewing Ray Tracer……Page 70
3.3.2 Sample Class……Page 71
3.4 Notes……Page 75
4 Viewing……Page 77
4.1 Axis-aligned viewing……Page 78
4.2 Setting View Parameters……Page 79
4.3 Thin-lens cameras……Page 81
4.4 Motion Blur……Page 85
4.5 Multidimensional sampling……Page 86
4.6.1 Camera Class……Page 88
4.6.2 Dynamic Sphere Class……Page 89
4.7 Notes……Page 92
5.1 Stripe Textures……Page 93
5.2 Solid Noise……Page 95
5.3 Turbulence……Page 97
5.4.1 Solid Noise Class……Page 99
5.4.2 Texture Class……Page 103
5.4.3 Noise Texture Class……Page 104
5.4.5 Marble Texture Class……Page 105
5.5 Notes……Page 107
6 Image Texture Mapping……Page 109
6.1 C++ code……Page 112
6.1.1 2D Texture Class……Page 113
6.1.2 UVSphere Class……Page 114
6.2 Notes……Page 116
7 Triangle Meshes……Page 117
7.1.1 Vertex Classes……Page 119
7.1.3 Mesh Triangle……Page 120
7.2 Notes……Page 124
8 Instancing……Page 125
8.1 Transformation Matrices……Page 126
8.2 Intersecting Rays with Transformed Objects……Page 131
8.4.1 Matrix Library……Page 132
8.4.2 Shape Instance Class……Page 142
8.5 Notes……Page 143
9.1 Hierarchical Bounding Boxes……Page 145
9.2 Efficient Ray-Box Intersection……Page 148
9.3.1 New Ray Class……Page 152
9.3.2 Axis-Aligned Bounding Box Class……Page 153
9.3.3 Partitioning routine……Page 154
9.3.4 Bounding Volume Hierarchy……Page 155
9.4 Notes……Page 157
10.1 Integrals……Page 159
10.2.1 One-Dimensional Continuous Probability Density Functions……Page 160
10.2.3 Multi-Dimensional Random Variables……Page 161
10.3 Monte Carlo Integration……Page 163
10.4.1 Function Inversion……Page 165
10.5 Notes……Page 168
11.1 Photons……Page 169
11.2 Spectral Energy……Page 170
11.3 Power……Page 171
11.5 Radiance……Page 172
11.5.1 Deriving Other Radiometric Quantities from Radiance……Page 175
11.6 BRDF……Page 176
11.6.1 Directional Hemispherical Reflectance……Page 177
11.6.2 Ideal Diffuse BRDF……Page 178
11.7 Transport Equation……Page 179
11.8 Notes……Page 181
12.1 Luminaires……Page 183
12.2 Monte Carlo Solution to Light Transport……Page 184
12.2.1 Lambertian Environments……Page 185
12.2.2 Specular Reflection……Page 188
12.3 Smooth Dielectrics……Page 189
12.4 Specular-Diffuse Surfaces……Page 192
12.5 Image Display……Page 194
12.6.1 Material Class……Page 196
12.6.2 Diffuse Material Class……Page 197
12.6.3 Phong Metal Material Class……Page 199
12.6.4 Diffuse-Specular Material Class……Page 200
12.6.5 Dielectric Material Class……Page 202
12.7 Notes……Page 205
13 Explicit Direct Lighting……Page 207
13.1 Direct Lighting in a Path Tracer……Page 210
13.2 Sampling a Spherical Luminaire……Page 211
13.3 Direct Lighting from Many Luminaires……Page 213
13.3.1 Choosing the Weights……Page 215
13.4.1 Parallelogram Class……Page 216
13.4.2 Random Point Functions……Page 221
13.5 Notes……Page 222
14.1 Sending Photons……Page 223
14.2 Using the Photon Map……Page 224
14.4 Notes……Page 226
15.1 Transport in Participating Media……Page 229
15.2 Direct Lighting……Page 230
15.3 Indirect Lighting……Page 231
15.4 Data for Media……Page 232
15.5 Notes……Page 233
16 Going Further……Page 235
Reviews
There are no reviews yet.