Kaynağa Gözat

Initialize Oculus pose after reset.

Without this change the pose is uninitialized during the first frame which causes Oculus timewarp to warp the output in crazy ways.
James Darpinian 10 yıl önce
ebeveyn
işleme
b54d33cdf7
1 değiştirilmiş dosya ile 7 ekleme ve 0 silme
  1. 7 0
      src/ovr.cpp

+ 7 - 0
src/ovr.cpp

@@ -175,6 +175,13 @@ ovrError:
 			m_texture[1].Header.RenderViewport = rect;
 			m_texture[1].Header.RenderViewport = rect;
 
 
 			m_timing = ovrHmd_BeginFrame(m_hmd, 0);
 			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
 		}
 		}
 	}
 	}