Errata for Principles of Digital Image Synthesis
by Andrew S. Glassner
Published by Morgan-Kaufmann, Inc.
The latest version of this document can always be found on my website, https://www.glassner.com.
Corrected PDF Now Available!
The copyright for Principles of Digital Image Synthesis was returned to me in late 2010, and I released the book through Google Books under a Creative Commons license.
But wait, it gets better! Soon after these files appeared, Iliyan Georgiev augmented them by incorporating all the errata up to January 2011 right into the PDF file! In addition to this valuable enhancement, the entire book is now in one PDF file that can be text-searched, and there are links from the Table of Contents to the body of the text. Thanks, Iliyan!
And now thanks to Eric Haines, this new PDF is available for download from his Real-Time Rendering blog here (right-click the link and choose “Save link as…”).
I strongly recommend using one of the above versions, because they have the errata included. If you want the raw scans from Google Books, you can find them here: Volume 1 (ignore that the title of the page says “Volume 2”) and Volume 2.
About the Errata
Below is a list of the all the typos in my book that I’ve confirmed. I’ve identified each error with the name of the first person who reported it to me. Note that I have generally tried to fix each typo in the least intrusive way; for practical reasons, I generally have tried to avoid rewriting. Several people have also sent in editorial suggestions; these are not reflected in this list of errata.
Math is notoriously hard in HTML. I wanted to keep everything pretty much pure-text here, so you can still use this errata without fancy math plug-ins for your browser. I’m representing most things here in a LaTeX-inspired form. The underscore _ begins a subscript, the exponent ^ a superscript. I’ll use parentheses when appropriate. Something beginning with a backslash (e.g. \lambda) is usually a Greek letter or a funny symbol. Complicated exponents or subscripts will usually be grouped with curly braces.
Please send new errata to andrew at the domain glassner.com.
Last updated 12 January 2011
Bug Catchers
Thank you to:
Harrison Ainsworth, David Banks, Gladimir Baranoski, Gary Bishop, Jim Blinn, Jonathan Blocksom, Mark Bolstad, Chung-Fa Chang, Russell Corfman, Michael Cox, Caroline Dahllof , Ioana Danciu, Stephen Diverdi, Dietmar Dreyer, Ugo Erra, Cass Everitt, Chris Faigle, Davide Gadia, Neil Gatenby, John C. Hart, Paul Heckbert, Anil Hirani, Steve Hollasch, Kim Dong Ho, Ju-Wei Huang, Thiago Ize, Werner Jainek, Fernando Jorge, Janne Koponen, Atin Atul Kothari, Alex Kulungowski, Andrew Kunz, Christian Laforte, Paul Lalonde, Bob Lewis, Dani Lischinski, Yang Liu, Ben Luna, Mike McCarthy, Cuneyt Ozdas, Gustavo A. Patow, Darrell Plank, Francesc Sala, David Salesin, Stephan Schaefer, Davide Selmo, Shubhabrata Sengupta, Peter Shirley, Torsten Techmann, Seth Teller, Nicolas Tenoutasse, Alade Tokuta, Jeremy D. Wendt, and Steve Worley.
Errata
-
Copyright page, both volumes / Andrew
Remove all text starting with “(c) 1995 by Morgan Kaufmann…” and ending with “…permission of the publisher.” and replace it with “All contents are copyright (c) 2010 by Andrew Glassner. This book is not in the public domain, but it has been made available by the author under the terms of the Creative Commons Attribution-NonCommercial 3.0 Unported License. Contact information for the author is available at www.glassner.com” -
xxvi / 4th paragraph / Andrew
Dan Russel should be Dan Russell -
xxvii / 5th paragraph / Andrew
“Eric Braun, Chuck Mosher, and Pamela St. John helped me…” -
Pg. 6 / 2nd paragraph / David Salesin
“as shown in Figure 1.3 – this is the center of the crystalline lens.” -
Pg. 23 / 1st paragraph / David Banks
“…comes from trying to interpret intriguing phenomena…” -
Pg. 49 / 1st paragraph / David Salesin
“Thus to match C(\lambda) using standard sources x_s(\lambda), y_s(\lambda), z_s(\lambda)” -
Pg. 49 / Eq. 1.1 / David Salesin
C(\lambda) = X x _s(\lambda) + Y y _s(\lambda) + Z z _s(\lambda) -
Pg. 49 / 3rd paragraph / Gary Bishop
Final sentence should read, “The triangle in Figure 3.32 shows the subset of colors…” -
Pg. 65 / Equation 2.9 / Ioana Danciu & John C. Hart, and Neil Gatenby
The denominators 500 and 200 need to be multiplied by L*, and the + sign in the second equation should be a minus.
X = Xn[(Y/Yn)^(1/3) + (a*/(500 L*))]^3
Z = Zn[(Y/Yn)^(1/3) – (b*/(200 L*))]^3 -
Pg. 65 / Equation 2.9 / Jeremy D. Wendt
The equations for converting XYZ to LAB use an approximation (Equation 2.5)
that isn’t used when coming back, which can introduce some distortion.
Here’s a snippet of pseudo-code by Jeremy to convert LAB to XYZ.
pow(a,b) computes a to the b power,
and cbrt(x) computes the cube root of x (cbrt(x)=pow(x,1/3)).
LABtoXYZ
if (L* == 0) { return (0, 0, 0); }
Y/Yn = L* / 903.3;
if (Y/Yn < .008856) {
Y = Y/Yn * white.Y;
X = white.X * ((a*)/(500 * (L*) * 7.787) + Y/Yn);
Z = white.Z * (Y/Yn – (b*)/(200 * (L*) * 7.787));
} else {
Y = white.Y * pow((((L*)+16.0)/116.0), 3);
Y/Yn = cbrt(Y/white.Y);
X = white.X * pow((Y/Yn+((a*)/500.0/(L*))), 3);
Z = white.Z * pow((Y/Yn-((b*)/200.0/(L*))), 3);
}
return XYZ -
Pg. 76 / line 6 / Shubhabrata Sengupta
In the phrase “For example, phosphors may be impregnated with
pigments that absorb light near…” replace
“absorb” with “reflect” -
Pg. 79 / Figure 3.7 / Russell Corfman
The label for the horizontal axis should replace
the word “units” with “multiples” -
Pg. 82 / Next-to-last paragraph / Russell Corfman
In the last sentence, replace phrase “white to black pixels”
with “white to total pixels” -
Pg. 82 / Equation 3.9 / Russell Corfman
Replace denominator with “total number of pixels” -
Pg. 83 / Figure 3.12 / Russell Corfman
The phosphor labeled “D_3” should be labeled “B_3” -
Pg. 85 / Last sentence / Russell Corfman
Replace “Table 3.5” with “Table 3.6” -
Pg. 92 / Second paragraph / Russell Corfman
Replace “Table 3.8” with “Table 3.9” -
Pg. 102 / 1st paragraph / Gary Bishop
“Referring to Figure 3.32, the triangle shows the subset…” -
Pg. 119 / 3rd paragraph / David Banks
“…we want to show; consider it as a grey-level image….” -
Pg. 133 / Figure 4.6 / Andrew Kunz
The + in the lower-left corner should be a multiplication sign. -
Pg. 139 / 3rd paragraph / Anil Hirani
Angle z = tan^{-1}[Im(z)/Re(z)] -
Pg. 141 / Table 4.1, Property E13 / Christian Laforte
The denominator should be simply “2” -
Pg. 142 / Equation 4.12, line 3 / Michael Cox (also Mark Bolstad, Darrell Plank, David Banks)
The second exponential doesn’t have the e on the baseline:
=e^(j\omegat) e^(j\omega2\pi/\omega) -
Pg. 143 / 2nd paragraph / David Banks and Wolfgang Stuerzlinger-Protoy
“…the German word eigen, meaning “typical” or “particular”.” -
Pg. 144 / 7th paragraph / David Banks
The utility of the braket notation is that it… -
Pg. 149 / Figure 4.13 / Christian Laforte
The caption should read
“The unit step function shifted right. The graph shows u(t-1).” -
Pg. 149 / Equation 4.25 / Christian Laforte
The minus sign before the integral should be deleted. -
Pg. 151 / Equation 4.31 / Anil Hirani
In the right-hand side, the argument to f should be (\tau/a) -
Pg. 156 / Eq. 4.45 / David Banks
The argument to f inside the integral should be \tau, not t:
L{f(t)} = \int f(\tau) h(t-\tau) d\tau -
Pg. 156 / Eq. 4.46 / David Banks
The argument to f inside the integral should be \tau, not t:
f(t) * h(t) = \int f(\tau) h(t-\tau) d\tau -
Pg. 158 / Eq. 4.48 / Yang Liu
The argument in the delta function is incorrect:
y(t) = f(t) * s(t) = \int f(tau) \sum_k \delta(t-kT-\tau) d\tau -
Pg. 161 / 3rd paragraph / Shubhabrata Sengupta
The text should read “representing the footprint
of the beam on the face of the tube” -
Pg. 164 / Eq. 4.54 / Yang Liu
The exponent is missing a minus sign:
H(\omega) = \int h(\tau) e^(-\omega \tau) d\tau -
Pg. 164 / Eq. 4.56 / Gladimir Baranoski
h*k on left-hand side should be h*x -
Pg. 167 / Eq. 4.63 / Yang Liu, Dietmar Dreyer
The “g” on the right side of the first equation should be an “h”,
and the arguments to f should be \eta and \zeta
g(x,y) = f*h = \int \int f(\eta, \zeta) h(x-\eta, y-\zeta) d\eta d\zeta -
Pg. 167 / Eq. 4.64 / Yang Liu, Dietmar Dreyer
The “g” on the right side of the first equation should be an “h”.
Each “x” should be an “m”, each “y” should be an “n”. The arguments to
f should be k1 and k2:
g[m,n] = f*h = \sum_k1 \sum_k2 f[k1, k2] h[m-k1, n-k2]
= h*f = \sum_k1 \sum_k2 h[k1, k2] f[m-k1, n-k2] -
Pg. 179 / 4th line from bottom / Gladimir Baranoski
“…then one more more of…” should be “…then one more of…” -
Pg. 170 / Exercise 4.1 / Christian Laforte
The last two parts should be labeled (f) and (g) -
Pg. 180 / Eq 5.9 / Nicolas Tenoutasse
The left-hand side should be ||\phi_i||^2 -
Pg. 182 / Section 5.2.4 / Darrell Plank (David Banks)
Something went wrong during the final copyediting of this
section, and the discussion on duals got confused.
This covers the material from the start of the
section to the paragraph after Equation 5.20. It will need
a minor rewrite to fix things up. The rest of the section,
which discusses Gram-Schmidt orthogonalization, is correct. -
Pg. 182 / Before Eq. 5.18 / Darrell Plank
“That is, for real functions a_i, and unit-length duals a_k:” -
Pg. 183 / Last line / Darrell Plank
“…by the following algorithm (with temporary non-unit vectors s_i):” -
Pg. 184 / Eq. 5.23 / Darrell Plank
second line should begin with s_i, not v_i.
New third line:
v_i = s_i /| s_i | -
Pg. 184 / Equation 5.23 / Cass Everitt
Denominator of last expression should be <v_k|v_k> -
Pg. 185 / Caption for Fig 5.5 / Darrell Plank
The caption has incorrect material.
“(a) n=0. (b) n=1. (c) n=2. (d) n=3.” -
Pg. 185 / Eq. 5.25 / Darell Plank (Michael Cox)
“n-m” in exponent should be “m-n” -
Pg. 186 / First line / Darrell Plank (Michael Cox)
“n-m” in exponent should be “m-n” -
Pg. 186 / Eq. 5-27 / Darrell Plank (Michael Cox)
All four instances of “n-m” should be “m-n” -
Pg. 186 / Last paragraph / Gladimir Baranoski
Reference to Figure 5.3 should be Figure 5.6. -
Pg. 186 / Equation 5.33 / Gladimir Baranoski
\phi_m should be \phi_n -
Pg. 195 / Caption for Fig. 5.7 / Darrell Plank
“(b) The function |x-2| has no finite discontinuity.” -
Pg. 198 / Equation 5.51 / Dietmar Dreyer
In the first line of this equation, X_c(t) should be x(t) -
Pg. 199 / 4th line from bottom / Gladimir Baranoski
the word periodic should be aperiodic,
reading “…our approximate aperiodic signal ~g(t)…” -
Pg. 201 / Equation 5.59/ Gladimir Baranoski
In the first two lines, dt should be d\omega. -
Pg. 202 / Equation 5.61, line 4 / Thiago Ize
Insert a k in the exponent after j, making e^{j k \omega_0 t} -
Pg. 204 / Last paragraph / Gary Bishop
Delete whole paragraph. Replace with “We can observe a few
similarities and differences between Figure 5.14 and 5.15. As the
period T of the periodic box function increases, the samples in the
discrete transform begin to pack together more densely. After
appropriate scaling, the discrete pulses in Figure 5.14 begin
to look ever-more like the continuous sinc function in Figure 5.15.” -
Pg. 214 / Eq. 5.91 / Harrison Ainsworth
The exponent is missing a minus sign:
H(\omega) = \int h(\tau) e^(-\omega \tau) d\tau -
Pg. 216 / Equation 5.93, lines 2 and 3 / Ben Luna
In lines 2 and 3, the exponent j \omega t should be -j \omega t
In line 3, f(t) should be f(\tau) -
Pg. 216 / Equation 5.94 / Ben Luna
In the first 3 lines, f(t) should be f(\tau)
In line 1, the exponent j \omega t should be -j \omega t
In line 1, move “dt” to the right, just before “d \tau” -
Pg. 217 / Equation 5.97 / Gladimir Baranoski
X(\omega) should be F(\omega). -
Pg. 218 / last line of text / Gladimir Baranoski
Reference to Equation 5.83 should be Equation 5.82. -
Pg. 232 / Table 5.3 / Ben Luna
In the next-to-last line in the Spectrum column, the denominator w\pi should be 2\pi -
Pg. 242 / Exercise 5.6 / Ben Luna
“Equation 5.23” should be Equation 5.17, and “Equation 5.17” should be Equation 5.23 -
Pg. 246 / 3rd line from bottom / Steve Hollasch
“short-time Fourier transform (or STFT).” -
Pg. 255 / Equation 6.16 / Ju-Wei Huang
The second line should read
y_0(4t) + y_0(4t-1) + y_0(4t-2) + y_0(4t-3) -
Pg. 254 / Equation 6.14 / Jim Blinn
The range of the first clause should not include t=1:
y_0(t) = 1 0<=t<1 -
Pg. 254 / Figure 6.5 / Jim Blinn
In the leftmost figure of (a), the top and right lines of the square should be dashed -
Pg. 263 / Second paragraph / Jim Blinn
“…the simple function shown in Figure 6.12(a).”
“…are shown in Figure 6.12 (b) and (c).”
-
Pg. 263 / After Equation 6.29 / Jim Blinn
“This is shown graphically in Figure 6.12 (b) and (c).” -
Pg. 263 / 4th paragraph / Jim Blinn
Switch the two w terms:
“…we will sometimes write w^{0,0}(t) as w^0(t).” -
Pg. 264 / Figure 6.12 / Seth Teller
Parts (c), (a), (b) should be (a), (b), (c) respectively. -
Pg. 266 / Figure 6.13 / Mark Bolstad
Fifth line. The right-side wave should be inverted; the numbers should be -2 and 2, and it should go down on the left and up on the right. -
Pg. 267 / Eq. 6.32, 3rd line / Mark Bolstad
The left-hand should read H(a,b,c,d) = … -
Pg. 267 / Eq. 6.32, 4th line / Alade Tokuta
The right hand side should read = (a, -a, b, -b) -
Pg. 268 / Eq. 6.38 / Ju-Wei Huang
The 2-by-2 matrix should be 1 row of 2 elements, each with value 1/2. -
Pg. 270 / Equation 6.41 / Jim Blinn
All references to c0 and c1 should be subscripted as c_0 and c_1 -
Pg. 271 / Equation 6.49 / Ju-Wei Huang
The equation should read
A: y[k] = (x[k] + x[k+1])/2, k is odd
(x[k] + x[k-1])/2, k is even -
Pg. 273 / Figure 6.16 / Alade Tokuta
The wavelet coefficients for [b^{1,0},b^{11}] shuld be [1, -2] -
Pg. 275 / Figure 6.17g / Russell Corfman
The first segment should have a value of 0, and the number should be 0 -
Pg. 276 / After Eq. 6.55 / Jim Blinn
24 should be 22 in text:
“…has an error of only 22.” -
Pg. 276 / Eq. 6.56 / Jim Blinn
Delete repeated 20:
E_2 = [(*, 34, 18, 20, 16, 22, 18, 22] -
Pg. 276 / Eq. 6.58 / Mark Bolstad
The pairs are in the right order, but the elements are reversed:
{(1,4),(5,-3),(7,3),(4,-2),(8,2),(2,-1),(3,1),(6,1)} -
Pg. 279 / Eq. 6.62 / Russell Corfman (Jim Blinn)
The – and + signs for c_1 and c_2 are swapped. -
Pg. 281 / 4th paragraph / Jim Blinn
“…from Equation 6.10 for v(1) and v(2).” -
Pg. 281 / Next-to-last paragraph / Jim Blinn
“The corresponding eigenvectors v_1 and v_2 are” -
Pg. 281 / Last paragraph / Jim Blinn
“…we have found that [v(1), v(2)]=…” -
Pg. 286 / 3rd line of text / Jim Blinn (and Kenneth Tsui)
Second phrase should begin with \Phi(\omega):
“…see that if \Phi(\omega)= P(\omega /2) \Phi(\omega /2), then \Phi(\omega)=P(\omega /2)[P(\omega /4) \Phi(\omega /4)], and so…” -
Pg. 310 / Equation 7.34 / Gladimir Baranoski
\xi_i should be \xi_{i,j}. -
Pg. 316 / Figure 7.3 / Paul Heckbert
The Voronoi diagram on the left isn’t exactly right. Each line should
be perpendicular bisector of the (undrawn) line that joins the relevant
pair of dots. The lines in the figure are slightly askew. -
Pg. 347 / Equation 8.17 / Gladimir Baranoski
In first line, the second g should be s:
g[m,n] = f(x,y)s[m,n] -
Pg. 355 / sixth line / Gladimir Baranoski
The phrase “equivalent to multiplying g(t) with a box” should
be “equivalent to convolving g(t) with a box” -
Pg. 355 / Equation 8.35 / Gladimir Baranoski
The second set of braces in the second line should be preceded by an F. -
Pg. 362 / Figure 8.27 / Gladimir Baranoski
In the leftmost box, the expression p/q should be p/a. -
Pg. 380 / Figure 9.6 / Gladimir Baranoski
Line 11 should read “return(\mu)” -
Pg. 381 / 4th paragraph / Andrew
“applied to graphics by Dippe and Wold [124], following the original application by Cook et. al [102].” -
Pg. 395 / Equation 9.32 / Cuneyt Ozdas
f[n] should be f[i] -
Pg. 403 / Line after Equation 9.51 / Gladimir Baranoski
and the support of the power spectral density is given by -
Pg. 423 / Table 10.1 / Cuneyt Ozdas
The entry under “Total Tiles” for generation 4 should be 256, not 266 -
Pg. 425 / 1st paragraph / Cuneyt Ozdas
Delete “in an L-shaped pattern – two squares in one direction
and one square orthogonal to it.” -
Pg. 426 / Figure 10.18 / Cuneyt Ozdas
In caption, replace “Regular sampling” with “Regular sampling with jitter” -
Pg. 431 / Figure 10.24 / Stephan Schaefer
Line 4: d_max should be initialized to 0, not 1
Line 10: both subscripts should be k, not j
Line 16: d_min should be d_max -
Pg. 435 / Figure 10.27 / Andrew
Don’t use regular grid on bottom level. Two cones from bottom level disappear. -
Pg. 437 / Fourth line / Gladimir Baranoski
Larger should be smaller: “Smaller values will cause the algorithm…” -
Pg. 442/ Figure 10.32 / Gladimir Baranoski
Line 4: 2D_{c,r} should be 2D_{c, r-1} -
Pg. 442 / Caption Fig. 10.33 / David Banks
delete first ‘n’ in word starting ‘bous…’:
“… algorithm with a boustrephedonic scanning.” -
Pg. 474 / Table 10.6 / Gladimir Baranoski
“Mean distance” in bottom-left box should be “Ray-tree comparison”. -
Pg. 476/ Equation 10.26 / Gladimir Baranoski
The two letters are reversed; it should be “P <= p" -
Pg. 476 / Last paragraph / Gladimir Baranoski
Second line should read: “…rather than 1-d.” -
Pg. 484 / Figure 10.68 / Gladimir Baranoski
Figure (c) should be white to the right of the curve.
Figure (e) should have a curve and shade in the upper-left. -
Pg. 510 / Last paragraph / Andrew
The first sentence of the last paragraph should read:
To illustrate, suppose that we have a diagonal edge that
intercepts the top and right of the pixel, at p_t and p_r, respectively. -
Pg. 544 / Fifth paragraph / Mike McCarthy
In first sentence, replace “indelightradiance” with “radiance” -
Pg. 544 / Sixth paragraph / Mike McCarthy
Two lines from the bottom of the paragraph,
replace “indelightradiance” with “radiance” -
Pg. 570 / Equation 11.35 / Davide Selmo
In the expressions for S and T, \eta_1 should be \eta_2 (U and V are fine). -
Pg. 575 / last line of the page / Andrew
The angle in the last line should be theta:
“… critical angle \theta_c may be found…” -
Pg. 576 / Equation 11.50 / Andrew
The arguments of both sines should be \theta:
\eta_i sin \theta_c = \eta_t sin(\pi/2)
and
sin \theta_c = \eta_t / eta_i -
Pg. 576 / Eq. 11.51 / Werner Jainek
The two \eta arguments should be \theta:
\eta_i(\lambda) sin \theta_i = \eta_t(\lambda) sin \theta_t -
Pg. 577 / Last line / Francesc Sala
Exchange sin and cos:
Now we can see from the construction that |T_\perp| = sin \theta_t and |T_\par| = cos \theta_t. -
Pg. 584 / 2nd pph, line 8 / Francesc Sala
Change a(1-\sigma) to 1-a\sigma :
…the probability that it will escape without collision is 1-a\sigma. -
Pg. 592 / Reflection, line 5 / Francesc Sala
Change a to x:
…back into the rod as right-moving flux at x=0… -
Pg. 594 / Eq. 12.20, line 2 / Andrew
Second term subscript should be e:
\Phi_s + \Phi_e + \Phi_i – \Phi_a – \Phi_o -
Pg. 595 / Eq. 12.26, line 1 / Francesc Sala
Second term subscript should be e:
\Phi_s + \Phi_e + \Phi_i – \Phi_a – \Phi_o -
Pg. 595 / Eq. 12.26, line 2 / Francesc Sala
First function in square bracket should be e:
= \Phi(x, R) + \Deltax[e(x, R) + \Phi(x + \Deltax, L) \sigma_s(x, L\rightarrow R)] -
Pg. 601 / Third paragraph/ Gladimir Baranoski
The second word of the next-to-last sentence should
not be “radius”, but instead “area”. The final expression in the
paragraph should not be \pi a^2, but instead \pi \alpha^2. -
Pg. 602 / Second paragraph/ Gladimir Baranoski
The parenthetical expression should be “b<<r” -
Pg. 602 / Equation 12.33 / Gladimir Baranoski
Replace all appearances of “d” with “a”. -
Pg. 602 / Line after Equation 12.33 / Gladimir Baranoski
Replace “where r = \sqrt(S/4\pi)” with “where a = \sqrt(S/4\pi)” -
Pg. 615 / Third line from bottom / Alex Kulungowski
Replace “perpendicular to the surface” with “parallel to the surface” -
Pg. 616 / Figure 12.25 / Alex Kulungowski
In parts (b) and (c), the labels for “n” and “c” should be swapped -
Pg. 616 / Paragraph after Equation 12.42 / Chris Faigle
Second sentence ending “that is, c\cdot n = 0” should read “that is, c\cdot n=1”. -
Pg. 625 / Figure 12.34 / Atin Atul Kothari
Put primes on incoming directions (left sides of a and b), take them off the outgoing directions (right sides of a and b) -
Pg. 631 / Eqs. 12.70, 12.71 and 12.72 / Alex Kulungowski
Each of the curly “R”s should be “R^3” -
Pg. 638 / Figure 12.38 / Atin Atul Kothari
The leftmost label on the bottom row should read r-2\omega -
Pg. 642 / Equation 12.99 / Alex Kulungowski
In the next to last line, in the right-hand side for $\mu(r,s)$,
the function name “\sigma_c” should have a hat over it -
Pg. 643 / Fourth line / Gladimir Baranoski
Replace “flux \Gamma” with “flux \Phi” -
Pg. 650 / First paragraph / David Banks
Replace “subtends an arc of length dtheta” with “subtends an arc dtheta”.
Replace “subtends an arc of length dpsi” with “subtends an arc dpsi”. -
Pg. 650 / Table 13.1 / Chris Faigle
In leftmost column of lines 3-6, replace each U with a Q -
Pg. 650 / Table 13.1 / Gladimir Baranoski
In 2nd and 3rd lines from the bottom, replace “d\Phi” with d^2\Phi”. -
Pg. 650 / Table 13.1 / Torsten Techmann
In lines 10, 13, and 16 the definitions should have a denominator
of “d_\lambda” rather than “dA^\Phi”. -
Pg. 651 / Second paragraph / Chris Faigle
Replace “(which is parallel to the N vector)” with “(which is perpendicular to the N vector)” -
Pg. 654 / Figure 13.2 / Chris Faigle
The angle from the bottom disk in the leftmost image should be labeled “\theta_R” -
Pg. 655 / Equation 13.16 / Chris Faigle
The final superscript “s” should be a subscript. -
Pg. 666 / Figure 13.8 / Ugo Erra
The projection “dw_iN” should be “dw_i^N”. -
Pg. 672 / Equation 13.58 / Ugo Erra
The term \Omega_i should be \Omega_o:
1 = \rho(\omega_i -> \Omega_o) = … -
Pg. 674 / Equation 13.63 / Gladimir Baranoski
The first term on the right-hand side should read
f_{r,\theta}(\cos^{-1}u_r \rightarrow \cos^{-1}u) -
Pg. 675 / Eq. 13.71 / Peter Shirley
Place parentheses around each instance of cos \theta:
---------N_{l,m} P_{l,m}(cos \theta) cos (mf) / if m>0
Y(q,f) = N_{l,0} P_{l,0}(cos \theta) /\sqrt{2} / if m=0
---------N_{l,m} P_{l,-m}(cos \theta) sin(-mf) / if m\lessthan 0
-
Pg. 677 / Figure 13.10 / Bob Lewis, Jonathan Blocksom, Francois Sillion
These plots are incomplete; they’re missing some lobes.
For a more complete picture of these functions in a
computer graphics book, see
Figure 7.13 (page 173) in “Radiosity & Global Illumination”
by Francois Sillion & Claude Puech (reference [409]) or Figure 10.34
(page 314) in “Radiosity and Realistic Image Synthesis” by
Michael Cohen and John Wallace (reference [99]). -
Pg. 684 / Last line/ David Banks
Replace “1s electrons?” with “electrons with the same quantum numbers?” -
Pg. 685 / End of 2nd paragraph / David Banks
Replace “is written 1s.” with “is written 1s (the superscript if
of omitted if its value is 1; a missing superscript is always taken
to be 1).” -
Pg. 693 / 1st paragraph / Andrew
“each term as a logarithm, in terms of f_1 and f_2, the number of electrons in each level:” -
Pg. 694 / 5th paragraph / Andrew
“…experiments, we find that L corresponds to…” -
Pg. 699 / Equation 14.20 / David Banks
In the second line, replace the + sign by a – minus sign. -
Pg. 722 / 3rd line from bottom / Atin Atul Kothari
eliminate bogus word singleindeRGBRGB:
…description to a single RGB color… -
Pg. 726 / Equation 15.3 / Caroline Dahllof
The first S_i should be -S_i, giving R_i = -S_i + 2(S_i . N)N -
Pg. 728 / 1st paragraph in section 15.2.1 / Mike McCarthy
In third line, insert word “be” after “model for a material that may”. -
Pg. 730 / 1st Paragraph / David Banks
“topology” should be “topography” -
Pg. 735 / Figure 15.8 / David Salesin
Expanded scale on right side of graph is not marked. -
Pg. 736 / Figure 15.9 / David Salesin
Expanded scale on right side of graph is not marked. -
Pg. 736 / 1st paragraph / Steve Worley
The first word on the page should be absorption, not reflection. -
Pg. 736 / 2nd paragraph / Steve Worley
F_r is the same as our earlier F, and F_t=(1.0-F_r). -
Pg. 737 / Equation 15.13 / Chung-Fa Chang
The + sign in the denominator within the braces should be a – sign. -
Pg. 749 / Paragraph after Equation 15.30 / Gladimir Baranoski
Replace “adjustment factor d_m” with “adjustment factor d_a” -
Pg. 749 / Equation 15.32 / Gladimir Baranoski
Should read “b=F(\theta)G(\theta)G(\delta)” -
Pg. 750 / Equation 15.35 / Gladimir Baranoski
Left-hand side should be s_c -
Pg. 751 / Equation 15.36 / Gladimir Baranoski
The 2 in the denominator of the last term should be a 4 -
Pg. 751 / 2nd paragraph after Equation 15.36 / Gladimir Baranoski
Replace “as long as a < 0.2" with "as long as \sigma < 0.2" -
Pg. 751 / Equation 15.37 / Gladimir Baranoski
The 2 in the denominator of the last term should be a 4 -
Pg. 752 / First paragraph / Gladimir Baranoski
Replace “and \alpha_x and \alpha_y represent” with “and \sigma_x and \sigma_y” -
Pg. 752 / Third paragraph in section 15.6.3 / Mike McCarthy
The reference to [187] should be to [186b]. (See errata for pg. B-15) -
Pg. 762 / Equation 15.43 / Andrew
Replace this equation with
P_{S}(r,g_1,g_2,a) = r\frac{1-{g_1}^2}{(1-g_1 a)^2} + (1-r)\frac{1-{g_2}^2}{(1-g_2 a)^2} -
Pg. 778 / Equation 15.87 / Stephen Diverdi
In the argument to coth, the \sigma_s should be \sigma_a -
Pg. 778 / Equation 15.88 / Stephen Diverdi
In line 1, the factor \sigma_a should be deleted from the denominator
In line 1, the function coth should be cosh
In line 2, \sigma_s should be \sigma_a -
Pg. 780 / Second Paragraph / Mike McCarthy
The sentence should end, “a surface texture can be
evaluated only at points on surfaces.” -
Pg. 792 / Second paragraph / Gladimir Baranoski
Replace “inderadianceUnit” with “Unit” -
Pg. 794 / Table 16.1 / Chris Faigle
The upper limit of the three integrals in the right-hand
column should be “t” rather than “s” -
Pg. 811/ Equation 16.58 / Gladimir Baranoski
In last line, m_2 should be m_p -
Pg. 812 / Equation 16.61 / Gladimir Baranoski
Replace ds in left-hand side with dt -
Pg. 826 / Second paragraph / Chris Faigle
Replace “at the p points u_i.” with “at the p points t_i.” -
Pg. 830 / Equations 16.97 – 16.102 / Chris Faigle
Replace each “a<=s<=b" under the max with "a<=t<=b" in these equations (there are six replacements) -
Pg. 831 / Equation 16.103 / Chris Faigle
The “ds” on the right-hand side should be “dt”
The entire right-hand side should be under a square-root sign
(or a pair of brackets with the whole expression raised to 1/2). -
Pg. 834/ Equation 16.113 / Gladimir Baranoski
Left-hand side should read <g|h_2> -
Pg. 836/ Paragraph after Equation 16.123 / Gladimir Baranoski
Should read “so x_n \rightarrow x as n \rightarrow \infty [343].” -
Pg. 840/ Second paragraph / Gladimir Baranoski
Parenthetical phrase should read “(proportionally to 1/\sqrt(n)
for n samples.” -
Pg. 847/ Last paragraph / Gladimir Baranoski
Some of the weights are mis-numbered. In the sentence starting
with “Suppose that we have…”, it should end with “w_4 = (N \rho)(\rho^2)
= N\rho^3.” The next sentence should end with “w_5 = N^2\rho^4.” The next
sentence should end with “w_6 = w_5.” -
Pg. 848/ Figure 16.17 / Gladimir Baranoski
The bottom label should change from “w_5 = N^2\rho^5” to “w_5 = N^2\rho^4.” -
Pg. 856/ Equation 16.162 / Gladimir Baranoski
The right-hand side term S_x should be S_k. -
Pg. 857/ Paragraph after Equation 16.164 / Gladimir Baranoski
Replace “by virtue of being in t, times the remaining”
with “by virtue of being in t, plus the remaining” -
Pg. 866/ Second paragraph / Gladimir Baranoski
Replace “K_0(t,q)” with “k_0(t,q)” -
Pg. 868 / 6th line from bottom / Atin Atul Kothari
fix dsicussion to discussion:
…is Golberg’s discussion in [162]. -
Pg. 869/ Exercise 16.2 / Gladimir Baranoski
This exercise is garbled; ignore it. -
Pg. 869/ Equation 16.203 / Gladimir Baranoski
Replace “cos(n cos^{-1}s)” with “cos(n cos^{-1}t)” -
Pg. 869/ Equation 16.204 / Gladimir Baranoski
Replace the s in lines 1 and 3 with t -
Pg. 880 / Eq. 17.16 / Atin Atul Kothari
First argument to L^e after equal sign should be r:
L(r, w^0) = L^e(r, w^0) + … -
Pg. 890 / Eq. 18.1 / Atin Atul Kothari
First argument to L^e after equal sign should be r:
L(r, w^0) = L^e(r, w^0) + … -
Pg. 890/ Paragraph before Equation 18.2 / Gladimir Baranoski
Replace “\nu(r,s)” with “\nu(r,\vec(\omega))” -
Pg. 891 / Eq. 18.4 / Atin Atul Kothari
First argument to L^e after equal sign should be r, in all three references:
L(r, w^0) = L^e(r, w^0) + … -
Pg. 892 / 5th line from top / Atin Atul Kothari
eliminate bogus word approximaindeione:
An approximate solution L can be… -
Pg. 895 (Color section) / Figure 19.52 / Gustavo A. Patow
The figures are shown in the wrong order. To match
the captions, rearrange the images in the order (b,c,f,d,e,a). -
Pg. 896 / Equation 18.29 / Janne Koponen
The F term in the second column of the second row should
have the subscript 2,2. -
Pg. 898 / Figure 18.3 caption / Kim Dong Ho
(c) Wall B radiating, A and C reflecting. -
Pg. 902 / 1st line, Eq. 18.40 / Kim Dong Ho
Lose K_{i,i} at start of first line -
Pg. 903 / Figure 18.5 / Chris Faigle
Lines 1 and 6 should read “for i <- 1 to n". -
Pg. 904 / Figure 18.6 / Chris Faigle
Lines 1 and 5 should read “for i <- 1 to n". -
Pg. 905/ Equation 18.43 / Gladimir Baranoski
Replace + sign in lines 3 and 4 with – sign. -
Pg. 906 / Figure 18.7 / Chris Faigle
Line 1: The 0 should be a 1
Line 9: The 0 should be a 1
Line 10: Replace K_j,i in the numerator of the rightmost
term with K_k,i -
Pg. 912 / Figure 18.11 / Andrew
The arrow rising to the top face should pass behind the
near edge of that face, not in front of it. -
Pg. 913 / Equation 18.55 / Chris Faigle
Delete the \Delta in front of the \rho in the numerator -
Pg. 914/ Equation 18.57 / Gladimir Baranoski
Replace right-hand term “B_k A_k” with “\Delta B_k A_k” - Pg. 917/ Paragraph after Equation 18.59 / Gladimir Baranoski
Replace “Now if A_i” with “Now if dA_i” -
Pg. 922 / Figure 18.18 / Atin Atul Kothari
Label q_1 should be q_i -
Pg. 943 / Figure 18.35 / Janne Koponen
In the lower half of part (d), the entry below and to the
right of the root node “A” should be “A_3” -
Pg. 946 / Figure 18.37 / Dani Lischinski
Label A just below A_1 in part (b) should be A_2. -
Pg. 948 / 5th paragraph / Dani Lischinski
Replace “number of input polygons” with “number of elements” - Pg. 948/ 6th paragraph / Gladimir Baranoski
Replace “C-level patches are descendents” with “C-level patches are parents” -
Pg. 953 / Next-to-last line / Dani Lischinski
Subscript on Y_q should be g -
Pg. 954 / Figure 18.44 / Dani Lischinski
“struct Link }” should be “struct Link {” -
Pg. 955 / Figure 18.46 / Dani Lischinski
“InitBg” should be “InitBs” -
Pg. 958 / Figure 18.51 / Dani Lischinski and Stephan Schaefer
7th line should read
“PushPullRad(r, 0)” -
Pg. 964 / Figure 18.56 / Dani Lischinski
“InitBg” should be “InitBs” -
Pg. 966 / next-to-last line / Dani Lischinski
First + should be =
“…form factor matrix (tilde-K) = K + DK. Then…” -
Pg. 967 / end of 1st paragraph / Dani Lischinski
Final term K(tilde-B) should be in bold. -
Pg. 967 / just before Eq. 18.88 / Dani Lischinski
Reference [413] should be [414] -
Pg. 969/ Equation 18.94 / Gladimir Baranoski
The term “i\in I” should appear below the sigma in both lines. -
Pg. 969/ Equation 18.95 / Gladimir Baranoski
The first term in the right-hand side of the first line
should change from \frac{1}{A_i} to \frac{1}{A_I}. -
Pg. 970 / Figure 18.62 / Dani Lischinski
“InitBg” should be “InitBs” -
Pg. 970 / Figure 18.62 / Dani Lischinski
Line 4, Gamma_s should be Y_s -
Pg. 970 / Figure 18.62 / Dani Lischinski
“RefineLink(L)” should be “RefineImpLink(L)” -
Pg. 970 / Last paragraph / Dani Lischinski
“SolveImpRad” should be “SolveImpHR” -
Pg. 971 / 2nd paragraph / Dani Lischinski
“SolveImpRad” should be “SolveImpHR” -
Pg. 972 / Figure 18.64 / Dani Lischinski
5th line, L.Y_g should be L.q.Y_s -
Pg. 972 / Figure 18.65 / Dani Lischinski
Insert a line before the first endfor:
RecursivelySetYto0(r) -
Pg. 973 / Figure 18.66 / Dani Lischinski
Fourth cluster of lines:
Each instance of L.p.Y should be L.p.Y_g
the term n.Y should be n.Y_s -
Pg. 973/ Equation 18.66 / Gladimir Baranoski
Remove endwhile in next-to-last line -
Pg. 977/ Equation 18.99 / Gladimir Baranoski
The term \Phi_i^r should be \Phi_i^k -
Pg. 990 / Equation 19.1 / Paul Lalonde
The argument s in L^e(s, w^0) should be an r. -
Pg. 990 / Equation 19.3 / Paul Lalonde
On both lines, the argument s in L^e(s, w^0) should be an r. -
Pg. 997 / Figure 19.8 / Andrew
There should be two lines on the rightmost (gray-shaded) partial ellipse, showing the edges of the intervening partial ellipses (like the figure on the hemisphere). On the bottom corner should be shade (as on the hemisphere). -
Pg. 1017 / Figure 19.27 / Andrew
Remove dot at top of line coming out of point F -
Pg. 1021 / 4th paragraph / Andrew
Add references:
“Distribution ray tracing [101] and path tracing [234] are the most…” -
Pg. 1024 / Eq. 19.28 / Seth Teller & class
The expression for d should be the discriminant, not its square root:
s1 = (-b+\sqrt d)/2a
s2 = (-b-\sqrt d)/2a
where
…
d = b^2- 4ac -
Pg. 1031 / Equation 19.29 / Gladimir Baranoski
Replace all three occurances of r with s. -
Pg. 1031 / Equation 19.30 / Gladimir Baranoski
Replace all four occurances of r with s. -
Pg. 1048 / Figure 19.50 / Gladimir Baranoski
Remove diffuse patch in the arc starting at the light source. -
Pg. 1048 / Figure 19.50 / Andrew
Adapted from Chen, Rushmeier, Miller, and Turnder, “A progressive multi-pass method for global illumination” (Proc. Siggraph 91) , Figure 1, pg. 166 -
Pg. 1049 / Figure 19.51 / Andrew
Adapted from Chen, Rushmeier, Miller, and Turnder, “A progressive multi-pass method for global illumination” (Proc. Siggraph 91) , Figure 1, pg. 166 -
Pg. 1087 / Equation A.3 / Chris Faigle
In the third line, move “a<=t<=b" under the "max" -
Pg. 1090 / First paragraph under Eq. A.14 / Janne Koponen
“finite” should be “countable” -
Pg. 1124 / Equation FF4 / Nail Gatenby
There are two terms that take the inverse-tangent (marked tan^{-1}) of fractions. Both
of these should have a square root in the denominator. Thus these terms
should be tan^{-1}(X/sqrt(1+Y^2))
and tan^{-1}(Y/sqrt(1+X^2)). -
Pg. 1180 / Table G.10 / Davide Gadia
The Y value for the Neutral 3.5 patch should be 9.00 -
B-15 / [186b] / Andrew
Missing citation: [186b] Pat Hanrahan and Jim Lawson, “A Language for Shading and Lighting Calculations”,
Computer Graphics (Proc. Siggraph ’90), 24(4), 289-298, August 1990. -
B-28 / [373] / Andrew
“Hanen” should be “Hanan” -
B-28 / [374] / Andrew
“Hanen” should be “Hanan” -
B-37 / Ref. 499 / Anil Hirani
Remove “and H. Webb” -
I-18 / G index / Chris Faigle
Under “Galerkin method” and subhead “classical radiosity and”,
the indexed pages should be 892-893
End of Errata
Leave a Reply
You must be logged in to post a comment.
Leave a Reply
You must be logged in to post a comment.