PBF
Goal
- Implement both the CPU and GPU version of the Position Based Fluid
Current Progress
- CPU impl
- GPU impl
- Customizable particle system
- Fluid Rendering (not particle rendering)
- Code refactoring
- Optional build on GPU impl
Some Images
Wave simulation using ~18,000 particles on NVIDIA GeForce GTX 960M.
OpenGL coordinate system reference
Dependency
- OpenGL
- glfw3
- GLEW
- glm (header-only library)
- CUDA 8.0 (this should be optional)
Project Setup
- All the third party dependency headers should be inside
C:\ThirdParty\Include
. - All the third party dependency libraries should be inside
C:\ThirdParty\Libs
.
References
- Macklin, Miles, and Matthias Müller. "Position based fluids."
- van der Laan, Wladimir J., Simon Green, and Miguel Sainz. "Screen space fluid rendering with curvature flow."
- "Screen Space Fluid Rendering for Games", NVIDIA, GDC 2010
- "Particle Simulation using CUDA", Simon Green
- Good OpenGL Tutorial for Beginners
- Eisemann, Elmar, and Xavier Décoret. "Single-pass GPU solid voxelization for real-time applications."
- Point in Triangle Test