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
- 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.
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
-
Install the visual studio
-
Clone the repository:
git clone https://github.com/abrarhasan3/Rail-station-Design-in-Open-GL3.3.git
-
Open the project.sln file
-
Fix the OpenGL path (For tutorial See the Tutorial Section)
-
Run the project
Demo.Video.of.Computer.Graphics.Project.mp4
Setup Environment : Click Here for Tutorial
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.
This project is licensed under the MIT License. Feel free to use, modify, and distribute the code for your purposes.