diff --git a/src/ovr.cpp b/src/ovr.cpp index 7b3b701a1..194ba5edf 100644 --- a/src/ovr.cpp +++ b/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;