For the main project for CS 541: Intro to Computer Graphics I implemented a triangle rasterization program from scratch. The instructor provided the data and I wrote and debugged the program. The project was implemented in several stages:
- 1A: Built a simple C++ program for writing a test image to the PNM format
- 1B: Expanded part 1A to implement the scanline algorithm for a set of 100 “going up” triangles with individual colors.
- 1C: Extended code to work with arbitrary triangles, and tested by rasterizing a set of 2.5M triangles to form an image.
- 1D: Added Z-depth buffering, and vertex color interpolation.
- 1E: Added World space to device space transformations, and tested by rendering a dataset from several angles.
- 1F: Modified the project to implement the Phong lighting model with Gouraud shading.