Homework 1

HW1 Icon: Rasterized lion.

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.