void OculusHeadRotation::predict(GVRActivity& gvrActivity, const ovrFrameParms& frameParms, const float time) { if (docked_) { ovrMobile* ovr = gvrActivity.getOculusContext(); ovrTracking tracking = vrapi_GetPredictedTracking(ovr, vrapi_GetPredictedDisplayTime(ovr, frameParms.FrameIndex)); tracking = vrapi_ApplyHeadModel(gvrActivity.getOculusHeadModelParms(), &tracking); const ovrQuatf& orientation = tracking.HeadPose.Pose.Orientation; glm::quat quat(orientation.w, orientation.x, orientation.y, orientation.z); gvrActivity.cameraRig_->setRotation(glm::conjugate(glm::inverse(quat))); } else if (nullptr != gvrActivity.cameraRig_) { gvrActivity.cameraRig_->predict(time); } else { gvrActivity.cameraRig_->setRotation(glm::quat()); } }
JNIEXPORT void JNICALL Java_org_gearvrf_VrapiActivityHandler_nativeUninitializeVrApi(JNIEnv * jni, jclass clazz, jlong appPtr) { GVRActivity *activity = reinterpret_cast<GVRActivity*>(appPtr); activity->uninitializeVrApi(); }
JNIEXPORT void JNICALL Java_org_gearvrf_VrapiActivityHandler_nativeOnDrawFrame(JNIEnv * jni, jclass clazz, jlong appPtr) { GVRActivity *activity = reinterpret_cast<GVRActivity*>(appPtr); activity->onDrawFrame(); }
JNIEXPORT void JNICALL Java_org_gearvrf_VrapiActivityHandler_nativeShowConfirmQuit(JNIEnv * jni, jclass clazz, jlong appPtr) { GVRActivity *activity = reinterpret_cast<GVRActivity*>(appPtr); activity->showConfirmQuit(); }
JNIEXPORT void JNICALL Java_org_gearvrf_GVRActivityNative_setCameraRig(JNIEnv * jni, jclass clazz, jlong appPtr, jlong cameraRig) { GVRActivity *activity = reinterpret_cast<GVRActivity*>(appPtr); activity->setCameraRig(cameraRig); }
JNIEXPORT void JNICALL Java_org_gearvrf_VrapiActivityHandler_nativeOnSurfaceChanged(JNIEnv * jni, jclass clazz, jlong appPtr) { GVRActivity *activity = reinterpret_cast<GVRActivity*>(appPtr); activity->onSurfaceChanged(*jni); }
JNIEXPORT jint JNICALL Java_org_gearvrf_OvrVrapiActivityHandler_nativeInitializeVrApi(JNIEnv * jni, jclass clazz, jlong appPtr) { GVRActivity *activity = reinterpret_cast<GVRActivity*>(appPtr); return activity->initializeVrApi(); }
JNIEXPORT void JNICALL Java_org_gearvrf_OvrViewManager_drawEyes(JNIEnv * jni, jobject jViewManager, jlong appPtr) { GVRActivity *activity = reinterpret_cast<GVRActivity*>(appPtr); activity->onDrawFrame(jViewManager); }
JNIEXPORT void JNICALL Java_org_gearvrf_OvrVrapiActivityHandler_nativeLeaveVrMode(JNIEnv * jni, jclass clazz, jlong appPtr) { GVRActivity *activity = reinterpret_cast<GVRActivity*>(appPtr); activity->leaveVrMode(); }
JNIEXPORT long JNICALL Java_org_gearvrf_OvrViewManager_getRenderTextureInfo(JNIEnv* jni, jclass clazz, jlong jactivity , jint index, jint eye){ GVRActivity* gvrActivity = reinterpret_cast<GVRActivity*>(jactivity); return reinterpret_cast<long>(gvrActivity->getRenderTextureInfo(eye, index)); }
void Java_org_gearvrf_GVRActivity_nativeSetCameraRig( JNIEnv * jni, jclass clazz, jlong appPtr, jlong cameraRig) { GVRActivity *activity = (GVRActivity*)((OVR::App *)appPtr)->GetAppInterface(); activity->setCameraRig(cameraRig); }