Unverified Commit 1872f8fc authored by miatang13's avatar miatang13
Browse files

Update README.md

parent 70c38d61
...@@ -124,6 +124,9 @@ Other controls: ...@@ -124,6 +124,9 @@ Other controls:
Before we dive into the specifics of the assignment, we want to provide a high-level motivation behind why writing a SVG rasterizer is interesting and worth your time. You might have not realized but SVG images are everywhere when you browse the internet. Rasterization is the process of converting vector graphic to raster graphic, and we can do lots of fancy editing with raster graphic. Before we dive into the specifics of the assignment, we want to provide a high-level motivation behind why writing a SVG rasterizer is interesting and worth your time. You might have not realized but SVG images are everywhere when you browse the internet. Rasterization is the process of converting vector graphic to raster graphic, and we can do lots of fancy editing with raster graphic.
![Pipeline](misc/SVG-illustration-2.png)
To convert vector graphic to raster graphic, there are several steps we need to take in order to paint shapes listed in a SVG file over a grid of pixels. Now we can get into the concrete specifics of the assignment.
### What You Need to Do ### What You Need to Do
![Tasks](misc/tasks.png?raw=true) ![Tasks](misc/tasks.png?raw=true)
...@@ -234,6 +237,8 @@ When you are done, your solution should be able to correctly render `basic/test2 ...@@ -234,6 +237,8 @@ When you are done, your solution should be able to correctly render `basic/test2
#### Task 3: Drawing Triangles #### Task 3: Drawing Triangles
![Triangles](misc/SVG-illustration-3.png)
In this task, you will implement `rasterize_triangle()` in `software_renderer.cpp`. In this task, you will implement `rasterize_triangle()` in `software_renderer.cpp`.
Your implementation should: Your implementation should:
...@@ -251,6 +256,8 @@ Note that the vertices may be in counter-clockwise or clockwise order when passe ...@@ -251,6 +256,8 @@ Note that the vertices may be in counter-clockwise or clockwise order when passe
#### Task 4: Anti-Aliasing Using Supersampling #### Task 4: Anti-Aliasing Using Supersampling
![Supersampling](misc/SVG-illustration-4.png)
**This part of the assignment requires only knowledge of concepts from Lectures _Course Introduction_ and _Drawing a Triangle_.** **This part of the assignment requires only knowledge of concepts from Lectures _Course Introduction_ and _Drawing a Triangle_.**
In this task, you will extend your rasterizer to anti-alias triangle edges via supersampling. In response to the user changing the screen sampling rate (the = and - keys), the application will call `set_sample_rate()` . The parameter `sample_rate` defines the sampling rate in each dimension, so a value of 2 would correspond to a sample density of 4 samples per pixel. In this case, the samples lying within the top-left pixel of the screen would be located at locations (0.25, 0.25), (0.75, 0.25), (0.25, 0.75), and (0.75, 0.75). In this task, you will extend your rasterizer to anti-alias triangle edges via supersampling. In response to the user changing the screen sampling rate (the = and - keys), the application will call `set_sample_rate()` . The parameter `sample_rate` defines the sampling rate in each dimension, so a value of 2 would correspond to a sample density of 4 samples per pixel. In this case, the samples lying within the top-left pixel of the screen would be located at locations (0.25, 0.25), (0.75, 0.25), (0.25, 0.75), and (0.75, 0.75).
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment