csci5607/assignment-1c/grading-criteria.md

2.8 KiB
Raw Permalink Blame History

CSci 5607, Spring 2023
Assignment 1c: Triangles and Texture
Due: Friday March 3rd

  • The program robustly accepts extended scene description files that include texture images, texture coordinates and surface normal vectors. The program is able to robustly handle triangle definitions that either include or do not include per-vertex normal directions and include or do not include per-vertex texture coordinates, in addition to vertex locations. The syntax used to define textured and/or smooth-shaded triangles follows the classic .obj format as described in class. (5 pts)

  • The program correctly computes ray/plane intersections, and correctly performs point-in-triangle testing using barycentric coordinates, enabling the correct rendering of scenes containing triangles as well as spheres. (20 pts)

  • The program is capable of rendering triangles using flat shading, in which every pixel in a triangle is assigned the same color, obtained by correctly evaluating the Phong illumination equation using the unit length normal of the plane in which the triangle lies. (10 pts)

  • The program is capable of rendering triangles using smooth shading, in which every pixel within a triangle is assigned a unique color, obtained by evaluating the Phong illumination equation using a unit length normal direction correctly interpolated from the three normal directions defined at the three triangle vertices. (15 pts)

  • The program is capable of rendering textured spheres. An appropriate texture coordinate is computed at each ray/sphere intersection point. This can be done at runtime using a pre-defined, hard-coded algorithm. The computed texture coordinate is used to retrieve a correctly corresponding color from the associated texture map, which replaces the objects diffuse color in the Phong illumination model when it is evaluated at that point. (25 pts)

  • The program is capable of rendering textured triangles. The texture coordinate at the ray/triangle intersection point is correctly interpolated from the texture coordinates defined at each of the three triangle vertices. The interpolated texture coordinate is used to retrieve a correctly corresponding color from the associated texture map, which replaces the objects diffuse color in the Phong illumination model when it is evaluated at that point. (25 pts)

  • Extra credit: The program is capable of reading a normal map from a file and correctly using the values in that map to appropriately vary the surface normal direction used when calculating the Phone illumination equation at each point across the surface. The normal mapping is capable of being applied to both triangles and spheres. (7 pts)