ovrSession acquireOculusSession() { if (!session && !oculusAvailable()) { qCDebug(oculus) << "oculus: no runtime or HMD present"; return session; } if (!session) { ovrInitParams initParams { ovrInit_RequestVersion | ovrInit_MixedRendering, OVR_MINOR_VERSION, nullptr, 0, 0 }; if (!OVR_SUCCESS(ovr_Initialize(&initParams))) { logWarning("Failed to initialize Oculus SDK"); return session; } #ifdef OCULUS_APP_ID if (qApp->property(hifi::properties::OCULUS_STORE).toBool()) { if (ovr_PlatformInitializeWindows(OCULUS_APP_ID) != ovrPlatformInitialize_Success) { // we were unable to initialize the platform for entitlement check - fail the check _quitRequested = true; } else { qCDebug(oculus) << "Performing Oculus Platform entitlement check"; ovr_Entitlement_GetIsViewerEntitled(); } } #endif Q_ASSERT(0 == refCount); ovrGraphicsLuid luid; if (!OVR_SUCCESS(ovr_Create(&session, &luid))) { logWarning("Failed to acquire Oculus session"); return session; } } ++refCount; return session; }
bool OculusBaseDisplayPlugin::isSupported() const { return oculusAvailable(); }