Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dimforge/salva
2 and 3-dimensional fluid simulation library in Rust.
https://github.com/dimforge/salva
animation fluids gamedev pbf physics rust sph
Last synced: 18 days ago
JSON representation
2 and 3-dimensional fluid simulation library in Rust.
- Host: GitHub
- URL: https://github.com/dimforge/salva
- Owner: dimforge
- License: apache-2.0
- Created: 2019-09-24T08:33:49.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-02-11T10:38:29.000Z (9 months ago)
- Last Synced: 2024-05-01T11:40:59.123Z (7 months ago)
- Topics: animation, fluids, gamedev, pbf, physics, rust, sph
- Language: Rust
- Homepage: https://salva.rs
- Size: 319 KB
- Stars: 452
- Watchers: 10
- Forks: 24
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
Users guide | 2D Documentation | 3D Documentation | Discord
-----
**Salva** is a 2 and 3-dimensional particle-based fluid simulation engine for games and animations.
It uses [nalgebra](https://nalgebra.org) for vector/matrix math and can optionally interface with
[rapier](https://rapier.rs) for two-way coupling with rigid bodies, multibodies, and deformable bodies.
2D and 3D implementations both share (mostly) the same code!Examples are available in the `examples2d` and `examples3d` directories. Because those demos are based on
WASM and WebGl 1.0 they should work on most modern browsers. Feel free to ask for help
and discuss features on the official [discord](https://discord.gg/vt9DJSW).## Why the name Salva?
The name of this library is inspired from the famous surrealist artist `Salvador Dalì`. The logo of `Salva`
is inspired from its renown painting [The Persistence of Memory](https://en.wikipedia.org/wiki/The_Persistence_of_Memory).## Features
- **Pressure resolution:** DFSPH and IISPH.
- **Viscosity:** DFSPH viscosity, Artificial viscosity, and XSPH viscosity.
- **Surface tension:** WCSPH surface tension, and methods from He et al. 2014 and Akinci et al. 2013
- **Elasticity:** method from Becker et al. 2009
- **Multiphase fluids**: mix several fluids with different characteristics (densities, viscosities, etc.)
- Optional **two-way coupling** with bodies from **rapier**.
- **WASM** support