Skip to content

My solution to the projects/labs from the course Computer Graphics 1.

Notifications You must be signed in to change notification settings

Nomi/Computer-Graphics-1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Dobby PhotoJob

My program containing solutions to all the projects/labs from the course Computer Graphics 1.

Main topics covered:

Lab 1 : Functional and Convolutional Filters

Home part:

  • 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 part:

  • Median Filter

Scores:

  • Overall: 20/20
    • Home: 15/15
    • Lab: 5/5

Lab 2 : Dithering and Quantization

Home part:

  • Average Dithering
  • Octree Color Quantization

Lab part:

  • Average Dithering using YcBcR

Scores:

  • Overall: 20/20
    • Home: 15/15
    • Lab: 5/5

Lab 3 : 2D Graphics - Drawing

Home part:

  • 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

Lab part:

  • Anti-Alisaing: 2x Super Sampling (then drawing and then downsampling for Anti-Aliasing).

Scores:

  • 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

Home part:

  • Clipping Polygons: Sutherland-Hodgman
  • Filling Polygons: Vertex Sorting

Lab part:

  • Flood filling: Boundry Fill

Scores:

  • Overall: 20/20
    • Home: 15/15
    • Lab: 5/5

Lab 5 : 3D Graphics

(CPU Intensive and uses Affine transformations for the transformations).

Lab part:

  • Implement a rotating 3D cube made of only edges from a distance (POV on Z-axis).

Home part:

  • 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.

Scores:

  • Overall: 20/20
    • Home: 14.5/15 (some weird/random bug caused negative 0.5 points)
    • Lab: 5/5