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++.
- Host: GitHub
- URL: https://github.com/raihan4520/computer-graphics
- Owner: Raihan4520
- Created: 2024-09-27T17:27:42.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-15T22:37:47.000Z (9 months ago)
- Last Synced: 2025-04-05T11:14:29.178Z (6 months ago)
- Topics: 3d-rendering, computer-graphics, cpp, opengl, transformation
- Language: C++
- Homepage: https://www.aiub.edu/faculties/fst/ug-course-catalog
- Size: 8.07 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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 inputsThe 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.