I am trying to itnegrate QCAR's Vuforia with JPCT-AE and I am close to the perfect solution. I've read this post and I think I might have a similar problem.
So far I've edited ImageTargets native code so that nothing is rendered, only the modelview matrix is sent to my java code, with a proper 180 rotation on the X axis, like this:
const QCAR::TrackableResult* result = state.getTrackableResult(tIdx);
const QCAR::Trackable& trackable = result->getTrackable();
QCAR::Matrix44F modelViewMatrix = QCAR::Tool::convertPose2GLMatrix(result->getPose());
SampleUtils::rotatePoseMatrix(180.0f, 1.0f, 0, 0, &modelViewMatrix.data);
// Passing the ModelView matrix up to Java (cont.)
env->SetFloatArrayRegion(modelviewArray, 0, 16, modelViewMatrix.data);
env->CallVoidMethod(obj, method, modelviewArray);
I then use this matrix directly on my camera, and then I can see the object in place. At first the object moved a little bit if I moved the device, but then I sent FOV and FOVY, updated it on my engine so they match, and this movement was suppresed.
The problem now is, if I rotate the device "around" the pattern, the object moves slightly. It's not very much but it definitely does not behave like the native example you provide.
Where do you think the propblem might be? Maybe I missed some step?