Allolib
1.0
C++ Components For Interactive Multimedia
|
AlloSphere Research Group
allolib is a fork of AlloSystem, maintained in separate repository.
University of California, Santa Barbara
The API documentation can be found at: https://allosphere-research-group.github.io/allolib-doc/
Allolib depends on Cmake version 3.8 (as the build tool), OpenGL and glew. See platform specific instructions below.
There are two paths for Windows installation. One through Visual Studio and one through the Chocolatey package manager.
For installation through Visual Studio:
During installation options:
a. Install "Desktop development with C++" workload
b. Install Individual components: C++/CLI support (make sure the version matches your compiler version), Git for Windows, Visual C++ Tools for Cmake
For installation through Chocolatey (not currently recommended, but let us know if it works):
sudo apt install build-essential git git-lfs cmake libsndfile1-dev libassimp-dev libasound-dev libxrandr-dev libopengl-dev libxinerama-dev libxcursor-dev libxi-dev
allolib requires gcc >= 7. If you need to build on older versions, you can use a ppa to get gcc:
sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test" sudo apt update sudo -E apt-get install gcc-8 g++-8
On a bash shell on Windows, Linux and OS X do:
git clone https://github.com/AlloSphere-Research-Group/allolib cd allolib git submodule update --recursive --init mkdir build cd build cmake .. -DBUILD_EXAMPLES=1 cmake . --build
The library will be built in build/lib.
There are two options provided to build allolib applications. The first is allolib_playground that is great for prototyping single file applications and for exploring the examples. For more complex projects with multiple source files and dependencies, use allotemplate
Allolib provides an extension mechanism for libraries that have large or platform dependent dependencies. The stable set of extensions can be found in the al_ext repo. The allotemplate repo linked above shows how to integrate them. al_ext is a separate repo that depends on the allolib library and provides cmake facilities for easy integration with it.