コード例 #1
0
ファイル: OculusHelpers.cpp プロジェクト: SeijiEmery/hifi
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;
}
コード例 #2
0
bool OculusBaseDisplayPlugin::isSupported() const {
    return oculusAvailable();
}