JOOL

Jitter Object-Oriented Library

JOOL is an effort to aid in code re-use when writing Jitter externals. Writing complex computer vision and 3D geometry externals, can be a very time consuming task. If you write your code directly on top of the Jitter API, there isn't usually alot of code that can be used in other software settings unless you make some serious cludges. This means that the code for your super accurate computer vision external will most likely have to be redone if you want to use it outside of the Jitter environment. JOOL can help.

The core issue in separating processing code from the Jitter API is how to create efficient code that interfaces directly with the Jitter Matrix yet doesn't have to be changed a lick if you aren't linking against the Jitter API. JOOL addresses this issue by modelling the Jitter Matrix separate from the Jitter API such that those tight for loops that do the heavy lifting in Jitter externals don't have to be changed one bit when the same code is used in another app. In addition, JOOL promotes code re-use by introducing object-oriented programming to Jitter through a C-C++ bridge.

The goals of JOOL are:

  • promote code-reuse
  • hyper-efficency
  • maximum flexibility
  • ease of use

This is to be accomplished by:

  • using C++
  • careful design of the C-C++ bridge
  • careful interface with the Jitter Matrix
  • modelling the Jitter Matrix in C++
  • not being stupid

This effort is just beginning. The ideal outcome is for code to be written using JOOL to be negligibly slower than it would be had it been directly interfaced with the Jitter API. At the same, JOOL will allow the code to be completely portable to say a straight-up OpenGL app on (to pick an extreme example) a Linux box. I am doing this because there are times where I don't want to use Jitter, but I want access to all of my algorithms. Doing something really complicated twice when it can be avoided is not what I call a good time.

In any case, if you are interested in helping with this project, please feel free to email me. I have the basic code in place and am completely open to suggestions as to how to procede and structure the project. Right now, only the most bare-bones starting project is available. It's not cleaned up at all but it does work swimmingly. Give me a few days, and I'll have a better project up. (PS I only have a Codewarrior project for now. If someone wants to do a Visual Studio project, I would be most grateful).

Version History

Download:

Matrix Test Project (no doc)
JOOL v0.01

Super Bare-Bones Project
JOOL v0.00001