Browse Source

Update OVR pose.

Branimir Karadžić 10 years ago
parent
commit
12998fe580
1 changed files with 11 additions and 10 deletions
  1. 11 10
      src/ovr.cpp

+ 11 - 10
src/ovr.cpp

@@ -203,10 +203,18 @@ ovrError:
 			m_warning = !ovrHmd_DismissHSWDisplay(m_hmd);
 		}
 
-		getEyePose(_hmd);
-
 		m_timing = ovrHmd_BeginFrame(m_hmd, 0);
 
+#if OVR_VERSION > OVR_VERSION_042
+		m_pose[0] = ovrHmd_GetHmdPosePerEye(m_hmd, ovrEye_Left);
+		m_pose[1] = ovrHmd_GetHmdPosePerEye(m_hmd, ovrEye_Right);
+#else
+		m_pose[0] = ovrHmd_GetEyePose(m_hmd, ovrEye_Left);
+		m_pose[1] = ovrHmd_GetEyePose(m_hmd, ovrEye_Right);
+#endif // OVR_VERSION > OVR_VERSION_042
+
+		getEyePose(_hmd);
+
 		return true;
 	}
 
@@ -222,16 +230,9 @@ ovrError:
 	{
 		if (NULL != m_hmd)
 		{
-			ovrEyeType eye[2] = { ovrEye_Left, ovrEye_Right };
 			for (int ii = 0; ii < 2; ++ii)
 			{
-				ovrPosef& pose = m_pose[ii];
-#if OVR_VERSION > OVR_VERSION_042
-				pose = ovrHmd_GetHmdPosePerEye(m_hmd, eye[ii]);
-#else
-				pose = ovrHmd_GetEyePose(m_hmd, eye[ii]);
-#endif // OVR_VERSION > OVR_VERSION_042
-
+				const ovrPosef& pose = m_pose[ii];
 				HMD::Eye& eye = _hmd.eye[ii];
 				eye.rotation[0] = pose.Orientation.x;
 				eye.rotation[1] = pose.Orientation.y;