1

**Support / integrating JPCT-ae with QCAR(vuforia)**

« **on:**October 18, 2012, 03:27:11 pm »

Hi All

i know what i am going to ask is already discussed sometimes in this forum but after going through all of them i can't found my complete answer so i am asking it in a new thread.

when i tried integrating JPCT with QCAR all goes well as expected, i got my modelview matrix from renderframe from jni and successfully transferred that in java to jpct model is shown perfectly as expected. but when i tried to pass this matrix to JPCT world camera my model disappear.

my code:in onsurfacechanged:

and in ondraw:

after some research i found that QCAR uses a right-handed coordinate system meaning that the X positive goes right, the Y positive goes up and the Z positive comes out of screen but in JPCT coordinate system the X positive goes right, the Y positive goes down and the Z positive goes into the screen.

so please suggest me what i am missing here?

i know what i am going to ask is already discussed sometimes in this forum but after going through all of them i can't found my complete answer so i am asking it in a new thread.

when i tried integrating JPCT with QCAR all goes well as expected, i got my modelview matrix from renderframe from jni and successfully transferred that in java to jpct model is shown perfectly as expected. but when i tried to pass this matrix to JPCT world camera my model disappear.

my code:in onsurfacechanged:

Code: [Select]

`world = new World();`

world.setAmbientLight(20, 20, 20);

sun = new Light(world);

sun.setIntensity(250, 250, 250);

cube = Primitives.getCube(1);

cube.calcTextureWrapSpherical();

cube.strip();

cube.build();

world.addObject(cube);

cam = world.getCamera();

cam.moveCamera(Camera.CAMERA_MOVEOUT, 10);

cam.lookAt(cube.getTransformedCenter());

SimpleVector sv = new SimpleVector();

sv.set(cube.getTransformedCenter());

sv.y -= 100;

sv.z -= 100;

sun.setPosition(sv);

MemoryHelper.compact();

and in ondraw:

Code: [Select]

`com.threed.jpct.Matrix mResult = new com.threed.jpct.Matrix();`

mResult.setDump(modelviewMatrix ); //modelviewMatrix i get from Qcar

cube.setRotationMatrix(mResult);

cam.setBack(mResult);

fb.clear(back);

world.renderScene(fb);

world.draw(fb);

fb.display();

after some research i found that QCAR uses a right-handed coordinate system meaning that the X positive goes right, the Y positive goes up and the Z positive comes out of screen but in JPCT coordinate system the X positive goes right, the Y positive goes down and the Z positive goes into the screen.

so please suggest me what i am missing here?