Patriciogonzalezvivo Ada Save

A general porpose OpenGL app library

Project README

ADA Build Status

ADA is an easy cross platform OpenGL ES 2.0 library for creating apps for Windows, MacOS, Linux (with or without an X11 Window Manager) and WASM (Emscripten WebAssembly).

1. Install Dependencies

Windows

  • Visual Studio 2019 or higher. Make sure to check "Desktop development with C++" and "Universal Windows Platform development" are installed
  • A git client
  • CMake (through Scoop is recommended)

MacOS

brew install glfw3 pkg-config

For video support (using FFMpeg library LIBAV), also do:

brew install ffmpeg --build-from-source

Linux: Debian based distributions with X11 Window Managers (Ex: Ubuntu, Raspberry Pi OS, etc)

sudo apt install git cmake xorg-dev libglu1-mesa-dev

For video support (using FFMpeg library LIBAV), also do:

sudo apt install ffmpeg libavcodec-dev libavcodec-extra libavfilter-dev libavfilter-extra libavdevice-dev libavformat-dev libavutil-dev libswscale-dev libv4l-dev libjpeg-dev libpng-dev libtiff-dev

Linux: Debian based distributions with no X11 Window manager (Raspberry Pi OS)

sudo apt install git cmake libgbm-dev libdrm-dev libegl1-mesa-dev libgles2-mesa-dev

Linux: Fedora distribution

sudo dnf install git gcc-c++ cmake mesa-libGLU-devel glfw-devel libXi-devel libXxf86vm-devel 
sudo yum install libXdamage-devel 

For video support (using FFMpeg library LIBAV), also do:

sudo dnf install ffmpeg ffmpeg-devel

Linux: Arch distribution

sudo pacman -S glu glfw-x11

For video support (using FFMpeg library LIBAV), also do:

sudo pacman -S ffmpeg

Emscripten WebAssembly project

Follow emscripten installation instructions:

git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
git pull
./emsdk install latest
./emsdk activate latest
source ./emsdk_env.sh
cd ..

2. Compiling

For windows managers like MacOS, Windows or Linux (with X11 Window Manager) (all through GLFW)

git clone https://github.com/patriciogonzalezvivo/ada_example.git
cd ada_test
mkdir build
cd build
cmake ..
make
./hello_world

For Linux with no X11 Window Manager

git clone https://github.com/patriciogonzalezvivo/ada_example.git
cd ada_test
mkdir build
cd build
cmake -DNO_X11=TRUE ..
make
./hello_world

As a Emscripten WebAssembly project

git clone https://github.com/patriciogonzalezvivo/ada_example.git
cd ada_test
mkdir build
cd build
cmake .. -DCMAKE_TOOLCHAIN_FILE=$EMSDK/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake
make

python3 -m http.server 

Then open http://localhost:8000/

Acknowledgements

This library is highly inspired on openFrameworks, a dear framework and community very close to my heart. The Mesh, Node and Camera clases are VERY similar. The reason to branch ADA was to minimize the amount of code, dependencies and be hable to add it through CMake.

Open Source Agenda is not affiliated with "Patriciogonzalezvivo Ada" Project. README Source: patriciogonzalezvivo/ada
Stars
124
Open Issues
2
Last Commit
1 year ago
License

Open Source Agenda Badge

Open Source Agenda Rating