![Gitter](https://badges.gitter.im/Join Chat.svg)
Guacamole is an extendable and efficient rendering system for visualizing different data types. It features a lightweight scene graph and a modern deferred shading system. Many common post processing effects are already integrated, e.g. screen space ambient occlusion, HDR, FXAA, volumetric light effects, bloom and fog.
Please cite our work when using our software in your own research or publication.
https://www.uni-weimar.de/de/medien/professuren/vr/software/
You need a NVIDIA GPU that supports OpenGL 4.2 and CUDA.
We recommend building guacamole with Visual Studio 2013. We created a zip file
with all necessary dependencies.
Get externals_vc120RC.zip
from https://github.com/vrsys/guacamole-externals.
Create a new directory externals/
under the project root.
Unpack externals_vc120RC.zip
into the externals/
directory.
Then configure with cmake
and build the library with Visual Studio.
The following guide serves as a step-by-step tutorial on how to build the dependencies and guacamole itself on Linux. It was tested on a fresh installation of Ubuntu 16.04, and the latest commit at the point of writing was 1097eff
.
Bullet
- clone https://github.com/bulletphysics/bullet3
- configure with CMake and enable flag
INSTALL_EXTRA_LIBS
make install
- the Bullet include directory will be
/usr/local/include
Boost
apt-get install libboost-all-dev
- the Boost include directory will be
/usr/include/boost
- the Boost library directory will be
/usr/lib/x86_64-linux-gnu
JSONCpp
apt-get install libjsoncpp-dev
- the JSONCpp library will be
/usr/lib/x86_64-linux-gnu/libjsoncpp.so
GLFW
apt-get install libglfw3-dev
- the GLFW include directory will be
/usr/include
- the GLFW library will be
/usr/lib/x86_64-linux-gnu/libglfw.so
ZMQ
apt-get install libzmq3-dev
- the ZMQ include directory will be
/usr/include
- the ZMQ library will be
/usr/lib/x86_64-linux-gnu/libzmq.so
FBX
- get FBX SDK from Autodesk
- unpack and execute install script in desired installation directory
- when FBX is located in
FBX_PATH
, the FBX include directory will beFBX_PATH/include
- when FBX is located in
FBX_PATH
, the FBX library directories will beFBX_PATH/lib/gcc4/release
andFBX_PATH/lib/gcc4/debug
Schism
apt-get install libfreetype6-dev libfreeimageplus-dev opencl-headers
- clone https://github.com/chrislu/schism
- adapt find script
build/cmake/custom_scripts/schism_boost.cmake
such thatSCM_BOOST_INCLUDE_SEARCH_DIRS
is/usr/include
andSCM_BOOST_LIBRARY_SEARCH_DIRS
is/usr/lib/x86_64-linux-gnu
- configure with CMake
make install
- when Schism is located in
SCHISM_PATH
, the Schism inlcude directories will beSCHISM_PATH/scm_cl_core/src;SCHISM_PATH/scm_core/src;SCHISM_PATH/scm_gl_core/src;SCHISM_PATH/scm_gl_util/src;SCHISM_PATH/scm_input/src
- when Schism is located in
SCHISM_PATH
, the Schism library directory will beSCHISM_PATH/lib/linux_x86
Lamure
apt-get install freeglut3-dev libcgal-dev libglm-dev libxmu-dev
- clone https://github.com/vrsys/lamure
- adapt find script
cmake/modules/find_schism.cmake
such thatSCHISM_INCLUDE_SEARCH_DIRS
andSCHISM_LIBRARY_SEARCH_DIRS
contain the paths mentioned above - configure with CMake
make install
- when Lamure is located in
LAMURE_PATH
, the Lamure include directory will beLAMURE_PATH/install/include
- when Lamure is located in
LAMURE_PATH
, the Lamure library directory will beLAMURE_PATH/install/lib
guacamole
apt-get install libassimp-dev
- clone https://github.com/vrsys/guacamole (this repository)
- configure with CMake and set paths to dependencies as mentioned above if not found automatically
- CMake flags that were set to ON during writing this tutorial:
GUACAMOLE_ENABLE_PHYSICS
,GUACAMOLE_EXAMPLES
,GUACAMOLE_FBX
,GUACAMOLE_GLFW3
,GUACAMOLE_RUNTIME_PROGRAM_COMP
,PLUGIN_guacamole-lod
,PLUGIN_guacamole-skelanim
,PLUGIN_guacamole-tv_3
,PLUGIN_guacamole-video3d
,PLUGIN_guacamole-volume
make install
If everything worked well, you can start by running an example in the examples/
directory, e.g. the input
example.
Please report bugs via the github issue tracker.
- Simon Schneegans
- Felix Lauer
- Andreas Bernstein
- André Schollmeyer
- Andrey Babanin