ARToolKitPlus in Cinder


UPDATE: THERE IS NOW A BETTER VERSION HERE

 

Well, there you go.  I decided not to use OpenFrameworks for my project, after all.  I think Cinder looks more promising.  So, I spent a few hours today getting to know Cinder, and porting the ARToolKitPlus example to it.

This is my first attempt at a “Cinderblock” port of ARToolKitPlus, and it works just fine (although I have a few questions – please read on…)  It’s rough and ready, and comes with a working example.

To install, put it in your “blocks” folder in the Cinder folder structure (probably under “cinder_0.8.2_mac” or whichever version you’ve got).  There’s an example, included. It works on my OS X 10.6 machine, but I think that it probably won’t work just yet on Windows, due to the different resource loading.  It would be great if someone sorted that out, but like I said, this is just a start.

http://stuff.openlabworkshops.org/ARToolKitPlus.zip

So, about the example – I’m trying to get the screen coordinates of a tracked marker, and having trouble.  I tried using the “unproject” function I found on the forum here, and the maths look right, but in my app they don’t come out at all with the right scale.  I have a feeling it’s something simple.  If you think you can help, look at the unproject() function in the included sample project and please post an answer!

Happy reality-augmenting,
Evan

http://openlabworkshops.org


7 responses to “ARToolKitPlus in Cinder”

  1. Hey there pp,

    I tried your openframeworks port which is a nice feat in itself. The patern recognition is a bit choppy tho, has it improved by using cinder ? Does it cope beter with pater inclination or lighting discrepancies ?

    Nice work all the same.

    Regards,

    Wicketman

    • It heavily depends on both the lighting and the camera you use. I’ve found the Kinect camera works very well vs. the built-in camera in my macbook pro. There are camera calibration files that can help that. It also depends on how shiny your paper is! If you print it using a laser printer it seems to work better than using an inkjet. Finally, your marker can’t bend, so use foam board or something flat and solid to mount the marker, and leave enough room for people’s fingers so they don’t obscure the marker border!

    • That’s a long answer… the 15-second response is that Cinder has a really nice architecture, it’s very well thought-out and designed by a few programmers who understand well what they’re doing. Generally, Cinder stuff works, because there is a central core of developers. OpenFrameworks is like a giant free-for-all experiment – sometimes you get good stuff, sometimes bad stuff, sometimes hacks, and very often things break when you upgrade or try other bits of code.

      I think don’t think either project is better, just Cinder is more production-grade while OpenFrameworks is more experimental and playful. Your results may vary… there are definitely some people using OF and doing some very high-end work.

  2. Hi! Did you manage to find out how to correcly place the object in the world using the coordinates from the ARToolkit modelView matrix ?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.