- Sort Posts
- 4 replies
- Last post
Re: How can I transfer Matrix44F from ndk to java platform ?
June 11, 2012 - 2:22am #5
Re: How can I transfer Matrix44F from ndk to java platform ?
June 9, 2012 - 12:28am #3
Re: How can I transfer Matrix44F from ndk to java platform ?
April 2, 2012 - 9:51am #2
Use JNI calls to pass up the array. For example:
ImageTargetsRenderer.java
public void updateModelviewMatrix(float modelviewArray[]) { // do something with the array }
ImageTargets.cpp
Java_com_qualcomm_QCARSamples_ImageTargets_ImageTargetsRenderer_renderFrame(JNIEnv *env, jobject obj) { ... jclass javaClass = env->GetObjectClass(obj); jfloatArray modelviewArray = env->NewFloatArray(16); env->SetFloatArrayRegion(modelviewArray, 0, 16, modelViewMatrix.data); jmethodID method = env->GetMethodID(javaClass, "updateModelviewMatrix", "([F)V"); env->CallObjectMethod(obj, method, modelviewArray); env->DeleteLocalRef(modelviewArray); ... }
- Kim
Could you try:
env->CallVoidMethod(obj, method, modelviewArray);
instead of:
env->CallObjectMethod(obj, method, modelviewArray);
Not sure if that'll make a whole lot of difference...
Rob.