Blockit is a set of C++ libraries and applications aimed at creative coding, live performances and interactive installations. It’s main focus is to provide a platform where you can quickly try out new ideas - whether it’s writing C++ code, using visual programming or just tweaking parameters via user interface.

It comes with node based visual programming language, scene graph, user interface and audio & video support. All sitting on top of dynamic type system that allows introspection of any property and organizes object into intuitive tree-like structure.

So far, there are plugins for generating geometry and textures, but there are plans for computer vision, effect pipelines and material shaders.

Features

Type System
  • librfl - C++ reflection using annotations
  • Plugin based
  • Built-in types for trees, graphs, components and properties
  • Animation & automation of any property
Graphics
  • libzyx - Math, Mesh, Implicit Surface, Point and AABB Octree
  • Entity & component based scene graph
  • OpenGL/OpenGLES wrapper
  • Video playback, recording and capture
  • Mixing, composing and mapping of video textures
User Interface
  • Accelerated widget toolkit and 2D graphics using Skia
  • XML driven widget definition
  • Resources & localization support
Platform
  • base library from Chromium
  • breakpad for crashreporting
  • CMake based build system

Blockit is still under active development and there is still a lot of work to be done. When ready for public (documentation, infrastructure), it will be released as open-source under BSD licence. Currently publicly available is only C++ reflection library librfl.