/fluid

Primary LanguageCzlib LicenseZlib

Fluid Simulation test

A simple test of my old fluid simulation code, implemented from reading the excellent articles written by Dr Michael Gourlay on the Intel website. I diverged from his described method by using a Morton Curve instead of a Sparse Octtree, and I had only really implemented the first 3 articles, back in 2011. Fingers crossed, I can get it working better.

Quickstart

git clone --recurse-submodules git@github.com:burito/fluid
cd fluid
make -j8      # Build it using 8 threads
fluid.exe     # Windows
./fluid       # Linux
./fluid.bin   # MacOSX

If you have Steam and SteamVR installed (SteamVR is listed in Steam's "Tools" menu), then press F9. If you don't have a VR headset that works with SteamVR, you can use the null driver.

Usage

  • ESC - quit
  • F9 - toggle VR
  • F11 - toggle fullscreen
  • Standard FPS keys move around.
    • WASD move around
    • Ctrl goes down
    • Space goes up
    • Arrow Keys turn
    • Shift moves faster
    • Holding the Right Mouse button also turns

On Linux, to get the full Steam environment, one should use the command

~/.steam/steam/ubuntu12_32/steam-runtime/run.sh ./fluid

This may not be necessary anymore.

Build Environment

Windows

pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-imagemagick mingw-w64-x86_64-clang mingw-w64-x86_64-clang-tools-extra git vim man-pages-posix --disable-download-timeout

Linux

  • Install current GPU drivers and compiler
add-apt-repository ppa:graphics-drivers/ppa
apt update
apt install nvidia-410 vulkan-utils build-essential clang imagemagick git-core gitk

MacOS

  • Install XCode

Libraries

They are almost all in submodules now.

git submodule init
git submodule update --remote

GLEW doesn't distribute useable files from a git repo (the needed files are generated), so that has to be included in the project.

Submodules / Credits

For everything else, I am to blame.