| GA::kit Repo | ofxGAkit Repo | Documentation |
GA::kit
is G&A's in-house C++ application framework for building interactive experiences.
We use it to create anything from 2D UI prototypes to high-performance 3D immersive installations.
We designed it from scratch to be:
-
fast -
Our scenegraph lets you intuitively craft complex 3D scenes without sacrificing performance. -
flexible -
Every app is different. We use modular components, templated classes, and helpful utilities to support iterative, agile development. -
familiar -
As creative coders, we love the clarity and efficacy of existing toolkits like openFrameworks and Cinder.
That's why we designedGA::kit
to work as an oF addon - and a Cinder Block is on the roadmap.
Or bring your own rendering engine - we strive to be framework agnostic.
Currently, the simplest way to use GA::kit
is through ofxGAkit openFrameworks addon.
Simply git clone --recursive
the addon repo inside of your openFrameworks/addons/
directory, then use the oF Project Generator to generate a project with the addon selected.
The addon works for both Windows and Mac. Full setup instructions can be found here.
In this case, openFrameworks provides the windowing and rendering system (glfw / openGL
), and automatically includes the necessary nlohmann::json
and glm
libraries.
We aim to make GA::kit
"framework agnostic". This means that we would like it to play nicely with other C++ creative coding frameworks like Cinder - or it could be used on its own by including a few supporting libraries.
The only requirements beyond C++14 are including the glm
and nlohmann::json
libraries, and adding an openGL windowing library, like glfw
.
We could use your help:
- creating a Cinder block. Todo: Cinder block repo link
- creating a "framework-free" example project, showing how to include
glm
,nlohman::json
andglfw
- Hierarchical 3D Scenegraph with
Scene
,Node
, andComponent
classes - Innovative tween animation system with
Tween
,Timeline
and easing functions Timer
andTimeout
classes for triggering timed callbacks- Universal app asset management with templated
ResourceCache
class KeyEvent
,MouseEvent
andTouchEvent
handling- Layout utitilies to automatically align and scale to fit
- Math utilities built on glm
- JSON serialization, using nlohmann::json
- Signal-based event system, using sigslot (included)
- Universal Unique ID system, using crossguid (included)
- GLSL
Shader
class Material
(shader + textures + parameters) componentMesh
VBO component- Cinder block
- Framework-free example using GLFW
- C++14
- OpenGL 3+
- glm
- nlohmann::json
We are the industry’s best strategic problem solvers. A team of boundless creative individuals. As experts in our own craft, relentless curiosity fuels our passion for working with the best partners to build community experiences led by their profound stories. Bring your story and become part of ours.
Visit G&A website