Skip to content

videodromm/karmaMapper

 
 

Repository files navigation

karmaMapper


karmaMapper is an collection of OpenSource 2D mapping software made for real-time interactions and digital image generation. Built upon the amazing OpenFrameworks framework, it gives an interface between the physical and the virtual and some other features. If you're at ease with code, it's a perfect tool to start coding on physical surfaces using a video projector.

Runs on Mac and Linux and should run on Windows.

karmaMapper is a work in progress.
Curently (09-01-2016), there's a scene editor allowing you to configure a set of mappable shapes, a music analyser that streams over the network and the very bare basics of the animator app allowing to instantiate the first effects on shapes.

Old screenshot

SETUP

Required Dependencies:

Install

  • Install OpenFrameworks then:
  • cd OF/apps/karmaApps/
  • git clone git@github.com:Karma-Kusala/karmaMapper.git
  • cd ./karmaMapper
  • ./clone_addons.sh (Mac & Linux only)

Compile

  • Makefiles:
    cd OF/apps/karmaApps/karmaMapper
    make Release
    make RunRelease
    Select the animator or the editor in config.make

    • PROJECT_DEFINES = KM_EDITOR_APP
    • PROJECT_DEFINES = KM_ANIMATOR_APP
  • Qt Creator:
    Open karmaMapper.qbs and compile.
    See also the OF Qt setup guide.
    On Linux I also had to update gcc to version 4.9.
    To select a target, edit karmaMapper.qbs and look for of.defines: ['KM_ANIMATOR_APP']

  • Xcode:
    Open karmaMapper.xcodeproj and select either the karmaMapper Editor or karmaMapper Animator target.

Optional:

  • a RaspberryPi + Raspbian (for real-time sound analysis and video streaming #notyet )

Details

It lets you configure a series of virtual 2D shapes on a 3D environment. This simplifies the whole image output generation process not needing complex transform matrices and so on. These shapes are then passed to an animator class which applies effects on them. The idea is to build a big animator app that works together with a bunch of side-apps and tools. Imagine connecting devices such as a camera, gamepads, a raspberryPi music analyser, a control interface on a tablet, etc.
(note: most of these are not yet implemented)

Architecture

It's made for extensibility and there are several components:

  • Vectorial shapes provide a virtual interface with a physial space. A shapes server serves them; there's also an editor to configure a space.
  • An animator lets you control most settings manually or automatically.
  • Effects are applied to shapes by the animator component which can be controlled manually or automatically.

People

Contributors

Thanks

Feel free to comment, contibute, fork, pull, etc. :)

About

karmaMapper is an OpenSource 2D mapping software made for real-time interactions and image generation.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 80.8%
  • Pure Data 12.4%
  • GLSL 3.8%
  • QML 1.7%
  • C 0.8%
  • Objective-C 0.2%
  • Other 0.3%