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

49 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

CSci 5607, Spring 2023
Assignment 1c: Triangles and Texture
Due: Friday March 3rd
- [x] 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)
- [x] 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)
- [x] 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)
- [x] 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)
- [x] 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)
- [x] 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)