https://github.com/matsuoka-601/waterball
Fluid simulation on a sphere🌏
https://github.com/matsuoka-601/waterball
fluid gpu mls-mpm mpm simulation webgpu
Last synced: 10 months ago
JSON representation
Fluid simulation on a sphere🌏
- Host: GitHub
- URL: https://github.com/matsuoka-601/waterball
- Owner: matsuoka-601
- License: mit
- Created: 2025-02-02T06:01:35.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-21T16:18:23.000Z (over 1 year ago)
- Last Synced: 2025-05-24T08:02:10.794Z (about 1 year ago)
- Topics: fluid, gpu, mls-mpm, mpm, simulation, webgpu
- Language: TypeScript
- Homepage: https://waterball.netlify.app/
- Size: 4.69 MB
- Stars: 256
- Watchers: 2
- Forks: 35
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# WaterBall
Real-time fluid simulation on a sphere🌏 implemented in WebGPU.
Works on your browsers which support WebGPU (Chrome, Edge etc. Safari is also supported when WebGPU feature flag is enabled).
[Try demo here!](https://waterball.netlify.app/)

This is a follow-up project of [webgpu-ocean](https://github.com/matsuoka-601/webgpu-ocean) and has the following characteristics.
- [**Moving Least Squares Material Point Method (MLS-MPM)**](https://yzhu.io/publication/mpmmls2018siggraph/paper.pdf) by Hu et al. is implemented for the simulation.
- [nialltl's article](https://nialltl.neocities.org/articles/mpm_guide) helped a lot when implementing MLS-MPM. Huge thanks for them!
- **Screen-Space Fluid Rendering** described in [GDC 2010 slide](https://developer.download.nvidia.com/presentations/2010/gdc/Direct3D_Effects.pdf) is used for real-time rendering of the fluid.
## How to run
```
npm install
npm run serve
```
If you have trouble running the repo, feel free to open an issue.