From e0a33f129c9a3c62673c879b66ab04ac46591f3d Mon Sep 17 00:00:00 2001 From: barnold1953 Date: Mon, 23 Jun 2014 15:55:54 -0700 Subject: [PATCH] Updated oculus initialization --- interface/src/devices/OculusManager.cpp | 33 ++++++++++--------------- interface/src/devices/OculusManager.h | 7 ++---- 2 files changed, 15 insertions(+), 25 deletions(-) diff --git a/interface/src/devices/OculusManager.cpp b/interface/src/devices/OculusManager.cpp index b2ee4e8c18..19c6a2b193 100644 --- a/interface/src/devices/OculusManager.cpp +++ b/interface/src/devices/OculusManager.cpp @@ -31,31 +31,25 @@ bool OculusManager::_isConnected = false; using namespace OVR; using namespace OVR::Util::Render; -Ptr OculusManager::_deviceManager; -Ptr OculusManager::_hmdDevice; -Ptr OculusManager::_sensorDevice; -SensorFusion* OculusManager::_sensorFusion; -StereoConfig OculusManager::_stereoConfig; +ovrHmd OculusManager::_ovrHmd; +ovrHmdDesc OculusManager::_ovrHmdDesc; + #endif void OculusManager::connect() { #ifdef HAVE_LIBOVR - System::Init(); - _deviceManager = *DeviceManager::Create(); - _hmdDevice = *_deviceManager->EnumerateDevices().CreateDevice(); + ovr_Initialize(); - if (_hmdDevice) { + _ovrHmd = ovrHmd_Create(0); + if (_ovrHmd) { _isConnected = true; - - _sensorDevice = *_hmdDevice->GetSensor(); - _sensorFusion = new SensorFusion; - _sensorFusion->AttachToSensor(_sensorDevice); - _sensorFusion->SetPredictionEnabled(true); + + ovrHmd_GetDesc(_ovrHmd, &_ovrHmdDesc); + + ovrHmd_StartSensor(_ovrHmd, ovrSensorCap_Orientation | ovrSensorCap_YawCorrection | + ovrSensorCap_Position | ovrHmdCap_LowPersistence, + ovrSensorCap_Orientation); - HMDInfo info; - _hmdDevice->GetDeviceInfo(&info); - _stereoConfig.SetHMDInfo(info); - _program.addShaderFromSourceFile(QGLShader::Fragment, Application::resourcesPath() + "shaders/oculus.frag"); _program.link(); @@ -66,8 +60,7 @@ void OculusManager::connect() { _scaleInLocation = _program.uniformLocation("scaleIn"); _hmdWarpParamLocation = _program.uniformLocation("hmdWarpParam"); } else { - _deviceManager.Clear(); - System::Destroy(); + ovr_Shutdown(); } #endif } diff --git a/interface/src/devices/OculusManager.h b/interface/src/devices/OculusManager.h index 21b9d67f4d..795fdde7ff 100644 --- a/interface/src/devices/OculusManager.h +++ b/interface/src/devices/OculusManager.h @@ -55,11 +55,8 @@ private: static bool _isConnected; #ifdef HAVE_LIBOVR - static OVR::Ptr _deviceManager; - static OVR::Ptr _hmdDevice; - static OVR::Ptr _sensorDevice; - static OVR::SensorFusion* _sensorFusion; - static OVR::Util::Render::StereoConfig _stereoConfig; + static ovrHmd _ovrHmd; + static ovrHmdDesc _ovrHmdDesc; #endif };