3D Math and Rendering Assignment 2

This assignment was an extension of the previous assignment and involved writing a software fragment rasteriser to manually shade a polygonal patch using different lighting models and material properties. This involved manually implementing the triangle setup, scanline traversal, interpolation of vertex data and lighting configuration, invoking a cpu fragment shader to determine the colour of each pixel drawn to the screen using the OpenGL glVertex2i method. Flat, Gourad and Phong lighting models were implemented as cpu fragment shader functions.


Controls are displayed on screen when running the application.