]> git.tdb.fi Git - libs/vr.git/blobdiff - source/ovr/oculusriftdevice.cpp
Use matrices for eye offsets instead of a simple spacing
[libs/vr.git] / source / ovr / oculusriftdevice.cpp
index efc0cfaaf4d0baba5a43d64834c4b885ef70afc7..38fd20e68179d657cf05a7292818b2e038384c61 100644 (file)
@@ -59,7 +59,9 @@ void OculusRiftDevice::configure_view(StereoView &view) const
 {
        ovrEyeRenderDesc left_desc = ovrHmd_GetRenderDesc(priv->ovr_hmd, ovrEye_Left, priv->ovr_hmd->DefaultEyeFov[ovrEye_Left]);
        ovrEyeRenderDesc right_desc = ovrHmd_GetRenderDesc(priv->ovr_hmd, ovrEye_Right, priv->ovr_hmd->DefaultEyeFov[ovrEye_Left]);
 {
        ovrEyeRenderDesc left_desc = ovrHmd_GetRenderDesc(priv->ovr_hmd, ovrEye_Left, priv->ovr_hmd->DefaultEyeFov[ovrEye_Left]);
        ovrEyeRenderDesc right_desc = ovrHmd_GetRenderDesc(priv->ovr_hmd, ovrEye_Right, priv->ovr_hmd->DefaultEyeFov[ovrEye_Left]);
-       view.set_eye_spacing(left_desc.HmdToEyeViewOffset.x-right_desc.HmdToEyeViewOffset.x);
+       const ovrVector3f &l = left_desc.HmdToEyeViewOffset;
+       const ovrVector3f &r = right_desc.HmdToEyeViewOffset;
+       view.set_eye_matrices(GL::Matrix::translation(GL::Vector3(l.x, l.y, l.z)), GL::Matrix::translation(GL::Vector3(r.x, r.y, r.z)));
 }
 
 OculusRiftCamera *OculusRiftDevice::create_camera(const GL::Camera &bc)
 }
 
 OculusRiftCamera *OculusRiftDevice::create_camera(const GL::Camera &bc)