Integración de jPCT con Vuforia / SDK de QCAR

Tengo problema usar Vuforia con jPCT.

He pasado con éxito el modelViewMatrix del código nativo de Vuforia

 QCAR::Matrix44F modelViewMatrix = QCAR::Tool::convertPose2GLMatrix(imageResult->getPose()) 

A Java

Y entonces intento fijar la matriz de la cámara de jPCT.

 public void setCameraMatrix(float[] modelViewMatrixFromVuforia) { float x = modelViewMatrixFromVuforia[12]; float y = modelViewMatrixFromVuforia[13]; float z = modelViewMatrixFromVuforia[14]; modelViewMatrixFromVuforia[12] = 0; modelViewMatrixFromVuforia[13] = 0; modelViewMatrixFromVuforia[14] = 0; Matrix cameraMatrix = new Matrix(); cameraMatrix.setDump(modelViewMatrixFromVuforia); cameraMatrix = cameraMatrix.invert(); camera.setBack(cameraMatrix); camera.setPosition(x, y, z); } 

Pero el Objeto 3D no está siendo rastreado correctamente. ¿Qué he extrañado?

Estoy usando esto y funciona perfectamente:

 private Matrix mMatrix = new Matrix(); ... mMatrix.setDump(modelViewMatrixFromVuforia); // float[16] sent from native code mCamera.setBack(mMatrix); 

Pero hay que girar la matriz 180 grados alrededor del eje X antes de enviarla a Java para que coincida con el sistema de coordenadas de Vuforia a jPCT.

Hacer la rotación en los códigos nativos de la siguiente manera:

 SampleUtils::rotatePoseMatrix(180.0f, 1.0f, 0, 0, &modelViewMatrix.data[0]); 
  • AndroidGameView + GC_MINOR
  • Cargador de archivos Android OpenGL .OBJ
  • Guardar textura 2D en un png en Android OpenGL ES
  • Detectar los toques del usuario sobre un cuadrado OpenGL
  • Grabación de vídeo en pantalla de Android
  • Libgdx: SpriteBatch, shader de fragmentos en dispositivos Samsung Android funcionan incorrectamente
  • Diferencia en iOS OpenGl ES y Android OpenGl Es
  • Está llamando libgdx SpriteBatch método de inicio y fin varias veces caro?
  • ¿Cómo puedo encontrar el tamaño máximo de textura para diferentes teléfonos?
  • Android SIGSEGV al dibujar ruta mediante aceleración de hardware
  • Consejos para mejorar la tasa de llenado de OpenGL ES en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.