Skip to content

schreckc/FSWW

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fundemental Solutions For Water Wave Animation
------------------------------------------------------------------------------

This code implements a version the method described in

    "Fundemental Solutions For Water Wave Animation"
    by Camille Schreck, Christian Hafner and Chris Wojtan
    published in ACM Transactions on Graphics (SIGGRAPH 2019)

This version uses Magnum Engine as viewer. 
Another version is available here (https://github.com/schreckc/FSWW_qglviewer) using QglViewer instead (easier compilation).

This code is not particularly well-tested or optimized, but it can be used to
reproduce (at least some) of the examples in the paper.



INSTALL:
sudo apt-get install cmake git gcc python3 pip3 eigen libsdl2-dev
sudo pip3 cget
./build/install-dependencies
./build/configure-builds
cd ./build/Release/
make
cd ../..

<optional> The sources contain a cuda implementation of part of this program. To use it you need to install cuda and make sure the macro USE_CUDA is defined before compiling.

RUN:
./build/Release/src/wawa <options>
Options:
     -l, -load <file>: load configuration file
     -e, -export <name>: export amplitude grid for each frequencies in the file <name>.obj
     -i, -import <name>: import amplitude grid for each frequencies in the file <name>.obj
     -stop <t>: stop animation and exit at time t
     -em <name>: export heightfields and render files in a set of files <name><frame number>.ong and <name><frame number>.xml
     -es, -export_step <n>: export every n frames
     -h, -help: print help				


OPTION:
You can use the macro defined in src/setting.hpp to switch between interactive or static waves (INTERACTIVE_), using or not the Cuda implementation (USE_CUDA), and using a projective grid or a fix one (PROJECTED_GRID).
The number of threads used by the program is defined in the same file (src/setting.hpp) by the macro
NTHREADS_.