Transformf FrameTimeManager::GetEyePredictionPose(ovrHmd hmd, ovrEyeType eye) { double eyeRenderTime = GetEyePredictionTime(eye); ovrSensorState eyeState = ovrHmd_GetSensorState(hmd, eyeRenderTime); // EyeRenderPoses[eye] = eyeState.Predicted.Pose; // Record view pose sampling time for Latency reporting. if (RenderIMUTimeSeconds == 0.0) RenderIMUTimeSeconds = eyeState.Recorded.TimeInSeconds; return eyeState.Predicted.Pose; }
Posef FrameTimeManager::GetEyePredictionPose(ovrHmd hmd, ovrEyeType eye) { double eyeRenderTime = GetEyePredictionTime(eye); ovrTrackingState eyeState = ovrHmd_GetTrackingState(hmd, eyeRenderTime); // Record view pose sampling time for Latency reporting. if (RenderIMUTimeSeconds == 0.0) { // TODO: Figure out why this are not as accurate as ovr_GetTimeInSeconds() //RenderIMUTimeSeconds = eyeState.RawSensorData.TimeInSeconds; RenderIMUTimeSeconds = ovr_GetTimeInSeconds(); } return eyeState.HeadPose.ThePose; }