Computer Graphics

These are my lab reports from Graphics and Advanced Graphics.
Lab 1     lab 1

Image manipulation and fractals

For our first assignment in my Graphics course, we learned how to read and write ppms in C, and we played with fractals.
Lab 2     lab 2

Graphics Primitives

For this assignment, we created the framework for our environment and implemented some simple primitives like lines, circles, and ellipses.
Lab 3     lab 3

Scanline Fill

For the third assignment, we implemented scanline fill for circles, ellipses and polygons. We also added gradient fills and bitmap fills.
Lab 4     lab 4

Matrix Transformations

For this lab, we implemented matrix transforms for our primitives--the first step towards a modeling system.
Lab 5     lab 5

Heirarchical Modeling

Here, we implemented heirarchical modeling in 2D and added the View Transformation Matrix.
Lab 6     lab 6

3D Viewing Pipeline

For the sixth assignment, we made the move to 3D, implementing 3D transformations and the 3D Viewing Pipeline.
Lab 7     lab 7

Depth Conversion using Z-buffer

Here, added a z-buffer to our heirarchical modeling system in order to allow overlapping of polygons.
Lab 8     lab 8

Illumination and Shading

For this homework, we implemented Lambertian reflection and Phong specular reflection.
Lab 9     lab 9

Scanline Rendering and Modeled Illumination

For this assignment, we rewrote our engine to use scanline rendering instead of z-buffer so that we could have transparencies. We also integrated the lighting model with our heirarchical modeling system.
Portfolio     portfolio

Portfolio

This is the collection of images I used for my poster at the poster session at the end of the course.
Sumi-e     sumi-e

Sumi-e

In my Advanced Graphics class, we did an assignment on non-photorealistic rendering. I chose to model sumi-e. I'd like to work on extending this project.
Raytracer     raytracer

Ray Tracer

Also for my Advanced Graphics course, I wrote a ray tracer with area light sources from scratch.