Coder Social home page Coder Social logo

abrarhasan3 / rail-station-design-in-open-gl3.3 Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 225.1 MB

This project showcases a visually engaging scene of a railway station created using Modern OpenGL (3.3). Leveraging the power of shaders, vertex buffers, and textures, the implementation brings to life a dynamic and immersive representation of a bustling railway environment.

License: MIT License

C++ 71.97% GLSL 0.39% C 26.90% Objective-C 0.65% CMake 0.09%
computer-graphics curve glad glfw glm lighting opengl shader texture transformation vao vbo

rail-station-design-in-open-gl3.3's Introduction

Rail-station-Design-in-Open-GL3.3

This project showcases a visually engaging scene of a railway station created using Modern OpenGL (3.3). Leveraging the power of shaders, vertex buffers, and textures, the implementation brings to life a dynamic and immersive representation of a bustling railway environment.

This project includes implimentation on:

  • Vertex Shader and Fragment Shader
  • Lighting (Point Light, Directional Light, Spot Light)
  • Texture
  • Bézier curve

Table of Contents

Features

  • Modern OpenGL (3.3): Utilizes the latest OpenGL features for efficient rendering and realistic graphics.
  • Shader Programs: Implements vertex and fragment shaders to achieve lifelike lighting and shading effects.
  • Texture Mapping: Applies textures to various elements within the scene for enhanced visual realism.
  • Bézier curve: Impliments Bézier curve to create realistic curvy objects like pillers, wheel, face of train.
  • Dynamic Elements: Introduces dynamic elements such as moving trains, rotating fan and changing lighting conditions.
  • User Interaction: Allows users to navigate and explore the railway station scene interactively.
  • Cross-Platform: Designed to work seamlessly across different platforms.

Requirements

To run this project, ensure that you have the following dependencies installed:

  • OpenGL 3.3 or later
  • GLFW (OpenGL framework)
  • GLAD (OpenGL loader)
  • GLM (OpenGL Mathematics)
  • Visual Studio 2022

Usage

  1. Install the visual studio

  2. Clone the repository:

    git clone https://github.com/abrarhasan3/Rail-station-Design-in-Open-GL3.3.git
  3. Open the project.sln file

  4. Fix the OpenGL path (For tutorial See the Tutorial Section)

  5. Run the project

Controls

KEY Operation Visual Effect KEY Operation Visual Effect
Move Front Move Back
Move LEFT Move Right
Move Up Move Down
Roll Left Roll Right
Pitch Left Pitch Right
Yaw Left Yaw Right
Door Open Door Close
Move Train

Demo

Demo.Video.of.Computer.Graphics.Project.mp4

Tutorial

Setup Environment : Click Here for Tutorial

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests to improve the project.

Fork the project.

  • Create your feature branch: git checkout -b feature/YourFeature.
  • Commit your changes: git commit -m 'Add some feature'.
  • Push to the branch: git push origin feature/YourFeature.
  • Open a pull request.

License

This project is licensed under the MIT License. Feel free to use, modify, and distribute the code for your purposes.

Authors

rail-station-design-in-open-gl3.3's People

Contributors

abrarhasan3 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.