Skip to content

This project simulates a raging sea using custom Shaders and Three.js ⁞|⁞ ⚪Three.js 🔵GLSL

Notifications You must be signed in to change notification settings

ShahramShakiba/Raging-Sea-Simulation-p18

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laptop   Raging Sea Simulation   threejs logo

Bubbles  Description

To begin with, it is important to note that, this project have been sourced from an exceptional Three.js Journey Course.

👤 Instructed by a proficient and expert educator "Bruno Simon" .


Raging Sea

Sea.mp4

Overview

This project simulates a raging sea using custom shaders and Three.js. The goal is to create a visually immersive and spooky scene by shaping a stormy sea, adding realistic fog, and simulating raindrops as particles.


Features

1. Custom Shaders:

  • Utilized to shape the turbulent sea and create dynamic wave effects.

2. Fog Effect:

  • Added to the scene to enhance the eerie and spooky atmosphere.

3. Rain Particles:

  • Simulated using Three.js to reflect raindrops, contributing to the realism of a stormy sea.

4. Audio:

  • Includes ambient storm sound for an enhanced immersive experience.

5. Performance Enhancements:

  • Optimized rendering and resource management to improve performance and reduce system load.

6. Pause and Resume:

  • Added functionality to pause the simulation and sound when the user changes tabs, and resume them when the user returns.

7. Destroy Method:

  • Implemented a method to clean up resources when the user leaves the page to prevent memory leaks and improve performance.

Technologies Used

1. Three.js:

For rendering 3D graphics and handling particle systems.

2. GLSL:

Custom shaders for creating the sea and wave effects.

3. HTML/CSS/JavaScript:

Standard web technologies for structuring and styling the project.


Live Demo

Check out the live demo here .


Contributing

Contributions are welcome! If you have any ideas, suggestions, or bug reports, please open an issue or submit a pull request. Here are the steps to contribute:

1. Fork the repository:

  • Click the "Fork" button on the top right of this page to create a copy of this repository in your GitHub account.

2. Clone your fork:

  git clone https://github.com/your-username/your-repo.git
  cd your-repo

3. Create a branch:

  git checkout -b my-feature-branch

4. Make your changes:

  • Implement your feature or fix the bug.

5. Commit your changes:

  git add .
  git commit -m "Add my new feature"

6. Push to your fork:

  git push origin my-feature-branch

7. Create a pull request:

  • Open a pull request on the original repository with a description of your changes.





Contact   Telephone Receiver

If you have any questions or need further assistance, feel free to reach out:

LinkedIn logo     Twitter logo     WhatsApp logo     Telegram logo     discord logo


Support   💎

If you find this project helpful or interesting, please consider supporting me on GitHub.


About

This project simulates a raging sea using custom Shaders and Three.js ⁞|⁞ ⚪Three.js 🔵GLSL

Topics

Resources

Stars

Watchers

Forks