
2D Rasterizer






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





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






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






Render animations with a combination of a scene graph and time-varying parameters.
link to assignment requirements for animation