1 #include "oculusriftdevice.h"
2 #include "oculusriftdevice_private.h"
9 OculusRiftDevice::OculusRiftDevice():
12 static OVR::System system(OVR::Log::ConfigureDefaultLog(OVR::LogMask_Debug));
14 priv->ovr_manager = OVR::DeviceManager::Create();
15 priv->ovr_hmd = priv->ovr_manager->EnumerateDevices<OVR::HMDDevice>().CreateDevice();
19 throw runtime_error("rift hmd not found");
23 OculusRiftDevice::~OculusRiftDevice()
28 OculusRiftCamera *OculusRiftDevice::create_camera(const GL::Camera &bc) const
30 return new OculusRiftCamera(*this, bc);
33 OculusRiftCombiner *OculusRiftDevice::create_combiner() const
35 OculusRiftCombiner *combiner = new OculusRiftCombiner;
38 if(!priv->ovr_hmd->GetDeviceInfo(&info))
40 combiner->set_view_distance(info.EyeToScreenDistance/info.HScreenSize);
41 combiner->set_lens_separation(info.LensSeparationDistance/info.HScreenSize);
42 combiner->set_distortion(info.DistortionK[0], info.DistortionK[1], info.DistortionK[2], info.DistortionK[3]);
43 combiner->set_red_aberration(info.ChromaAbCorrection[0], info.ChromaAbCorrection[1]);
44 combiner->set_blue_aberration(info.ChromaAbCorrection[2], info.ChromaAbCorrection[3]);