This project is an implementation of Position Based Fluids[1] written in CUDA and modified Screen Space Fluids Rendering[2] written in OpenGL.
Double Dam Break 32K particles
See figs for additonal screenshots of single dam, surface normal map and sweeping boundary scene.
Techniques
Evaluation
Performance evaluated on a notebook with GTX 1050, i7-7700 HQ.
Under configuration of 4 incompressibility confinement iterations and 2 smoothing iterations each frame, this implementation runs at ~30 fps with 32K particles in Double Dam Break scene (Screenshots above).
Apache License 2.0 (Apache-2.0)
[1] M. Macklin and M. Müller, “Position based fluids,” ACM Trans. Graph., vol. 32, no. 4, p. 1, Jul. 2013. \ [2] W. J. van der Laan, S. Green, and M. Sainz, “Screen space fluid rendering with curvature flow,” in Proceedings of the 2009 symposium on Interactive 3D graphics and games - I3D ’09, 2009, p. 91. \ [3] S. Green, “Particle Simulation using CUDA,” cse.uaa.alaska.edu, no. September, pp. 1–12, 2013. \ [4] Learn OpenGL, extensive tutorial resource for learning Modern OpenGL for great skybox tutorial.