03-27-2018 09:50 AM
while(1)
{
ovr_WaitToBeginFrame();
OVR_CHECK( ovr_GetTextureSwapChainCurrentIndex(gg.Oculus.Session, gg.Oculus.Swapchains[0], &gg.Oculus.SwapchainFrameIndex) );
ovrEyeRenderDesc* EyeRenderDescs = gg.Oculus.EyeRenderDescs;
ovrPosef HmdToEyePose[2] = { EyeRenderDescs[0].HmdToEyePose, EyeRenderDescs[1].HmdToEyePose };
double DisplayMidpointInSeconds = ovr_GetPredictedDisplayTime(Session, 0);
ovrInputState InputState; ovrTrackingState TrackState;
TrackState = ovr_GetTrackingState(Session, DisplayMidpointInSeconds, ovrTrue); OVR_CHECK( ovr_GetInputState(Session, ovrControllerType_Touch, &InputState) );
ovrPosef* EyeRenderPose = gg.Oculus.EyeRenderPose;
ovr_GetEyePoses(Session, 0, ovrTrue, HmdToEyePose, EyeRenderPose, &gg.Oculus.SensorSampleTime);
ovr_BeginFrame();
APP_RenderSceneForBothEyes();
forii(2) { OVR_CHECK( ovr_CommitTextureSwapChain(gg.Oculus.Session, gg.Oculus.Swapchains[ii]) ); }
// Initialize our single full screen Fov layer. ovrLayerEyeFov ld = {}; ld.Header.Type = ovrLayerType_EyeFov; // ld.Header.Flags = ovrLayerFlag_HighQuality;
forii(2) { ld.ColorTexture[ii] = gg.Oculus.Swapchains[ii]; ld.Viewport[ii] = gg.Oculus.EyeRenderViewports[ii]; ld.Fov[ii] = gg.Oculus.HMD.DefaultEyeFov[ii]; ld.RenderPose[ii] = gg.Oculus.EyeRenderPose[ii]; ld.SensorSampleTime = gg.Oculus.SensorSampleTime; }
ovrLayerHeader* Layers = &ld.Header;
APP_Present();
OVR_CHECK( ovr_EndFrame(Session, 0, nullptr, &Layers, 1) );
}
03-30-2018 05:09 PM
12-20-2019 09:43 AM
onatto said:
Sorry, the problem seems to be on my end, I'm getting random GPU spikes for the same amount of work.