diff --git a/interface/src/devices/OculusManager.cpp b/interface/src/devices/OculusManager.cpp index 19111f62c9..038b7ea8f5 100644 --- a/interface/src/devices/OculusManager.cpp +++ b/interface/src/devices/OculusManager.cpp @@ -20,6 +20,8 @@ #include "Application.h" +#ifdef HAVE_LIBOVR + using namespace OVR; ProgramObject OculusManager::_program; @@ -35,8 +37,6 @@ int OculusManager::_texCoord1AttributeLocation; int OculusManager::_texCoord2AttributeLocation; bool OculusManager::_isConnected = false; -#ifdef HAVE_LIBOVR - ovrHmd OculusManager::_ovrHmd; ovrHmdDesc OculusManager::_ovrHmdDesc; ovrFovPort OculusManager::_eyeFov[ovrEye_Count]; @@ -127,6 +127,7 @@ void OculusManager::connect() { //Disconnects and deallocates the OR void OculusManager::disconnect() { +#ifdef HAVE_LIBOVR if (_isConnected) { _isConnected = false; ovrHmd_Destroy(_ovrHmd); @@ -144,10 +145,12 @@ void OculusManager::disconnect() { } } } +#endif } -void OculusManager::generateDistortionMesh() { #ifdef HAVE_LIBOVR +void OculusManager::generateDistortionMesh() { + //Check if we already have the distortion mesh if (_vertices[0] != 0) { printf("WARNING: Tried to generate Oculus distortion mesh twice without freeing the VBOs."); @@ -206,8 +209,9 @@ void OculusManager::generateDistortionMesh() { OVR_FREE(pVBVerts); ovrHmd_DestroyDistortionMesh(&meshData); } -#endif + } +#endif bool OculusManager::isConnected() { #ifdef HAVE_LIBOVR @@ -347,6 +351,7 @@ void OculusManager::display(const glm::quat &bodyOrientation, const glm::vec3 &p #endif } +#ifdef HAVE_LIBOVR void OculusManager::renderDistortionMesh(ovrPosef eyeRenderPose[ovrEye_Count]) { glLoadIdentity(); @@ -409,6 +414,7 @@ void OculusManager::renderDistortionMesh(ovrPosef eyeRenderPose[ovrEye_Count]) { _program.release(); glBindBuffer(GL_ARRAY_BUFFER, 0); } +#endif //Tries to reconnect to the sensors void OculusManager::reset() { diff --git a/interface/src/devices/OculusManager.h b/interface/src/devices/OculusManager.h index 506d1c3e92..7798875c2c 100644 --- a/interface/src/devices/OculusManager.h +++ b/interface/src/devices/OculusManager.h @@ -15,9 +15,8 @@ #ifdef HAVE_LIBOVR #include -#endif - #include "../src/Util/Util_Render_Stereo.h" +#endif #include "renderer/ProgramObject.h" @@ -44,6 +43,7 @@ public: static QSize getRenderTargetSize(); private: +#ifdef HAVE_LIBOVR static void generateDistortionMesh(); static void renderDistortionMesh(ovrPosef eyeRenderPose[ovrEye_Count]); @@ -76,7 +76,6 @@ private: static bool _isConnected; -#ifdef HAVE_LIBOVR static ovrHmd _ovrHmd; static ovrHmdDesc _ovrHmdDesc; static ovrFovPort _eyeFov[ovrEye_Count];