Homework 1
In this assignment you will implement a simple rasterizer, including features like drawing triangles, supersampling, hierarchical transforms, and texture mapping with antialiasing. At the end, you’ll have a functional vector graphics renderer that can take in a simplified version of SVG (Scalable Vector Graphics) files, which are widely used on the internet.
Logistics
Starter Code
Please accept the GitHub Classroom invitation to gain access to the starter code.
Deliverables
Your submission for this project involves a checkpoint quiz, final code submission, and a final write-up. If you worked with a partner, remember to add your partner to all of your Gradescope submissions!
Deadlines
Task | Due |
---|---|
Checkpoint Quiz | Friday, February 7, 2025 |
Final Code Submission | Tuesday, February 18, 2025 |
Final Write-Up | Tuesday, February 18, 2025 |
All assignments are due at 11:59 PM. You have a total of 8 late days to use on assignments throughout the entire semester, but you do not have late days for checkpoint quizzes. Assignments which are turned in after 11:59PM will use one of your late days – there are no late minutes or late hours. Both your code and write-up need to be turned in for our submission to be complete.
Partners
You can optionally work with a partner on this project. If you work with a partner, both of you should join the same team on Github Classroom. You should also produce 1 write-up and 1 gradescope submission with your partner added to the team for both the code and the write-up submission. As a reminder, projects consists of many moving parts that work together so it’s important that you both work together on all parts.
Checkpoint Quiz
There is a Gradescope Checkpoint quiz for this homework, due Friday, February 7, 2025. This short quiz is intended to help you get started on Homework 1. The content necessary for answering all questions can be found on the Homework 1 spec or in lecture material. If you are working with a partner, both partners must submit the quiz!
This checkpoint can be used to gain “buffer points” on the assignment. As long as you get at least 4 out of the 7 content-questions (Q1-7) correct, AND submit a valid screenshot of your homework building (Q8), you’ll get the full 5 buffer points. No buffer points will be given if you did not meet these requirements; no late submissions will be allowed for the checkpoint quiz. These 5 buffer points will be added to your HW 1 grade, capped at increasing your score to 100. For example, if you earned 96 points on the base homework and 2 points of extra credit, the 5 buffer points will bring your score up to 100, and the extra credit will bring your total score to 102.
Homework Parties
We will have 4 homework parties:
Date | Time | Location |
---|---|---|
Wed 2/12 | 5PM - 7PM | Soda 326 |
Fri 2/14 | 3PM - 5PM | Cory 531 |
Tue 2/18 | 12PM - 2PM | Cory 299 |
Tue 2/18 | 5PM - 7PM | Cory 293 |
See the course calendar for more information.
Academic Honesty
Please do not post code to a public GitHub repository, even after the class is finished, since these assignments will be reused both here and at other universities in the future.
The homeworks are to be completed individually, unless you are working with a partner. You are welcome to discuss the various parts of the assignments with your classmates, but you must implement the algorithms yourself. You are free to share all code with your partner.