- Design the data structure
- Particle
- Grid
- Initialize the system
- Do the simulation
- Particle-Particle Interactions
- Apply external forces
- Gravity
- Collision
- Render the particle systems
- Render the fluid
- Grid Sampling
- Volume raycasting
- Marching cubes
- Metaball based construction
- Grid Sampling
-
Projects
- Fluid rendering for Lagrange's model (by Nae Zhu)
- Position Based Fluids (by k-ye): https://www.zhihu.com/question/275611095/answer/414977450
- Smoothed Particle Hydrodynamics (by loohill):
- Smoothed Particle Hydrodynamics demo with explaination
-
Papers
- Miles Macklin, Matthias Müller (2013) Position based fluids
- Matthias Müller (2003) Particle-Based Fluid Simulation for Interactive Applications
-
Tutorials
- OpenGL: https://learnopengl.com
- Fluid Simulation Tutorial on physical equations, data structures, pseudo code, and rending: http://users.encs.concordia.ca/~grogono/Graphics/fluid-5.pdf
- Fluid simulation course notes (chapter 9 SPH): https://www.cs.ubc.ca/~rbridson/fluidsimulation/fluids_notes.pdf
- Physically Based Modeling from CMU Andrew Witkin
- Fluid Rendering using Screen Space Meshes from GDConf by Simon Green
-
Programming guide