https://github.com/electronicarts/pbmpm
A WebGPU implementation of Position Based MPM (PB-MPM), presented at SIGGRAPH 2024.
https://github.com/electronicarts/pbmpm
gamedev physics seed
Last synced: 23 days ago
JSON representation
A WebGPU implementation of Position Based MPM (PB-MPM), presented at SIGGRAPH 2024.
- Host: GitHub
- URL: https://github.com/electronicarts/pbmpm
- Owner: electronicarts
- License: bsd-3-clause
- Created: 2024-07-08T23:36:07.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-17T11:31:43.000Z (12 months ago)
- Last Synced: 2025-06-06T06:07:24.987Z (4 months ago)
- Topics: gamedev, physics, seed
- Language: JavaScript
- Homepage: https://electronicarts.github.io/pbmpm/
- Size: 21.5 MB
- Stars: 190
- Watchers: 8
- Forks: 13
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# PB-MPM
[](LICENSE.md)
[](VERSION.md)This package is a WebGPU implementation of Position Based MPM (PB-MPM).
![]()
![]()
![]()
To see the demo in action, go [here](https://electronicarts.github.io/pbmpm/).
This **Main** branch contains many optimizations that make it harder to understand. For a more accessible version of the code, see the [SIGGRAPH 2024](https://github.com/electronicarts/pbmpm/tree/siggraph2024) branch that is less optimized but more readable.
## Building
PB-MPM is based on WebGPU. Currently, this means that among desktop browsers, **Firefox will not work**.
Some mobile hardware can run WebGPU but this app is not properly mobile-aware so the experience will not be good.1. [Install Ruby](https://www.ruby-lang.org/en/documentation/installation/). If you are on *MacOS*: Please follow [these instructions](https://jekyllrb.com/docs/installation/macos/).
2. Run `bundle install`
3. Run `jekyll serve --livereload`
4. Open a browser window at [`localhost:4000`](http://localhost:4000)## Reference
> *Chris Lewin*. **[A Position Based Material Point Method](https://seed.ea.com)**. ACM SIGGRAPH 2024.
## Authors
Search for Extraordinary Experiences Division (SEED) - Electronic Arts
https://seed.ea.com
We are a cross-disciplinary team within EA Worldwide Studios.
Our mission is to explore, build and help define the future of interactive entertainment.## Contributing
Before you can contribute, EA must have a Contributor License Agreement (CLA) on file that has been signed by each contributor.
You can sign here: http://bit.ly/electronic-arts-cla## Research Resources
- [incremental_mpm](https://github.com/nialltl/incremental_mpm) by nialltl## License
- The source code is released under a *BSD 3-Clause License* as detailed in [LICENSE.md](LICENSE.md)