In this assignment, you will be implementing a simplified 3D rendering pipeline. This will consist of several parts, introduced through a series of tests:
Skeleton code is available here.
Your assignment is to implement the functions in driver_state.cpp. Submit your driver_state.cpp file on iLearn.
If you need help getting started:
rasterize_triangle
.rasterize_triangle
to rasterize each triangle.Along with the sample code is a list of test cases and a grading script. Each test case contains a list of commands, which are the OpenGL functions that will be called and the arguments that they will be given. The grading is automated, so you will be able to determine what your score will be before you turn it in. The file grading-scheme.txt tells you how many points each test case is worth. This is the file that the grading script will use. Some deviation is to be expected, but you should be able to get very close. You should be able to get within 0.10 error on most, though not all, of the tests; the permitted error is very conservative.
The project will be graded out of 50 points. The maximum number of points possible is 60; 10 points of extra credit are possible. The tests are documented individually in the table below.
We are providing you with the grading script that we will be using to grade this project.
You can run it like this: "./grading-script.py .
".
This will automatically compile your code, run all of the tests in the table above, and compute your score based on the point values in the table.
This means you can run it yourself to see your progress.
This will allow you to quickly identify the next test to work on.
You can also run it before you submit your project so that you know what your score will be before you submit it.
This project has one checkpoint. Checkpoints are intended to encourage you to start your project early. At each checkpoint, you will submit your project just as you would when it is due. At the first checkpoint, your program will be graded out of 20 points. At the second checkpoint, your program will be graded out of 35 points. No extra credit is possible at checkpoints. When your project is due, it will be graded out of 50 points, and extra credit will be given for scores higher than that.
The table below documents the tests. Along with a thumbnail showing what the result should look like, I make some potentially helpful notes about the test case. Click the thumbnail for a full-size image.