   AR and artoolkitplus
  Hy.I'm still creating a Augmented reality applicationI must understand what is the matrix that these library return from the detected marker, at what must be apply these matrix ?at the solid or mesh that must be visualized on the marker?Is possible that the matrix move,rotate and scale the mesh to go on the marker?I use opengl and vbo (i cant use direct mode) with a class that encapsulate the triangles (a trimesh), and  there is a function that apply gl matrix for rotation , translation and scale.i must use it?I'm not understand if i must rotate the camera or each markerthanks.   
Quote:I must understand what is the matrix that these library return from the detected marker, at what must be apply these matrix ?at the solid or mesh that must be visualized on the marker?Is possible that the matrix move,rotate and scale the mesh to go on the marker?It is simply the estimated pose of the marker in world space. You can take the matrix, do a glLoadMatrix(markerMatrix), draw your object, and it should draw on top of the marker with correct position and orientation. It does not affect the scale of the object, unless you mean the perceived scale as you move the marker close and further from the camera. Some things to watch out for: The default origin of the marker is in the center and resting on the "plane" of the marker. So if you have a ball and you want it to look like it is resting on top of the marker, you may need to offset it by the radius of the ball. Otherwise it will look like the marker is bisecting the ball.Make sure you scale your objects properly. I think the default unit is in centimeters. That means if you have a 5 centimeter marker and you want your ball to fit on the marker, make sure the diameter is 5.0 "units" or less.All of these things are configurable, so I am assuming a default configuration here. Your results may vary.   ;  thanks , but i'm use opengl with shaders and vbo , i can use glLoadMatrix(markerMatrix)?if yes where i must place it?then the matrix is for the object and not for the camera?Thanks.   ;  There is really no distinction between transforming the camera or the model. One is just the inverse of the other. Your code should look something like:while(running)    for each marker   pose = getPose(marker)   glPushMatrix()   glLoadMatrix(pose)   drawModel(model)   glPopMatrix()If you find that the pose is the camera, just take the inverse of the matrix and load that instead. It's been a while so I don't remember which it uses. And yes you can use glLoadMatrix irregardless of how you are rendering the object. glLoadMatrix replaces the calls to glTranslate, glRotate, and glScale.   