AlloSphere-Research-Group / allolib

Licence: BSD-3-Clause license
Library for interactive multimedia application development

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to allolib

requestty
An easy-to-use collection of interactive cli prompts inspired by Inquirer.js.
Stars: ✭ 158 (+586.96%)
Mutual labels:  interactive
thunder
BoltDB's Interactive Shell
Stars: ✭ 80 (+247.83%)
Mutual labels:  interactive
klipse-repl
Beginners friendly Clojure REPL
Stars: ✭ 44 (+91.3%)
Mutual labels:  interactive
periodum
Periodum: An Interactive, Open-Source Periodic Table!
Stars: ✭ 346 (+1404.35%)
Mutual labels:  interactive
amazon-ivs-basic-web-sample
This repository contains a collection of plain JavaScript code samples, covering several basic Amazon IVS use cases.
Stars: ✭ 29 (+26.09%)
Mutual labels:  interactive
augmath
Interactive Computer Algebra System. Augmenting how we *do* mathematics using computers
Stars: ✭ 41 (+78.26%)
Mutual labels:  interactive
AstronomicAL
An interactive dashboard for visualisation, integration and classification of data using Active Learning.
Stars: ✭ 45 (+95.65%)
Mutual labels:  interactive
kingslayer
A text-based adventure written in Rust
Stars: ✭ 28 (+21.74%)
Mutual labels:  interactive
psyplot
Python package for interactive data visualization
Stars: ✭ 64 (+178.26%)
Mutual labels:  interactive
lumo
A high performance WebGL tile rendering library
Stars: ✭ 58 (+152.17%)
Mutual labels:  interactive
inquire
A Rust library for building interactive prompts
Stars: ✭ 419 (+1721.74%)
Mutual labels:  interactive
PlutoUI.jl
pluto-featured-notebooks.netlify.app/classic%20samples/plutoui.jl
Stars: ✭ 254 (+1004.35%)
Mutual labels:  interactive
muxnect
Send input to just about any interactive command-line tool through a local web server
Stars: ✭ 23 (+0%)
Mutual labels:  interactive
dcc
Direct/Interactive C Compiler
Stars: ✭ 18 (-21.74%)
Mutual labels:  interactive
mathcell
Interactive mathematics in the browser
Stars: ✭ 34 (+47.83%)
Mutual labels:  interactive
ilua
Portable Lua kernel for Jupyter
Stars: ✭ 99 (+330.43%)
Mutual labels:  interactive
npm-interactive-scripts
⚡️Fast Interactive CLI for npm scripts
Stars: ✭ 17 (-26.09%)
Mutual labels:  interactive
ESPShaker
ESP8266 interactive serial command processor via Arduino core.
Stars: ✭ 24 (+4.35%)
Mutual labels:  interactive
lore
WebGL engine for (big) data visualization.
Stars: ✭ 24 (+4.35%)
Mutual labels:  interactive
idlejs
Execute stuff when user is idle or interactive
Stars: ✭ 35 (+52.17%)
Mutual labels:  interactive

Allolib C/C++ Libraries {#mainpage}

Developed by:

AlloSphere Research Group

allolib is a fork of AlloSystem, maintained in separate repository.

University of California, Santa Barbara

Build Status Build status

Find us at #allolib on libera.chat. Try the libera.chat web interface interface if you don't have an IRC client

Documentation

The API documentation can be found at: https://allosphere-research-group.github.io/allolib-doc/

Installing Allolib

Dependencies

Allolib depends on Cmake version 3.8 (as the build tool), OpenGL and glew. See platform specific instructions below.

To clone the media required for some examples, you will need git-lfs. Installation of git-lfs is described below, but it is important that you install git-lfs before cloning this repo.

Windows

There are two paths for Windows installation. One through Visual Studio and one through the Chocolatey package manager.

For installation through Visual Studio:

  1. Install Visual Studio 2017 or 2019 Community Edition from https://visualstudio.microsoft.com/downloads/

  2. 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):

  • Install Chocolatey: Aim your browser at https://chocolatey.org/install. Follow the directions there to install Chocolatey. Wait for this to finish before moving on.
  • Use the choco command to install a C++ compiler. Open cmd.exe (Command Prompt) as administrator and run this command: choco install -y visualstudio2017buildtools visualstudio2017-workload-vctools
  • Use the choco command to install some software. Open cmd.exe (Command Prompt) as administrator and run this command: choco install -y git git-lfs cmake graphviz doxygen atom vscode
  • Install libsndfile: Aim your browser at http://www.mega-nerd.com/libsndfile/#Download. Download and install the 64-bit version: libsndfile-1.0.xx-w64-setup.exe.

macOS

  • Install Xcode: Open the App Store app. Search for "xcode". Install the first result. Wait for this to finish before moving on.

  • Install Homebrew: Open the Terminal app. Aim your browser at https://brew.sh. Copy and paste the text of the install command into the Terminal app.

  • Use the brew command to install some software. In the Terminal app, run this command:

    brew install git git-lfs cmake libsndfile
    

Ubuntu/Debian

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

Building library and running examples

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 .. -DALLOLIB_BUILD_EXAMPLES=1
cmake --build .

The library will be built in build/lib.

Building aplications with allolib

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

Extensions

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].