Timewarp broken in 1.35.0 ?
Hi,
I currently have two games published on Steam since some months, recently people updated to 1.35 and complained "everything does not work any more", the camera/tracking becomes all jittery/erratic and looks like "watching through a wobbly pudding".
After re-compiling everything, upgrading the firmware/etc. I see exactly the same they see.
I manage to track down the problem and seems this happens when I enable, in my code, the Timewarp feature.
Now the difference with/without it, is minimal, visually "none", in code, little.
My code more or less does "about the same" that is doing in OculusRoomTiny with the differences :
1. I use the "waitframe" method
2. I use FSAA ( so I have some more texture to resolve in )
The almost only differences between timewarp/non timewarp are that when I call :
p = ovrMatrix4f_Projection(eyeRenderDesc[eyeIndex].Fov, zNear, zFar, ovrProjection_None);
there's also an
#ifdef DO_TIMEWARP
posTimewarpProjectionDesc = ovrTimewarpProjectionDesc_FromProjection(p, ovrProjection_None);
proj = Matrix4(p);
#endif
and a bit later on :
#ifndef DO_TIMEWARP
ovrLayerEyeFov ld = {};
ld.Header.Type = ovrLayerType_EyeFov;
ld.Header.Flags = 0;
#else
ovrLayerEyeFovDepth ld = {};
ld.Header.Type = ovrLayerType_EyeFovDepth;
ld.Header.Flags = 0;
ld.ProjectionDesc = posTimewarpProjectionDesc;
ld.SensorSampleTime = sensorSampleTime;
#endif
For the rest "the main cycle is the same", it was all working before this latest update now it doesn't.
Any suggestions what I should look at ?
Thanks in advance.
I currently have two games published on Steam since some months, recently people updated to 1.35 and complained "everything does not work any more", the camera/tracking becomes all jittery/erratic and looks like "watching through a wobbly pudding".
After re-compiling everything, upgrading the firmware/etc. I see exactly the same they see.
I manage to track down the problem and seems this happens when I enable, in my code, the Timewarp feature.
Now the difference with/without it, is minimal, visually "none", in code, little.
My code more or less does "about the same" that is doing in OculusRoomTiny with the differences :
1. I use the "waitframe" method
2. I use FSAA ( so I have some more texture to resolve in )
The almost only differences between timewarp/non timewarp are that when I call :
p = ovrMatrix4f_Projection(eyeRenderDesc[eyeIndex].Fov, zNear, zFar, ovrProjection_None);
there's also an
#ifdef DO_TIMEWARP
posTimewarpProjectionDesc = ovrTimewarpProjectionDesc_FromProjection(p, ovrProjection_None);
proj = Matrix4(p);
#endif
and a bit later on :
#ifndef DO_TIMEWARP
ovrLayerEyeFov ld = {};
ld.Header.Type = ovrLayerType_EyeFov;
ld.Header.Flags = 0;
#else
ovrLayerEyeFovDepth ld = {};
ld.Header.Type = ovrLayerType_EyeFovDepth;
ld.Header.Flags = 0;
ld.ProjectionDesc = posTimewarpProjectionDesc;
ld.SensorSampleTime = sensorSampleTime;
#endif
For the rest "the main cycle is the same", it was all working before this latest update now it doesn't.
Any suggestions what I should look at ?
Thanks in advance.
