Augmented Reality

Any thoughts on implementing AR into OF?
I think this would definitely increase OF’s funtionality and area of application…

just a thought…:slight_smile:

Here’s the link to the library:

I dont really get this:


ARToolKit is made available freely for non-commercial use under the GNU General Public License. Commercial licenses to a professional implementation of ARToolKit are available for users for whom the GPL is not suitable, or who require a higher level of support, or who require customization or other specialist modifictions. Commercial licenses are administered by ARToolworks, Inc., Seattle, WA, USA.

I think this means that someone cant buy your work from you unless you get a commercial license. I really dont understand this if it is under the GPL. Maybe someone smarter than me can shed some light on this. Are there 2 versions of artoolkit?

Persons developing their software under an open source model are freely availed of the ARToolKit source code, and the ARToolKit open source project benefits in return from enhancements, bug reports, and external development ideas. Those persons developing under a proprietary source model, from whom the ARToolKit code base does not benefit through reciprocal openness, contribute financially instead.


I think you are right, as far as I understand there is the GPL version of Artoolkit you can use for non commercial purposes, but if you want to create a commercial app with it you have to but a license.

What I’m not clear about is whether you can create a commercial app with it if you release your source under the GPL. This is not always an option though.

This would make a good extension and probably wouldn’t take too much work…just time time time…

Regarding the GPL license, that’s strange. As I understand it you can release a commercial product using a GPL license, but you have to release your source code (also under GPL) as well. If they specify that their product is only GPL for non-commercial use I suppose you would have to abide by that though.


Commercial licenses to a professional implementation of ARToolKit are available for users for whom the GPL is not suitable

Actually I think this means you can release a commercial GPL product…but if you are not happy about releasing your product as GPL, then you have to get a commercial license.

Just quickly hooked up ARToolKitPlus ( the faster ARToolKit ) into OF.
It is not even nearly at the addon stage yet - but figured this would be useful for some people.–…

The OF app basically replicates the single marker demo in the ARToolKitPlus samples/ folder. It then draws some text at the location of the marker (As in the video).

You will need to print out a marker from the id-marker/BCH folder from the latest official download…-itplus.php . It shouldn’t matter which marker it is.

I imagine it would be pretty trivial to get it working with multiple markers (See the multi tracking demo in the samples/ folder ).


Hey Theo,

I have also been trying to use the ARTPlus with Visual C++ but has been giving me tonnes of errors. I tried downloading your package and still i have tonnes of errors. Do i still need to include the original ARToolkit from Washington? Coz i noticed you have a ARToolkitStatic in your package.

(I was missing the lib file)

Here’s what you need:

The ARToolKitPlus is not pre compiled. If you check the “bin” folder it is empty.

You need to go to the “build” folder and chose a folder for your compiler. They have folder for VS 2003 (VS.NET) and also VS 2005 (VC8.XP if I’m not mistaken).

There you will find a project file. Open and compile that project file. As result of that the “bin” folder will contain the .lib file. This is the lib file you need to LINK to your application so you can use ARTOOLKITPLUS.

here’s a file set up with multiple markers working if anyone’s interested. It was a little odd to put together, but it seems to work well:

it works with the examples that theo put together


I edited the beginning of this into the beginnings of an arToolkit manager class, although I couldnt come up with a good way to set width/height globals and whatnot:

Hey Zach,

Thats really helpful - thanks for posting this!
Nice to see the video of you and the crew - looks like a good team!

Strange though that you have to do that matrix stuff yourself for multi markers - and tracker->getModelViewMatrix doesn’t give you back a matrix for each marker.


no problem, haha, yeah they’re a lot of fun

on the getModelViewMatrix, I thought there should be an easier way too…

it’s possible there is, there’s a lot that I dont understand about artoolkit plus… I didn’t do a lot of research before hand, just dug into the code, but I couldnt find any functions to help deal with getting the model view from the tracker… it seemed like that only worked with one marker.



Anyone tried to do a demo with different window size and video grabber?
window 1024/768
vidgrabber 640/480

Im getting this result!
Maybe is something stupid that I dont know as a newbie that I am :slight_smile:




Artoolkit Plus is only for Windoze,
anyone got a working example with vanilla artools for mac os x,
(that’s all I can compile on my box),

looks like you do Varoudis,
can you share?


(all this started when someone in a max forum suggested I send a UDP packet from Artoolkit… sigh…)

not sure where you found that info… but theo posted code above with artoolkit plus for the mac, and then i posted some more directly above varoudis’ post, also mac. all of those links should still work

hope that helps


anyone managed to integrate the original ARtoolkit into OF yet? Been using ARtoolkitPlus and found that it doesn’t support VRML imports coz its a stripped down version of ARToolkit. Been toying with loading OBJ into OF but it seems that OF’s OBJ loader does not support large and complex OBJ files. Moreover, VRML supports animation too so I’m thinking of using the original ARToolkit instead.

Was just wondering the same thing, but why would you need ARToolKit for that? You just should add VRML, right? I’m going to try that…will let you know how that works out…

I also, need to do some augmented reality stuff for my grad project, and I would love to see ARToolkit in openFrameworks.

For my graduation project, I am creating a book that tells another story from the printed text when augmented reality is used. So, when the user turns a page, the computer needs to know what page is being looked at now.

Can also do it with color codes and just track color, but this time, I wouldn’t get the orientation of the “book” so the rendered models perspective would not match.

Anyways, thanks for the info so far :slight_smile:

hey guys,
So im trying to build this into a addon for 006. is there somthing special you are doing to include

#include “ARToolKitPlus/TrackerSingleMarkerImpl.h”

i get directory no found. It does work in the version that theo posted. Not sure whats up.


Hey Todd,

I tweaked the header search paths on the Edit Target Settings from



…/…/…/addons/ofxART/ARTKPLUS/include …/…/…/libs/poco/include

and all was happy. I don’t know if that’s really cricket or not though. [edit] It wouldn’t really help w/addon development going forward, but it’ll help I guess get you going until you figure out what’s up w/it

sick lib compiles. Is there a better way to do this?

Maybe it has something to do with how the projects were set up in 573 vs 6? When I look at the header search paths in the original ARToolKit app I see this:

…/…/…/libs/ARTKPLUS/include …/…/…/libs/fmodex/inc …/…/…/libs/openFrameworks/** …/…/…/libs/freeimage/include/** …/…/…/libs/freetype/include/** …/…/…/libs/GLee/include …/…/…/libs/rtAudio/include …/…/…/addons/ofxOsc/libs/oscpack/include//** …/…/…/addons/ofxOpenCv/libs/opencv/include

Mind you I still don’t really understand the search and include paths Xcode all that well so maybe this is perfectly normal, but it does look like it’s being included by hand in there. As an addon though, it shouldn’t need that tho, none of the other addon example apps have those. Looking around there’s lots of complaining about .h files not getting included in Xcode 3 and the answer that I’ve seen is “change your header search paths”, so I’m not sure.