Skip to content

Programs, reports, documentation, and screenshots implemented and designed for the laboratory coursework on UCS1712: Graphics and Multimedia course.

Notifications You must be signed in to change notification settings

karthik-d/Graphics-and-Multimedia-LabWork

Repository files navigation

UCS1712: Graphics and Multimedia - Lab Work

Programs, documentation, and output snapshots of implemented and designed experiments for the laboratory coursework in UCS1712: Graphics and Multimedia Lab, SSN College of Engineering, Chennai, India.

Link to Compiled Documentation of Experiments

Exercises

  1. Study of Basic Output Primitives in C++ using OpenGL

    • Generate all primitive shapes
    • Draw a black-white checkboard of given dimensions
    • Draw a house using primitives
    • Outputs
    • Report

  2. DDA Line Drawing Algorithm in C++ using OpenGL

    • Generate a line for given start and end points using the DDA algorithm
    • Outputs
    • Report

  3. Bresenham’s Line Drawing Algorithm in C++ using OpenGL

    • Generate a line for given start and end points using Bresenham's algorithm
    • Outputs
    • Report

  4. Midpoint Circle Drawing Algorithm in C++ using OpenGL

    • Plot a circle, given its center and radius, using the midpoint algorithm
    • Draw a simple figure using lines and circles
    • Outputs
    • Report

  5. 2D Transformations in C++ using OpenGL

    • Perform 2D transformations, namely translation, rotation, scaling, shearing, and reflection.
    • Demonstrate all use-cases for the said transformations.
    • Use matrix operations and homogeneous coordinates to perform the transformations.
    • Outputs
    • Report

  6. 2D Composite Transformations and Windowing in C++ using OpenGL

    • Perform a combination of two transformations from translation, rotation, scaling, shearing, and reflection.
    • Demonstrate all use-cases for the said transformations.
    • Use matrix operations and homogeneous coordinates to perform the transformations.
    • Transform an object from World coordinate system to a user-defined Viewport coordinate system.
    • Outputs
    • Report

  7. Cohen Sutherland Line Clipping in C++ using OpenGL

    • Perform line clipping using the Cohen Sutherland algorithm, for given line endpoints and viewing window bounds.
    • Demonstrate all use-cases for line clipping.
    • Indicate the intersection coordinates for clipped lines.
    • Transform an object from World coordinate system to a user-defined Viewport coordinate system.
    • Outputs
    • Report

  8. 3D Transformations in C++ using OpenGL

    • Perform 2D transformations, namely translation, rotation, and scaling.
    • Demonstrate all use-cases for the said transformations.
    • Use matrix operations and homogeneous coordinates to perform the transformations.
    • Outputs
    • Report

Installation and Runtime

GNU Systems

  • apt packages required:

    • freeglut3-dev
    • mesa-common-dev
  • Compilation command:

    gcc -o <bin-name> <prog-name> -lGL -lGLU -lglut
    
  • Reference