Page | Reporter | Error |
---|---|---|

53 | Ricky Uy, Sebastian Lipponer | Second paragraph, third line, change "area is given by ||v_2|| * h" to "area is given by ||v_1|| * h" |

54 | Randall Hopper | Second paragraph, third line, change "and swapping the remaining two" to ", swapping the remaining two, and negating one." |

84 | zho | The displayed equation should be S(1,1,-1) \dpdu \cross S(1,1,-1) \dpdv = S(-1,-1,1) \dpdu \cross \dpdv = S(-1,-1,1) n = \ne S(1,1,-1) n |

98 | Mark Bolstad | In section 3.2.2, line 4, both \theta_{max} should be \phi_{max} |

175 | mmp | First code fragment: missing space between "class" and "InstancePrimitive" |

192 | Arek Zimny | In figure 4.7, the two instances of "NextCrossing" in the figure and the one in the third line of the caption should be "NextCrossingT". |

298 | mmp | Footnote, line 1, "low-discrepancy and best-candidate samplers" should be "best-candidate sampler" |

335 | mmp | Second fragment, delete "/" after "lensSamples" |

353 | mmp | In Figure 7.37, last line of the caption, change "bricks" to "arches". |

416 | Stephen Chenney | The definition of the hemispherical-directional reflectance should not have that 1/pi term. |

430-435 | Stephen Chenney | The \eta_t in Figure 9.7 and the \omega_t in the specular transmission BTDF should be \eta_o and \omega_o, respectively. Similarly, the SpecularTransmission BxDF implementation should be written to use etao, not etat, Figures 9.9 and 9.10 need to be updated to use \theta_o rather than \theta_t, and various text should be changed to use \theta_o rather than \theta_t. |

431 | David Wolff | In the denominator of the fourth displayed equation, |\cos \theta_i| should be |\cos \theta_t|. (Though N.B. the 430-435 changes above.) |

433 | Thiago Ize | In SpecularTransmission::Sample_f(), (ei*ei)/(et*et) should actually be (et*et)/(ei*ei). (Fortunately, in practice these terms all end up cancelling out, so images shouldn't be changed by this fix.) |

442 | Arek Zimny | Figure 9.15 is drawn incorrectly: \omega_o and \omega_i should make the same angle with respect to \omega_h, \theta_h. As drawn, \omega_o makes that angle with the normal, rather than \omega_h. |

448 | Stephen Chenney | The normalized microfacet distribution actually should be: "\frac{\sqrt{(e_x+2)(e_y+2)}{2\pi} (\wh \cdot \n)^ ..." |

449 | Stephen Chenney | The implementation of Anisotropic::D() should be sqrt((ex+2)*(ey+2)) * INV_TWOPI * powf(...) |

497 | mmp | Figure 11.6: Reflection of ray "r" on left should be drawn with dotted line, incident ray "r'" on right should be drawn with dashed line |

523 | mmp | The last line of code in the third code fragment should be "texel(i-1, 2*s+1, 2*t+1));" |

565 | mmp | Exercise 11.2: Version 1.2 of the OpenEXR file format supportes tiled image files and includes a utility to create tiled files from untiled EXR files. This makes this exercise somewhat easier. |

577 | Arek Zimny | There shouldn't be a \frac{1}{4\pi} term in equation 12.2, the phase function normalization constraint. |

581 | Vincent Pegoraro | In the three term equation on the top of this page, the second term after the first equal sign contains an extra "\frac{1}{4 \pi}" that should be removed. Also, a "\sin \theta" is missing in the third term before the "d \theta". |

637 | mmp | F(x) in the second line from the top should be f(x). |

640 | mmp | Footnote, x ≤ should be x < 0 |

658 | mmp | Figure 14.12: Coordinates next to filled dot in figure should be (u, 1-u) |

671 | Shaohua Fan | Change first displayed match to $\beta = E[F] - \int f(x) dx$. |

672 | Shaohua Fan | Third line, O(1/N^-1) should be O(N^-1) |

676 | "fsf" | The multiple importance sampling equation at the bottom of the page is incorrect. It should be (1/n_f) \sum_{i=1}^{n_f} ... + (1/n_g) \sum_{j=1}^{n_g} ... |

684 | Stephen Chenney | "exponent+1.f" in the "Compute PDF from \omega_i from Blinn distribution" fragment should be "exponent+2.f". Also, add a sentence like "Using the definition of the distribution over the hemisphere from Equation 9.9, we have:" before that fragment to make clear where the 2 pi comes from. |

686 | Stephen Chenney | Given the aforementioned Anisotropic changes on 448 and 449, the 2.f * M_PI term in the computation of anisotropic_pdf should be deleted. |

689 | Stephen Chenney | The definition of the hemispherical-directional reflectance should not have that 1/pi term. Also, the M_PI term in the definition of BxDF::rho() should be removed, and the \pi in the equation for the estimator at the very bottom of the page should be deleted. |

697 | Stephen Chenney | The last sentence on the bottom of the page should be "So p(\theta) = \sin \theta/(1 - \cos \thetamax) and p(\omega) = 1 / (2 \pi (1 - \cos \thetamax))." |

703 | Arek Zimny | In the last line of code in AreaLight::Sample_L(), "ps" should be the first argument to L(), not "p". |

706 | Stephen Chenney | Figure 15.11 would be better if the radius line "r" connected the middle of the sphere to the point where the tangent line intersects the sphere. |

713 | Kevin Egan, Trevor Thompson | Not only is the equation for sampling the Henyey-Greenstein phase function incorrect, but the code implementation is wrong as well. (For more details, see the bug report in the pbrt bug database.) |

748 | Wei-Wei Xu and Shaohua Fan | The numerator and denominator of the fraction of the first displayed equation should be flipped--i.e. it should be "p_A = p_\w \frac{|\cos \theta_i|}{|| \p[i] - \p[i+1] ||^2}". |

777 | Matthias Zwicker | The displayed equation toward the bottom of the page should have |\cos \w_o| in the numerator. |

850 | mmp | Second fragment, second line, delete "/" before "Block(u)" |

869 | mmp | First paragraph, 4th line, delete "octree" |

Page | Reporter | Error |
---|---|---|

72, 74 | Leonhard Gruenschloss | Missing cross reference in mini-indices to Matrix::Transpose() (page 852) |

colophon | mmp | Third paragraph: "that appears" should be "that appear" |

notation | mmp | Add to index of notation, t(\p, \omega) ray casting function (defined on p. 734). |

readme.htm | David Gould | In the Windows section, change cd c:\pbrt\examples to cd c:\pbrt\scenes and change imageview.exe pbrt.exr to imageview.exe simple.exr. Also, this line: exrtotiff pbrt.exr pbrt.tif doesn't work because "exrtotiff" isn't included in the standard install so isn't in the \bin\win32 directory. |

xxxi | Cliff Wooley | "have generously in suppliyed" should read "have generously supplied". |

11 | Francis Huynh | In 5th line of pseudo-code at bottom of page, swap "light_vector" and "eye_vector" to be consistent with usage of \omega_o and \omega_i. |

18 | Larry Lai | In second paragraph, line 4, "which is be the focus" should be "which is the focus" |

54 | Leonhard Gruenschloss | Second paragraph, change "zeroing one of the two components" to "zeroing one of the components". |

70 | Randall Hopper | Section 2.7.4, first equation set, second line, delete comma between z_1 and z_2. |

73 | Leonhard Gruenschloss | First equation, "p = a * cos(alpha) = a * (v * a)" should be "p = a * ||v|| * cos(alpha) = a * (v * a)" |

98 | mmp | In paragraph for section 3.2.2, change "will use" in line 2 to "uses", and change "won't" in line 4 to "doesn't". |

120 | Arek Zimny | A comma is missing in the expression for one of the hyperboloid's partial derivatives; specifically the right hand side of the one for \partial^2 p/\partial u \partial v, before the zero. |

142 | mmp | Second paragraph, second line, wrong font is used for ']' in 'f[0]'. |

204 | Arek Zimny | In second to last paragraph, "- 1" after "prims.size()" should also be in code font. |

210 | Brian Budge | At the bottom, "sort() depends on the fact that a < b and b < a is only true if a == b" should actually be "sort() depends on the fact that the only time a < b == false and b < a == false will be when a == b". |

217,218 | Nils Thuerey | It would be more clear to name the variable "tplane" "tsplit" in order to match usage in the text and figure 4.15. |

221 | mmp | 5th paragraph, insert "and" after (1987), before "Amanatides" |

242 | mmp | In equation 5.2, there shouldn't be 'prime' symbols after the theta or domega symbols. |

246 | sfan | "The conversion of spherical angles to a direction can be found by" -> "The conversion of a direction $(x,y,z)$ to spherical angles can be found by" |

250 | mmp | Equation 5.5, top of rightmost term, "d" should be roman font |

275 | mmp | Delete space after "::" in "Environment Camera Method Definitions" fragment at the top of the page. Then delete one space in each of the following two lines such that the "float"s continue to line up with "const" in the first line. |

286 | Benjamin Wüthrich | In the displayed equation at the bottom of the page, \Pi_T(x) should actually be \Pi_T(\omega). |

320 | Leonhard Gruenschloss | In "first hundred points of the 2D Hammersley sequence", change "Hammersley" to "Halton", and then in the next sentence, change "Halton" to "Hammersley". |

322 | Leonhard Gruenschloss | In second paragraph, sentence starting with "Plots of the first...", exchange "Hammersley-Zaremba" and "Halton-Zaremba". |

426 | mmp | Figure 9.5: thinner lines should be used to denote angles theta', theta''. (Also p.245, F5.11) |

427 | Nuttapong Chentanez | In the displayed equation at the bottom of the page, the final delta function should just be $\delta(\phi_i - \phi_r)$. |

431 | Thiago Ize | In the displayed equation after equation 9.5, the \omega_t on the left-hand side should be \omega_o. Then, on the right hand side, T(\omega_i, \n) should be T(\omega_o, \n). In the remainder of the sentence after the equation, the same change should be made to the T term and the \omega_i at the end should also be changed to \omega_o. |

438 | nirwan | In the third line of the "OrenNayar Public Methods" chunk, "OrenNayarR" should be "R". |

492 | Werner Jainek | In figure 11.4, point p' should be at the location given by the sum of the two vectors du*dpdu+dv*dpdv. (Currently it isn't!) |

499 | Arek Zimny | In 4th line of 2nd paragraph, change "dsty" to "dsdy" |

502 | erikdendekker | The assignment in the last line of the fragment at the middle of the page should be "*dtdy = ...", not "*dtdx = ..." |

539 | Arek Zimny | Below bottom displayed math change "average value of the step function in one dimension" to "average value of the step function in two dimensions". |

550 | Wojciech Jarosz | "dots are is randomly placed" should be "dots are randomly placed" |

587 | Arek Zimny | Should add "in closed form" to the end of "The DensityRegion cannot implement the VolumeRegion::Tau() method" and change the next sentence ("Therefore....implementations") to something like "However, it can be implemented with Monte Carlo, as is done in Section 15.7.2." |

609 | mmp | Third fragment, 4th line, insert 3 spaces before "screenY1" |

647 | mmp | Second equation from bottom, change \sin^{-1} to \arcsin (be consistent with usage elsewhere.) |

676, 678 | mmp | Pull in spacing on "f" subscripts (many) |

681 | Stephen Chenney | Delete the first sentence of the last paragraph. Then insert "Recall that Blinn's microfacet distribution function is" at the start of the second sentence and add the clause ", where \cos \theta_h..." from the deleted first sentence to the end of the second sentence. |

682 | Kevin Egan | The last line of the "Compute sampled half-angle vector..." code fragment should be "if (!SameHemisphere(wo, H)) H.z *= -1.f;" |

714 | Volodymyr Kachurovskyi | At the second line from the bottom, "N d" should be "N / d". |

725 | Keith Jeffery | In the "Allocate and request samples for sampling one light" fragment, the line "bsdfComponentOffset[0] = sample->Add2D(1);" should instead be "bsdfComponentOffset[0] = sample->Add1D(1):" |

772 | mmp | In the denomenator of the top equation on the page, the left paren ( is incorrectly set as a subscript of p. Furthermore, the first 'p' in the denomenator should be italicized. |

805 | mmp | Figure 17.2 L_0 should be letter 'o' not zero |

853 | mmp | Second fragment, delete "Matrix4x4::" |

857 | mmp | In the second sentence of the first full paragraph, change "The code to the random number generator" to "The code that implements the random number generator". |

921 | humper | C.3.4 - In the input files, use "PixelFilter", not "Filter" |

927 | Jim Price | The type of the kd-tree "emptybonus" parameter should be "float" and not "integer" |

935 | Jim Price | "volumegrid" is missing from the list of supplied volume plugins |

1005 | Craig Kolb | Under "ray tracing", "early, phototypical example" should be "early, prototypical example". |

1018 | mmp | In the third bullet list on the page, "export" should be in typewriter font (2x) |

Copyright© 2004-2022 Matt Pharr, Wenzel Jakob, and Greg Humphreys. All rights reserved.