Просмотр исходного кода

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 лет назад
Родитель
Сommit
b54d33cdf7
1 измененных файлов с 7 добавлено и 0 удалено
  1. 7 0
      src/ovr.cpp

+ 7 - 0
src/ovr.cpp

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