## CSE 3431 Introduction to 3D Computer Graphics

### Errata for Slides

Here is a list of major errors on the slides.
• AngelCG06, slide #14: The figure is not really equivalent to removing a solid tetrahedron from the center (which implies solids). It is more like cutting out the four center triangles from the four triangles making up the four faces. The critical difference is that the object itself is still an empty "shell" at this point in time.
• AngelCG11, slide #23: The OpenGL matrix shown is column-major, not row-major like the matrix shown on slide #19. This is predicated by the fact that OpenGL uses column-major matrices, but this is explained only later in a different slide set.
• AngelCG12, slide #6: u, v, w are representations of vectors.
• AngelCG12, slide #15: The second and third equation should be y'=s_y * y respectively z'=s_z * z.
• AngelCG13, slide #13: the type for the array m[] should be float, or even better GLfloat.
• AngelCG14, slide #3: several future slides reference a triangle {v1,v6,v7}, which unfortunately does not exist in the diagram. A better example would be the triangle {v5,v6,v8}.
• AngelCG14, slide #4: the three calls to glVertex should be glVertex3f(x1,y1,z1); glVertex3f(x6,y6,z6); glVertex3f(x7,y7,z7);
• AngelCG14, slide #5: the vertices in the diagram are numericaly ordered clockwise instead of the correct counterclockwise ordering, which is confusing at this point. One simple fix is to swap 1 and 3. But the order "0,3,2,1" is consistent with the later example on slide #12.
• AngelCG14, slide #7: The vertex array [v1,v7,v6] should be [v1,v6,v7], to maintain consistency with the rest of the material.
• AngelCG16, slide #9: The angle in the glRotatef() command should be -90 degrees. Otherwise the viewer will see the left side of the object, not the right side of the object as implied by the previous slide.
• AngelCG19, slide #4: The factor should be: 1/(a + bd + cd^2), i.e. the first term of the denominator should not include"d".
• AngelCG20, slide #17: For better understanding the 2nd point should be "By default, vertex shades are linearly interpolated across the polygon". Similarly on the following slides.
• AngelCG23, slide #5: The code has several errors. It should be:
for (x = x1; x <= x2; x++) {
y += m;
write_pixel(x, round(y), line_color);
}

• AngelCG23, slide #16: the second line of code has an extra space between the two equal signs of the C equality operator. That space should be removed.
• AngelCG25, slide #19: the order of the faces on the cube assumes that the viewer is outside of the cube. This is non-standard.