X-Git-Url: http://git.tdb.fi/?p=libs%2Fvr.git;a=blobdiff_plain;f=source%2Foculusriftcamera.cpp;h=0eede270de864b92f17bf18031c0d012cf2b1a65;hp=33ed07f261dc35180b5a0dc88727f6ea0be6782e;hb=8d1197440f07062a1020d902619ae8e9a494baa0;hpb=a6b7e23d5d47c37284480651a9686be01f28a82a diff --git a/source/oculusriftcamera.cpp b/source/oculusriftcamera.cpp index 33ed07f..0eede27 100644 --- a/source/oculusriftcamera.cpp +++ b/source/oculusriftcamera.cpp @@ -9,9 +9,8 @@ OculusRiftCamera::OculusRiftCamera(const OculusRiftDevice &d, const GL::Camera & device(d), base_camera(c) { - const OculusRiftDevice::Private &dev_priv = device.get_private(); unsigned supported = ovrTrackingCap_Orientation|ovrTrackingCap_MagYawCorrection|ovrTrackingCap_Position; - ovrHmd_ConfigureTracking(dev_priv.ovr_hmd, supported, 0); + ovrHmd_ConfigureTracking(device.get_private().ovr_hmd, supported, 0); } void OculusRiftCamera::reset_tracking() @@ -21,7 +20,13 @@ void OculusRiftCamera::reset_tracking() void OculusRiftCamera::update() { - ovrTrackingState state = ovrHmd_GetTrackingState(device.get_private().ovr_hmd, ovr_GetTimeInSeconds()); + double time; + if(device.is_timing_active()) + time = device.get_tracking_time(); + else + time = device.get_current_time(); + + ovrTrackingState state = ovrHmd_GetTrackingState(device.get_private().ovr_hmd, time); OVR::Posef head_pose = state.HeadPose.ThePose; OVR::Matrix4f tracking_matrix(head_pose.Rotation); OVR::Vector3f trans = head_pose.Translation;