My program containing solutions to all the projects/labs from the course Computer Graphics 1.
Lab 1 : Functional and Convolutional Filters
-
Functional Filters:
- Inversion
- Brightness Correction
- Contrast Enhancement
- Gamma Correction
-
Convolution Filters:
- Blur
- Gaussian Smoothening
- Sharpen
- Mean Removal Sharpen
- Edge Detect (Left to Right)
- Emboss (East)
Lab 2 : Dithering and Quantization
- Average Dithering
- Octree Color Quantization
- Average Dithering using YcBcR
Lab 3 : 2D Graphics - Drawing
- Line drawing: Symmetric Midpoint Line algorithm
- Circle drawing: Midpoint Circle (v.2, additions only) algorithm
- Drawing Thickness: Pixel Copy algorithm
- Anti-Aliasing: Goupta-Sproull algorithm
- Anti-Alisaing: 2x Super Sampling (then drawing and then downsampling for Anti-Aliasing).
- Overall: 18/20
- Home: 13/15 (Lost points because of missing some non-algorithmic functionality i.e. only being able to move vertices one-by-one, not whole shapes.)
- Lab: 5/5
Lab 4 : 2D Graphics - Clipping and Filling
- Clipping Polygons: Sutherland-Hodgman
- Filling Polygons: Vertex Sorting
- Flood filling: Boundry Fill
(CPU Intensive and uses Affine transformations for the transformations).
- Implement a rotating 3D cube made of only edges from a distance (POV on Z-axis).
- Textured Sphere: Textured 3D Sphere which can be moved around (and also POV can be moved around). We create a Triangular Mesh on/for the sphere and then fill with the texture.
- Overall: 20/20
- Home: 14.5/15 (some weird/random bug caused negative 0.5 points)
- Lab: 5/5