Skip to main content
New Participant
December 11, 2017

warping issues (not ATW, ASW)

I'm having issues with porting a vulkan renderer into ovr where it looks as if the view matrices aren't orthonormal, so it seems to be warping/shearing the geometry. For example, if I look up the world squishes a little along the world y. I'm pretty much using the tinyroomVk example code verbatim to calculate the view matrices per frame. The proj matrices are recorded on startup so they are not
updated every frame like the tiny room example.

for example I'm using this per frame to get the view matrices
Matrix4f finalRollPitchYaw = rollPitchYaw * Matrix4f(eyeRenderPose[ovrEye_Left].Orientation);
Vector3f finalUp = finalRollPitchYaw.Transform(Vector3f(0, 1, 0));
Vector3f finalForward = finalRollPitchYaw.Transform(Vector3f(0, 0, -1));
Vector3f shiftedEyePos = playerPos + rollPitchYaw.Transform(eyeRenderPose[ovrEye_Left].Position);
Matrix4f viewLeft = Matrix4f::LookAtRH(shiftedEyePos, shiftedEyePos + finalForward, finalUp);


I call 
ovr_GetEyePoses(session, frameIndex, ovrTrue, HmdToEyePose, eyeRenderPose, &sensorSampleTime);
at the top of the render loop to get the predicted poses and record it in the ovrLayerEyeFov which gets passed to submit frame at the end of the render loop.

    2 replies

    New Participant
    December 11, 2017
    I didn't see any flags go up when I did an orthonormal check on the view matrices that are calculated from the sample code. Not sure what else I should be looking for the solve this.. 
    Participant
    December 13, 2017
    Does ORT (Vk) look right to you? Can you patch your change into ORT (Vk) and repro the problem?