void GuardianSystemDemo::UpdateBoundaryLookAndFeel() { if ((uint32_t)mGlobalTimeSec % 2 == 1) { ovrBoundaryLookAndFeel lookAndFeel = {}; lookAndFeel.Color = { randColor(), randColor(), randColor(), 1.0f }; ovr_SetBoundaryLookAndFeel(mSession, &lookAndFeel); ovr_RequestBoundaryVisible(mSession, ovrTrue); } else { ovr_ResetBoundaryLookAndFeel(mSession); ovr_RequestBoundaryVisible(mSession, ovrFalse); } }
void VR::init() { #if defined(_OVR_) ovrInitParams initParams = { ovrInit_RequestVersion, OVR_MINOR_VERSION, NULL, 0, 0 }; ovrResult result = ovr_Initialize(&initParams); if (OVR_FAILURE(result)) { ovrErrorInfo errorInfo; ovr_GetLastErrorInfo(&errorInfo); Log(L"ovr_Initialize failed: " << errorInfo.ErrorString << endl); Error(L"ovr_Initialize failed"); return; } Log("LibOVR initialized ok!" << endl); result = ovr_Create(&session, &luid); if (OVR_FAILURE(result)) { ovr_Shutdown(); Error(L"No Oculus Rift detected. Cannot run in OVR mode without Oculus Rift device."); return; } desc = ovr_GetHmdDesc(session); resolution = desc.Resolution; // Start the sensor which provides the Rift’s pose and motion. /* result = ovr_ConfigureTracking(session, ovrTrackingCap_Orientation | ovrTrackingCap_MagYawCorrection | ovrTrackingCap_Position, 0); if (OVR_FAILURE(result)) Error(L"Could not enable Oculus Rift Tracking. Cannot run in OVR mode without Oculus Rift tracking."); */ // Setup VR components, filling out description eyeRenderDesc[0] = ovr_GetRenderDesc(session, ovrEye_Left, desc.DefaultEyeFov[0]); eyeRenderDesc[1] = ovr_GetRenderDesc(session, ovrEye_Right, desc.DefaultEyeFov[1]); nextTracking(); // tracking setup complete, now init rendering: // Configure Stereo settings. Sizei recommenedTex0Size = ovr_GetFovTextureSize(session, ovrEye_Left, desc.DefaultEyeFov[0], 1.0f); Sizei recommenedTex1Size = ovr_GetFovTextureSize(session, ovrEye_Right, desc.DefaultEyeFov[1], 1.0f); buffersize_width = recommenedTex0Size.w + recommenedTex1Size.w; buffersize_height = max(recommenedTex0Size.h, recommenedTex1Size.h); result = ovr_RequestBoundaryVisible(session, ovrTrue); if (OVR_FAILURE(result)) { Log(L"Oculus Boundary system inactive."); } else { Log(L"Oculus Boundary system activated!!"); } #endif }