Assignment due Oct 31

Try to implement as much of the rendering pipeline as you can. To render, use your MISApplet as a base class, so you can set a color for every pixel.

By next Tuesday you should at least get through the scan conversion of triangles, using the zbuffering algorithm to paint triangles into the framebuffer in the proper back to front order.

Once you are confident that your triangles are actually being painted onto the correct pixels of the image, and that your back/front logic is working (ie: you are really showing the nearest objects, and hiding the ones behind them), then you should tackle surface normals.

All you really need to aim to do for surface normals for this week's assignment is to transform them properly, as per the class discussion and this week's on-line notes. Once you've done that then - for now - you can just do a fake lighting algorithm that assumes a "sun" type light source in the direction (+1,+1,+1). As I said in class, this just amounts to taking the sum nx+ny+nz and converting it into a shade of gray.

Of course you are also welcome to do something more ambitious with lighting and shading. For example, you might try to tint different objects different colors, or you can try varying the lighting source direction.

Extra credit:

For extra credit try to make something with a halloween theme. Witches, goblins, ghosts and jack o'lanterns, scary trees and creaky old haunted houses are all fair game. Sound effects might be fun too. :-)