https://github.com/imd10/cs341-rainy-day
A computer graphics project simulating interactive rain, dynamic water waves, and a scenic environment with a floating boat, mountains, trees, and clouds. Built with OpenGL for real-time rendering and user interaction.
https://github.com/imd10/cs341-rainy-day
computer-graphics cpp graphics interactive opengl
Last synced: about 1 month ago
JSON representation
A computer graphics project simulating interactive rain, dynamic water waves, and a scenic environment with a floating boat, mountains, trees, and clouds. Built with OpenGL for real-time rendering and user interaction.
- Host: GitHub
- URL: https://github.com/imd10/cs341-rainy-day
- Owner: iMD10
- Created: 2024-11-17T11:04:33.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-11-20T19:05:48.000Z (7 months ago)
- Last Synced: 2025-03-30T03:41:15.159Z (2 months ago)
- Topics: computer-graphics, cpp, graphics, interactive, opengl
- Language: C++
- Homepage:
- Size: 31.3 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Interactive Rain Simulation with Waves 🌧️
An engaging computer graphics project that simulates interactive rain, dynamic water waves, and a visually enriched environment. Built using **OpenGL**, this project showcases concepts of real-time graphics rendering, animations, and user interaction.
## Features
- **Dynamic Rain**: Raindrops fall interactively when dragging the mouse.
- **Floating Boat**: A boat oscillates naturally with the water waves.
- **Wave Animation**: Smooth, continuous wave motion that reacts to water height.
- **Interactive Environment**:
- A house, trees, clouds, and a mountain as background elements.
- A dynamically rising water level affected by rain.
- **Weather System**:
- Realistic water ripples and splashes as rain hits the surface.
- Clouds move across the sky to simulate natural motion.
## Technologies Used
- **C++**: Core programming language.
- **OpenGL**: Graphics library for rendering and animation.## How to Use
1. Clone the repository:
```bash
git clone https://github.com/iMD10/CS341-Rainy-Day.git
cd CS341-Rainy-Day
2. Compile the main program (RainyDay.cpp) using your C++ compiler with OpenGL support:
```bash
g++ -o rainy_day RainyDay.cpp -lGL -lGLU -lglut
```
3. Run the program:
```bash
./rainy_day
```
4. Interact with the simulation:
- Drag the mouse to generate rain dynamically.
- Observe the rising water level and wave animations.
- Watch the boat float and oscillate with the waves.## Learning Objectives
This project is part of a Computer Graphics Course to explore:- Real-time rendering using OpenGL.
- Animation techniques such as sine wave motion.
- User interaction to trigger dynamic simulations.
- Building immersive environments with natural elements like rain, water, and waves.
## Screenshot
