RealityTech is a company dedicated to Augmented Reality solutions. We build our own software and hardware and share most of our work through open source software, open hardware
and contributions to existing projects.
PapARt
(Paper Augmented Reality Toolkit)
PapARt enable the creation of interactive projection applications. It
is the framework we develop, use and maintain.
The main features are the tracking of markers (via ARToolkitPlus), natural
features (via JavaCV), augmented reality rendering (using Processing),
and multi-touch tracking.
Highlight: Processing
Processing is an open source programming environment dedicated to create
interactive applications. Processing enables fast prototyping of applications
and brings an easy integration of java libraries like PapARt and JavaCV.
It is also a large community of artists and engineers both amateurs and
profesionnals.
Highlight: JavaCV
JavaCV is an open source project that ease the use of native OpenCV in Java.
It is a user layer on top on JavaCPP-presets for OpenCV. JavaCV, and other
Java bindings are used in PapARt to use fast native code to handle image
processing and camera drivers.
PapARt is in active development, and it will evolve to better fit its uses. For now
it handles many different tasks:
- Marker detection and tracking, with markers and natural features. [Help Needed to tend the tracking capabilites].
- Augmented reality rendering, in Processing.
- Camera and projector calibration.
- Touch detection and tracking from depth cameras.
- «Touch» detection and tracking from color cameras.
- 3D Scanner with structured light (in addition to depth cameras).
- Camera «drivers»: Processing, OpenCV, Kinect, Realsense and more…
The library is available on github and available for free, distributed under the
LGPL and CeCILL-C licences.
- Community forum. [Coming soon]
- Github page for the core and examples.
PapARt was initially a reseach project from Bordeaux University and Inria.
Processing libraries
Skatolo is a fork of ControlP5. We repackaged the code and reworked the pointer system to enable multi-touch inputs. We add dedicated widgets and
controllers for our apps and for Augmented Reality.
Skatolo also comes with JRubyArt bindings and as a ruby gem. The great work done in ControlP5 can be experienced in a more interactive way in ruby. With this it is possible to create GUI elements in presentations in Soby.
SVGExtended, font and embedded support for SVG in Processing.
Processing is capable to display .svg
images. However its support
is limited in performance and capabilities. We did not work on
performance but we extendend the support to enable the rendering
of text and embedded images in svg files.
This is notably used to render svg presentations in Soby described below.
Experimental programs
This is a list of experimental projects, mostly made as personal
projects
Presention software: Soby
Soby was inspired by Prezi and Sozi. It is a planar (pan/zoom) presentation software.
The presentations are created with Inkscape, animated with a plugin from Sozi and displayed through Processing.
It is an experimental project which enables to mix creative coding and presention softwares.
Soby is in Ruby, and uses JRubyArt.
Contributions
We created java bindings for C++ libraries.
Stable presets:
- We proposed some extensions to Libfreenect.
- Intel provides open source drivers for their Realsense devices. We created java bindings and compilation tools for Arch linux. Librealsense in java. An update to version 2.0 is not planned yet.
Unstable presets
- We worked with the Kinect for Xbox One and thus created a java binding for it. However it is not stable yet and requires additional work. Libfreenect2 source.
Robus is a robotics framework from Pollen Robotics.
We created an experimental version of Robus in Ruby to make it work in JRubyArt.