Anthelmed / sph-tutorial

Brandon Pelfrey's SPH fluid simulation tutorial

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

sph-tutorial

Experimenting with performance evaluation and improvements to Brandon Pelfrey's smoothed-particle hydrodynamics (SPH) fluid simulation tutorial:

Requirements
  • CMake >= 3.10.0
  • C++11 compiler with OpenMP support
  • OpenGL runtime support
Controls
  • Q/Escape: Exit
  • Space: Add more particles
  • Mouse button: Attract nearby particles
  • +/-: Increase/decrease the number of simulation steps per frame

You can use the OMP_NUM_THREADS environment variable to limit the number of threads used by OpenMP.

Dependencies

Appropriate versions of GLFW and GLM are included as submodules so there's no need to install them separately.

GLFW has some platform-specific build dependencies:

  • Linux

    # Debian & derivatives:
    sudo apt install \
    libx11-dev \
    libxrandr-dev \
    libxinerama-dev \
    libxcursor-dev \
    libxi-dev \
    
  • Windows

    TBD
    
  • macOS

    TBD
    
Building
git clone --recurse-submodules https://github.com/genpfault/sph-tutorial.git
cd sph-tutorial
mkdir build
cd build
cmake ../ -DCMAKE_BUILD_TYPE=RelWithDebInfo
cmake --build .

About

Brandon Pelfrey's SPH fluid simulation tutorial

License:Other


Languages

Language:C++ 95.9%Language:CMake 4.1%