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.
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.
ESC
- quitF9
- toggle VRF11
- toggle fullscreen- Standard FPS keys move around.
WASD
move aroundCtrl
goes downSpace
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.
- Install current Nvidia drivers (451.67)
- Install msys2-x86_64-20200629.exe
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
- 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
- Install XCode
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.
deps/stb
- Sean Barrettdeps/fast_atof.c
- Tom Van Baakdeps/small-matrix-inverse
- Nis Wegmanndeps/openvr
- Valve Softwaredeps/models
- Morgan McGuire's Computer Graphics Archivedeps/*gl*
- GLEW 2.1.0- Add
#define GLEW_STATIC
to the top ofglew.h
- Add
deps/dpb/deps/hidapi
- Alan Ott, under BSD License
For everything else, I am to blame.