JPCT-AE経由でモデルをレンダリングし、ARToolkitを使用してARアプリケーションを実現したい。
そのため、以下のコードを ARToolkit プロジェクトに挿入します。
Matrix projMatrix = new Matrix();
projMatrix.setDump(ARNativeActivity.getProjectM());
projMatrix.transformToGL();
SimpleVector translation = projMatrix.getTranslation();
SimpleVector dir = projMatrix.getZAxis();
SimpleVector up = projMatrix.getYAxis();
cameraController.setPosition(translation);
cameraController.setOrientation(dir, up);
Matrix transformM = new Matrix();
transformM .setDump(ARNativeActivity.getTransformationM());
transformM .transformToGL();
model.clearTranslation();
model.translate(transformM .getTranslation());
dump.setRow(3,0.0f,0.0f,0.0f,1.0f);
model.clearRotation();
model.setRotationMatrix(transformM );
そして、モデルは画面上にレンダリングできますが、常に画面内のマーク上にあります。
実際、ARToolkit::ARNativeActivity.getTransformationMatrix() からのマトリックス出力は正しいので、この 4*4Matrix を変換マトリックスと回転マトリックスに分割し、次のようにモデルに設定します。
model.translate(transformM .getTranslation());
model.setRotationMatrix(transformM );
しかし、まだ仕事はありません。