![](../images/hw1lineg.png)
2D Rasterizer
![](../images/hw1lineg.png)
![](../images/hw1trig.png)
![](../images/hw1fann.png)
![](../images/hw1stripn.png)
![](../images/hw1polyec.png)
![](../images/hw1rgba.png)
Using the Digital Differential Analyzer (DDA) Algorithm to create images with gradient line color or gradient fill color.
link to assignment requirements for 2D rasterizer3D Rasterizer
![](../images/hw2depth.png)
![](../images/hw2frustum.png)
![](../images/hw2rotatex.png)
![](../images/hw2scale.png)
![](../images/hw2trig.png)
Use the Model/View transformations to perform rotation, scaling, translations and matrices. Next, clip planes, apply the projection matrix, perform frstum clipping and a viewport transformation. Finally, rasterize traingles into fragments and use depth buffer to determine the relative positions of 3D objects.
link to assignment requirements for 3D rasterizerRaytracer
![](../images/hw3plane.png)
![](../images/hw3overlap.png)
![](../images/hw3inside.png)
![](../images/hw3neglight.png)
![](../images/hw3shadow-suns.png)
![](../images/hw3suns.png)
Use ray emission and ray collision to generate 3D objects. Then, use Lambert's law to illuminate objects and create shadows.
link to assignment requirements for raytracerAnimation
![](../images/iflt.gif)
![](../images/paranim.gif)
![](../images/verts.gif)
![](../images/camera.gif)
![](../images/anyscale.gif)
![](../images/euler.gif)
Render animations with a combination of a scene graph and time-varying parameters.
link to assignment requirements for animation