Skip to content

4xrhd/CGM_LAB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎨 CGM_LAB - Computer Graphics and Multimedia Lab

Welcome to the Computer Graphics and Multimedia (CSE 358) lab repository. This project contains a series of lab exercises and assignments focused on modern OpenGL (3.3 Core Profile) and real-time graphics rendering.


� Repository Information

  • Course: CSE 358: Computer Graphics and Multimedia
  • Semester: Spring 2026
  • Student Name: Md. Azhar Uddin Abeer
  • Student ID: 0432320005101120
  • Section: 5B2

🛠️ Tech Stack & Prerequisites

This project is built using:

  • Language: C++17
  • Graphics API: Modern OpenGL 3.3 (Core Profile)
  • Window Management: GLFW
  • OpenGL Loader: GLAD
  • Compiler: GCC / G++ (Linux) or MinGW (Windows)

Linux Dependencies

To run these labs on Ubuntu/Debian, install the following:

sudo apt-get update
sudo apt-get install build-essential libglfw3-dev libgles2-mesa-dev libx11-dev libxcursor-dev libxinerama-dev libxrandr-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev libxext-dev

📂 Project Structure

CGM_LAB/
├── all-assignmets/        # Comprehensive list of course assignments
│   ├── assignment-01/     # Window creation & background colors
│   ├── assignment-02/     # Basic shapes (Triangles) & Shaders
│   └── assignment-03/     # Complex shapes (Star) & Input handling
├── lab0/                  # Initial setup and hello-world examples
├── lab3/                  # Detailed lab on Drawing a Cyan Star
└── readme.md              # Project overview (this file)

🚀 Lab & Assignment Index

  • Objective: Initialize GLFW, load GLAD, and create a basic OpenGL window.
  • Key Features: Sky blue background, Student name as window title.
  • Objective: Introduction to VAO, VBO, and GLSL Shaders.
  • Key Features: Renders two cyan obtuse triangles on an orange background.
  • Objective: Construct complex 2D geometry using only triangles.
  • Key Features: Renders a yellow window with a cyan star. Closes on 'A' key press.

🔨 How to Build and Run

Each assignment directory contains its own Makefile or build instructions. Generally, you can compile using:

g++ -Wall -std=c++17 -I./include main.cpp glad.c -o build/app -lglfw -lGL -lX11 -lpthread -lXrandr -lXi -ldl
./build/app

⚖️ Academic Integrity Statement

This work is original and created solely for educational purposes as part of the CSE 358 coursework. All code has been developed and tested by the student whose information is provided above.


Created with ❤️ by Azhar

About

Computer Graphics and Multimedia Lab

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages