1 #include "oculusriftdevice.h"
2 #include "oculusriftdevice_private.h"
3 #include "stereoview.h"
10 unsigned OculusRiftDevice::n_instances = 0;
12 OculusRiftDevice::OculusRiftDevice():
19 priv->ovr_hmd = ovrHmd_Create(0);
23 throw runtime_error("rift hmd not found");
27 OculusRiftDevice::~OculusRiftDevice()
29 ovrHmd_Destroy(priv->ovr_hmd);
37 void OculusRiftDevice::configure_view(StereoView &view) const
39 ovrEyeRenderDesc left_desc = ovrHmd_GetRenderDesc(priv->ovr_hmd, ovrEye_Left, priv->ovr_hmd->DefaultEyeFov[ovrEye_Left]);
40 ovrEyeRenderDesc right_desc = ovrHmd_GetRenderDesc(priv->ovr_hmd, ovrEye_Right, priv->ovr_hmd->DefaultEyeFov[ovrEye_Left]);
41 view.set_eye_spacing(left_desc.HmdToEyeViewOffset.x-right_desc.HmdToEyeViewOffset.x);
44 OculusRiftCamera *OculusRiftDevice::create_camera(const GL::Camera &bc) const
46 return new OculusRiftCamera(*this, bc);
49 OculusRiftCombiner *OculusRiftDevice::create_combiner() const
51 return new OculusRiftCombiner(*this);