Real-Time Rendering Corrigenda for 3rd edition, 2nd print

What follows are corrections for the book Real-Time Rendering (3rd edition, 2nd print), by Tomas Akenine-Möller, Eric Haines, and Naty Hoffman.

Addenda

  • None so far.

Significant errors

  • Page 293, in the text just below Equation 8.15, the formula for I_L should be "I_L = \pi r_L^2 L_L". (Ke Xu)
  • Page 468, Equation 10.6, the first occurence of sigma should not be squared, i.e., the denominator should be "\sigma \sqrt..." (Patrick Bader)
  • Page 632, line 5 says "toward $-\infty" but should say "toward $+\infty", and line 6 says "toward $+\infty" but should say "toward $-\infty". (Ke Xu)
  • Page 801, in the pseudo code, line 1 should say "if(isEmptyLeaf(N)) return FALSE;", and line 2 should say "if(isSolidCell(N))" (i.e., remove the "else"). (Stephen Sheeler)

Minor syntax errors

  • Page 48, says:
    ---
    float4 result = lerp(CoolColor, WarmColor, mixer);
    return result;
    ---
    Change to:
    ---
    float3 result = lerp(CoolColor, WarmColor, mixer);
    return float4(result, 1.0);
    ---
    (Michal Nowatkowski)
  • Page 143, in the footnote (13), it should say: "Prior to Snow Leopard, Apple Macintosh computers use an encoding gamma of about 0.55 [1028]."
  • Page 347, 6th sentence in the second paragraph says "...then checks these against the view direction." It should be "...then checks these against the light direction." (Ke Xu)
  • Page 624, figure 13.48. The leftmost red vertex should be named "f^1_{n-1}" and not "f^0_{n-1}". (Ke Xu)
  • Page 709, in the formula at the bottom, the "= 616 batches/frame" should be a separate term, not in the divisor.. (Sam Hocevar)
  • Page 757, last paragraph, second line says "If both...", but should be "If either..." (Ke Xu)
  • Page 758, Figure 16.16 -- swap a and b. (Ke Xu)
  • Page 759, in the middle of the last paragraph, it says "with i, j, k, and l for the edges p_1q_1, p_1r_1, p_2q2, and p_2r_2." This should really be (see Figure 16.17): "with i, j, k, and l for the edges p_1r_1, p_1q_1, p_2q2, and p_2r_2." And a little further down, "j is derived from p_1r_2" should really be "j is derived from p_1q_1" (Ke Xu)

Very minor errors