COURSE-MATERIALS ERRATA ################################################################################ Summary of Points Awarded to Date (for Course-Materials Bug-Bounty Program) Name Score Alexander Nenadov 1 NOTE: For more details on the Course-Materials Bug-Bounty Program (CMBBP), please refer to the CMBBP handout distributed at the beginning of the term, which is also available in electronic form from the course web site. ################################################################################ Below is a list of errors (mainly in the coursepack) that have been reported by students to date. Some of the bug reports may be from an earlier offering of ECE 486/586, if an earlier offering used the same version of some course materials as the current offering. ################################################################################ Date: 2014-06-12 Name: Michael Adams Description: In the textbook, p. 485, Listing D.1: The comment near the start of the listing that describes what the program does is incorrect. ################################################################################ Date: 2014-06-16 Name: Robert Leahy Description: SPL Library: The SPL::loadAudioFile function in the SPL takes its first parameter (a std::string) by const value, rather than by const reference. This parameter should use pass by reference for efficiency. ################################################################################ Date: 2014-06-25 Name: Michael Adams Description: In OpenGL appendix in the textbook: The comment at the beginning of several of the source code listings that describes what a program does is wrong. For example, the cube.cpp program says it is a "2-D" graphics program. This is clearly wrong, as the program uses 3-D graphics. ################################################################################ Date: 2014-07-11 Name: Dustin Steinbach Description: textbook version: 2013-09-26 p. 390, the equation for the limit position p has an error in one of the subscripts. The text should read: Then, the limit position $p'$ of $p$ is given by \begin{gather*} p' = (1 - n \alpha_n) p + \sum_{i=1}^{n} \alpha_n p_i, \end{gather*} Note: The "p_n" from the original version has been changed to "p_i" above. ################################################################################ Date: 2014-07-30 Name: Jeremy Kroeker Description: In the wireframe.cpp application from the SPL library: The issue is in lines 73-76: ------------------ Info() : eyePos(0, 0, 10), sceneCenter(0, 0, 0), eyeUpDir(0, 1, 0), mode(0), trans(0, 0, 0), scale(1.0), rot(Vector3(0, 0, 1), 0), rotateMethod(0), arcBallRadius(1.0), displayAxes(false), displayArcBall(true) {} ------------------ Should be reordered to: ------------------ Info() : eyePos(0, 0, 10), sceneCenter(0, 0, 0), eyeUpDir(0, 1, 0), scale(1.0), rot(Vector3(0, 0, 1), 0), trans(0, 0, 0), mode(0), rotateMethod(0), arcBallRadius(1.0),displayArcBall(true), displayAxes(false) {} ------------------ This change avoid a compiler warning about initialization order. ################################################################################ Date: 2014-08-18 Name: Jason Deglint Description: In Chapter 8, on page 358 in section 8.17.3 the sentence in the paragraph on the bottom of the page reads: "Instead, an (undirected) edge is represented as pair of directed edges..." However, I think you may intend to say: "Instead, an (undirected) edge is represented as a pair of directed edges..." ################################################################################ Date: 2015-05-23 Name: Jun Luo Description: in tutorial exercise2: The error is that in your "exercise_2.pdf" file, all the function name "incrementValue" in your codes are mistakely  writen as "increment" (like line 15, 16, 17 of function myTest() and line 5 of function myTest3() ). I think that probably is an old version file. ################################################################################ Date: 2015-06-03 Name: Justin McRae Description: In the handout for Exercise 5: Problem 1, part b) states to run the makeAudio program using makeAudio 0 output.wav However, the source code for makeAudio.cpp states if (argc < 5) { std::cerr << "usage: makeAudio signalId sampRate duration outputFile\n"; exit(2); } ################################################################################ Date: 2015-06-10 Name: Nick Houghton Description: This is just to remind you that the instructions for compiling openGL no longer needs the Xmu link ################################################################################ Date: 2015-06-10 Name: Brandon Hart Description: In class we went over using the SPL and your slide had the line std::string "name.wav" The program did not directly #include, and I pointed this out.  You mentioned that one of the SPL headers includes strings, but that it is good coding practice to directly #include. ################################################################################ Date: 2015-06-25 Name: Elliott Sulz Description: There is a problem in the using_libraries.txt file that concerns CGAL (in the section "Dependencies Between Libraries"). In particular, with the lab configuration this year, it is necessary to link with the gmp library when using CGAL. So, part of the above file should be amended to read as follows: Any code using the CGAL library must link against all of the following libraries (in order): CGAL gmp (may or may not be required; try only if you get undefined references) (With the lab configuration this year, the gmp library is needed in the list above.) ################################################################################ Date: 2015-07-01 Name: Michael Adams Description: The meshInfo demo program in the CGAL appendix of the textbook is missing a break statement at the end of the body of the if statement: // Check if the vertex is coplanar with the first three. if (!CGAL::coplanar(v0, v1, v2, v)) { ++numNonplanarFaces; std::cout << "nonplanar face detected: " << "(" << v0.x() << "," << v0.y() << "," << v0.z() << ") " << "(" << v1.x() << "," << v1.y() << "," << v1.z() << ") " << "(" << v2.x() << "," << v2.y() << "," << v2.z() << ") " << "(" << v.x() << "," << v.y() << "," << v.z() << ")\n"; break; // NOTE: THIS LINE WAS MISSING } ################################################################################ Date: 2015-08-07 Name: Brody Holden Description: textbook: On page 112, in the first paragraph on the page, line 3, the set of synthesis filters are referred to as {F_k} from k=0 to M-1. They should be referred to as {G_k} from k=0 to M-1 in order to be consistent with Figure 3.29. ################################################################################ Date: 2015-08-08 Name: Brody Holden Description: textbook: On page 344, first line states “The homogeneous-coordinate transformation matrix T(s) [...] corresponds to a scaling [..]”. The example below then refers to a scaling transformation as S(s). The T(s) should be changed to S(s). ################################################################################ Date: 2015-08-09 Name: Brody Holden Description: lecture slides (Version: 2015-02-03) Go to the slide labelled as 410 (which my pdf viewer says is slide 423). The slide is “Kobbelt sqrt(3) Subdivision: Geometric Refinement”. The second bullet point states “Let p be the old vertex [...] neighbours of q in the unrefined mesh.” The variable ‘q’ should be ‘p’. ################################################################################ Date: 2017-05-31 Name: Alexander Nenadov Description: The assignment_precheck command does not give a helpful error message if CR-LF line termination is incorrectly used (instead of LF only). ################################################################################ Date: Name: Description: ################################################################################