Getting StartedΒΆ

The Nova library can be downloaded from GitHub using the following command:

git clone https://github.com/OrionQuest/Nova.git

Example projects that use the Nova core library live in a separate repository, and can be downloaded using the following commands:

cd Nova/Projects
git clone https://github.com/OrionQuest/Nova_Examples.git

Nova depends on several libraries such as GLM, FreeType, GLFW (version 3.0), GLEW, Boost (in particular, filesystem, program_options, and regex), Assimp, etc. Most of these libraries can be directly installed from the package manager on Linux systems such as Ubuntu (version 14.04 or higher). At the moment, the cmake files do not do a perfect job in finding all the missing libraries. We apologize for this slight inconvenience and will hopefully fix this in the near future. Run the following command to install all the dependencies:

sudo apt-get install libboost-dev libboost-program-options-dev libboost-filesystem-dev libboost-regex-dev libglfw3-dev libglew-dev libglm-dev libassimp-dev libfreetype6-dev

The build system uses cmake (version 3.0 or higher). We recommend the use of the graphical version ccmake for easy configuration of the environment variables. The best way to install the latest version of cmake and ccmake is to first run the following command:

sudo apt-get install libncurses5-dev

and then install cmake. This will ensure that both cmake and ccmake are updated to the latest version. To compile Nova, run the following commands in order:

cd Nova
mkdir build
cd build
ccmake ..

Set CMAKE_BUILD_TYPE to Release, and turn on the following flags: ENABLE_ASSIMP_PLUGIN, ENABLE_FREETYPE_PLUGIN, ENABLE_GRID_PLUGIN, ENABLE_TEXTFILERENDERER_PLUGIN. As our first example, we will simulate volumetric elastic objects, so turn on the corresponding project using the flag: ENABLE_EMBEDDED_DEFORMABLES. Press c to configure, which will bring up the additional flag ENABLE_EMBEDDED_DEFORMABLES_PLUGIN used by the OpenGL viewer for visualizing the output data. Turn this flag on as well, press c to configure, and then g to generate the Makefile. Finally, run the following command:

make -j 8