An open API service indexing awesome lists of open source software.

https://github.com/raihan4520/computer-graphics

Contains the final project from the Computer Graphics course at AIUB. The project demonstrates 2D and 3D object rendering and transformations using OpenGL, GLUT and C++.
https://github.com/raihan4520/computer-graphics

3d-rendering computer-graphics cpp opengl transformation

Last synced: 3 months ago
JSON representation

Contains the final project from the Computer Graphics course at AIUB. The project demonstrates 2D and 3D object rendering and transformations using OpenGL, GLUT and C++.

Awesome Lists containing this project

README

          

# Computer Graphics Final Project

This repository contains the final project for the **Computer Graphics** course at **American International University - Bangladesh (AIUB)**. The project focuses on implementing key concepts of computer graphics using **OpenGL**.

### Course Information
For more details on the course, refer to the [AIUB Undergraduate Course Catalog](https://www.aiub.edu/faculties/fst/ug-course-catalog).
*Note: Search for "Computer Graphics" for specific course information.*

## Table of Contents
- [Overview](#overview)
- [Project Description](#project-description)
- [Technologies Used](#technologies-used)
- [How to Run](#how-to-run)
- [Contact](#contact)

## Overview

The final project demonstrates the practical application of computer graphics principles including:

- 2D and 3D transformations
- Projection and viewing
- Basic object rendering and manipulation
- Interactive control using keyboard and mouse inputs

The project was developed using **OpenGL** and C++, and aims to provide an interactive experience for manipulating 2D and 3D objects.

## Project Description

The project involves creating a 3D environment where users can:

- Move objects with keyboard inputs
- Use keyboard inputs to adjust the view (day/night)
- Turn rain (On/Off) with keyboard inputs
- A menu which shows all key events

### Features:
- **3D Object Rendering:** Basic 3D shapes (cubes, spheres, etc.) rendered using OpenGL.
- **Transformations:** Real-time 3D transformations (scaling, rotation, translation) applied to the objects.
- **Interactive Controls:** Users can control object transformations via keyboard input.
- **Projection:** Implements perspective projection to simulate depth and realism in the scene.

## Technologies Used

- **Programming Language:** C++
- **Graphics Library:** OpenGL
- **IDE:** Code::Blocks
- **Tools:** GLUT (OpenGL Utility Toolkit)

## How to Run

To run the project locally, follow these steps:

1. Clone the repository:
```bash
git clone https://github.com/Raihan4520/Computer-Graphics.git
2. Ensure that OpenGL and GLUT are installed and configured properly on your machine.
3. Open the project in your preferred IDE (e.g., Visual Studio, Code::Blocks).
4. Build and run the project.

### To Run in Code::Blocks
1. Open the project: Go to **File > Open** and select the `.cbp` project file.
2. Build the project: Click on **Build > Build** or press `Ctrl + F9`.
3. Run the project: Click on **Build > Run** or press `F10`.

## Contact

If you have any questions or suggestions, feel free to reach out through the repository's issues or contact me directly.