errata for REALISTIC RAY TRACING 2nd ed, by P Shirley and RK Morley, published by AK Peters. Last updated 4/01/05 ------------------------------------------------------------------------ Chapter 1, page 1, middle of page. The vector u should be normalized (Rui Wang) 4/1/05 Chapter 1, page 23 code-- the "length" in initFromU and initFromW should be "squaredLength". It runs as is but is inefficient. (Pete Marshall) Chapter 4, page 74 the bottom of the page, it should read across = (u1 - u0) * uvw.u(); up = (v1 - v0) * uvw.v(); (Keith Jeffery) note-- the online code does not have this error. Chapter 5, page 81. The formula at the bottom of the page's first term should have exponent 5 and not 6. This mistake is not in the code. (Jan Achrenius) Chapter 5, page 88. The line of code should have a division by "weight" and not "d" ( David Taddei) Chapter 6, page 98. The caption to Figure 6.5 should read "Left to right: Values in...", not 'Right to Left.' (Darren Fitzpatrick) Chapter 8, page 117. In the sentence under the equation M = M1^-1 there is some missing text "The second matrix that needs to be constructed is M2...." (Krisztian Paczari) Chapter 8, page 117. Near bottom of page of page "glocal" -> "global" (Carl Marshall) Chapter 8, page 124, bottom should read ret.x[0][1] = t * x * y - sine * z; (Krisztian Paczari) Chapter 9, page 135. Second to last sentence the interval [txmin,txmax] is used twice (second one should be [tymin,tymax].) (Peter-Pike Sloan) Chapter 9, page 135, Figure 9.5. The txmin and txmax should be ty*** and vice versa (Dean Mathias) Chapter 9, page 136, -a/+0 = +infinity should have "-0" not "+0" (James Stanard) Chpater 9, page 137, "because a multiply and two divides is often faster than two devides" should be "because two multiplies and a divide is often faster than two divides" (Wen Su) Chapter 10, page 154, first line after eqn 10.9, the two "cos" in the sentence should be "sin". (Shaun Ramsey) Chapter 11, page 158, equation 11.2 "Phi" should be "H" (Shaun Ramsey) Chapter 11, page 158, first line of 11.5 "radiant exitance" should be "irradiance" (Shaun Ramsey) Chapter 11, page 165 middle integral at top of page, theta limits should go to pi/2, not pi (Shaun Ramsey) Chapter 12, page 169. In the formula e(k) = (n+1)*(Dot(n, k)^m)/2*pi, scalar n should be scalar m. (Jim Qualie) Chpater 12, page 175, p(k) = ... scalar n should be m (same equation as on page 169) (Krisztian Paczari) Chapter 12, page 177, equation 12.6. Rightmost theta should be theta prime Chapter 12, page 182. First paragraph, last sentence: "seed" should be "scramble". (Tom Johnson) Chapter 13, page 194, in the return statement p(x') || d ||^4 should be in parentheses (Mattias Lang) Chapter 13, page 198, Fig 13.7 topmost theta should be theta prime (Mattias Lang) Chapter 15, page 217, long equation has period inside rather than at end (Mattias Lang) Chapter 15, page 218, "the a's cancel" should be "the a(s) terms canel" (Mattias Lang) Chapter 15, page 218, last equation before Sec 15.4, the final term is missing a delta s (Mattias Lang)