The Train Journey View project is a simulation created using OpenGL, designed to showcase a train journey in a graphical 3D environment. This project demonstrates the use of computer graphics techniques to render realistic scenes, objects, and animations, making it an ideal learning tool for OpenGL enthusiasts and developers.
- 3D Environment Simulation: Realistic rendering of a train journey with dynamic objects and landscapes.
- Interactive Controls: Users can interact with the simulation to adjust the view or navigate the scene.
- Lighting and Texturing: Includes realistic lighting and textures for enhanced visual appeal.
- Animation: Simulates train movement and other dynamic elements in the environment.
- Scenic Elements: Features surroundings like trees, tracks, and stations to enrich the experience.
- Programming Language: C++
- Graphics Library: OpenGL
To run this project, ensure you have:
- A C++ compiler (e.g., GCC, Clang, or Visual Studio).
- OpenGL libraries installed.
- A compatible system with support for OpenGL.
-
Clone the Repository
git clone https://github.com/shishir786/Train-journy-view-using-open_gl-.git cd Train-journy-view-using-open_gl-
-
Install Dependencies Ensure OpenGL libraries and development tools are installed on your system.
On Ubuntu/Debian:
sudo apt-get update sudo apt-get install build-essential freeglut3-dev libglew-dev
On Windows: Install OpenGL libraries via an IDE like Visual Studio or Code::Blocks.
On macOS:
brew install glew glfw
-
Compile the Project Use a C++ compiler to compile the source files. For example:
g++ -o train_journey main.cpp -lGL -lGLU -lglut
-
Run the Application
./train_journey
- Launch the Application: Start the executable to view the train journey simulation.
- Interactive Features: Use keyboard and mouse controls to navigate the scene or adjust the view.
- Exit: Close the application by exiting the simulation window.
- Expand Scenery: Add more elements like rivers, bridges, or tunnels.
- Enhanced Interaction: Implement camera controls or additional user inputs.
- Optimization: Improve rendering performance for larger environments.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature:
git checkout -b feature-name
- Commit your changes:
git commit -m "Add new feature"
- Push to the branch:
git push origin feature-name
- Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
For any queries or support, please reach out:
- Author: Abdullah Shishir
- GitHub: shishir786