Work 13: The End

For the final project, you are to add any features you'd like to your current graphics engine. Below are some good places to start (you may work on other features if you prefer, just talk to me about it first).

Lighting

Implement lighting commands in MDL.

Relevant MDL commands: ambient, light, constants

Allow an MDL programmer to set the ambient light, create lighting constants and set potentially multiple point light sources.

Shading

Implement Gouraud and/or Phong shading.

Relevant MDL command: shading

Allow an MDL programmer to select from the shading methods you have implemented.

As discussed in class, a hash table structure can be very helpful for dealing with vertex normals. If you are woking in c, check out uthash.

Importing polygon mesh files

Relevant MDL command: mesh

Allow an MDL programmer to specify a polygon mesh defined in an external file.