Reades in vertex positions from .obj file and colors each pixel based on which task is entered along with the image size.
Colors the bounding box for each triangle in the mesh, cycling through 7 different colors.
Colors each triangle in the mesh, cycling through those same 7 colors.
Colors each pixel using its barycentric coordinates weighted with each of the 3 vertices.
Colors each mesh with a linear gradient from red to blue.
Colors each pixel based on its z-value, mapped to red. Closer is brighter and farther away is darker.
Colors each pixel based on the vertex normals, mapped as: x->red y->blue z->green.
Adds lighting based on the dot product between the light vector and normal, mapped to (r,g,b) equally.