/OpenGL-Project

This a 3D scene created using OpenGL and GLAD, featuring an interactive building and a bicycle. The scene includes various interactive features such as opening and closing doors and windows, moving the bicycle, and controlling the camera view.

Primary LanguageC++

OpenGL Project

This project demonstrates a 3D scene created using OpenGL and GLAD, featuring an interactive building and a bicycle. The scene includes various interactive features such as opening and closing doors and windows, moving the bicycle, and controlling the camera view.

Features

  1. 3D Building:
    • Two floors, a roof, one door, and four windows.
    • Suitable colors applied to different parts of the building.
    • Interactive door and windows controlled by keyboard input.
  2. 3D Bicycle:
    • Black colored bicycle with frame, wheels, and handlebars.
    • Interactive movement and wheel rotation controlled by keyboard input.
  3. Scene Customization:
    • Green background color.
    • Camera control to view the scene from different angles.
  4. Animation:
    • Bicycle moves in a circular path around the building.
    • Animation enabled/disabled using mouse buttons.

Controls

  1. Building Interactions
    • Press o to open the door.
    • Press c to close the door.
    • Press O to open the windows.
    • Press C to close the windows.
  2. Bicycle Interactions
    • Press f to move the bicycle forward.
    • Press b to move the bicycle backward.
    • Press r to rotate the right wheel.
    • Press l to rotate the left wheel.
  3. Animation Control
    • Left mouse button to enable bicycle animation.
    • Right mouse button to disable bicycle animation.
    • Camera Control
    • Arrow keys (UP, DOWN, LEFT, RIGHT) to move the camera.

Setup and Compilation

  1. Prerequisites:
    • C++ compiler (e.g., g++)
    • OpenGL
    • GLFW
    • GLAD
  2. Clone the repository:
  git clone https://github.com/AbdelrhmanReda17/OpenGL-Project/
  cd OpenGL-Project
  1. Build the project:
    • Ensure you have a Glad and Opengl configured for your project. Then, run it.