patriciogonzalezvivo / ada

Licence: MIT license
A general porpose OpenGL app library

Programming Languages

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

Projects that are alternatives of or similar to ada

3d Game Shaders For Beginners
🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.
Stars: ✭ 11,698 (+11040.95%)
Mutual labels:  glsl, shader, hlsl, glsl-shader
Gpu Gems Book Source Code
💿 CD Content ( Source Code ) Collection of Book <GPU Gems > 1~ 3 | 《GPU精粹》 1~ 3 随书CD(源代码)珍藏
Stars: ✭ 567 (+440%)
Mutual labels:  glsl, shader, hlsl
Shadered
Lightweight, cross-platform & full-featured shader IDE
Stars: ✭ 3,247 (+2992.38%)
Mutual labels:  glsl, hlsl, hlsl-shader
Bonzomatic
Live shader coding tool and Shader Showdown workhorse
Stars: ✭ 829 (+689.52%)
Mutual labels:  glsl, shader, hlsl
Shaderconductor
ShaderConductor is a tool designed for cross-compiling HLSL to other shading languages
Stars: ✭ 1,146 (+991.43%)
Mutual labels:  glsl, shader, hlsl
Thebookofshaders
Step-by-step guide through the abstract and complex universe of Fragment Shaders.
Stars: ✭ 4,070 (+3776.19%)
Mutual labels:  glsl, shader, glsl-shader
Glslang
Khronos-reference front end for GLSL/ESSL, partial front end for HLSL, and a SPIR-V generator.
Stars: ✭ 2,034 (+1837.14%)
Mutual labels:  glsl, shader, hlsl
Spirv Vm
Virtual machine for executing SPIR-V
Stars: ✭ 173 (+64.76%)
Mutual labels:  glsl, shader, hlsl
osgw
Real-Time Ocean Animation with Gerstner Waves
Stars: ✭ 51 (-51.43%)
Mutual labels:  glsl, shader
frag3d.js
WebGL shader tools
Stars: ✭ 58 (-44.76%)
Mutual labels:  glsl, shader
VaKawaseBlur
Fast and furious Kawase blur implementation for Unreal Engine 4
Stars: ✭ 37 (-64.76%)
Mutual labels:  shader, hlsl
shaderplace
Real-time collaborative GLSL livecode editor
Stars: ✭ 43 (-59.05%)
Mutual labels:  glsl, shader
Pmfx Shader
Cross platform shader system for HLSL, GLSL, Metal and SPIR-V.
Stars: ✭ 245 (+133.33%)
Mutual labels:  glsl, hlsl
glsl-editor
💾 A simple WebGL shader editor
Stars: ✭ 20 (-80.95%)
Mutual labels:  glsl, shader
sparksl-noise
minimum proof of concept about procedural noise generation in SparkAR's shader language (SparkSL).
Stars: ✭ 16 (-84.76%)
Mutual labels:  glsl, shader
nuance
A tool to run your shaders on the gpu. Also a good demo application for wgpu-rs.
Stars: ✭ 26 (-75.24%)
Mutual labels:  glsl, shader
Simplegodotcrtshader
A simple Godot shader that simulates CRT Displays
Stars: ✭ 236 (+124.76%)
Mutual labels:  glsl, shader
raymarching
Code for my raymarching in GLSL workshop series
Stars: ✭ 17 (-83.81%)
Mutual labels:  glsl, shader
ShaderBoy
Simple text editor that lets you write Shadertoy shaders more comfortably, anytime, anywhere.
Stars: ✭ 133 (+26.67%)
Mutual labels:  glsl, shader
DuEngine
An efficient interactive C++ renderer for ShaderToy-alike demos with 2D/3D/CubeMap/Video/Camera/LightField/Volume textures. (Partially used in my I3D 2018 papers)
Stars: ✭ 62 (-40.95%)
Mutual labels:  glsl, shader

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.

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].