Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
loshjawrence's avatar
loshjawrence
Explorer
8 years ago

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

  • 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.. 
  • Does ORT (Vk) look right to you? Can you patch your change into ORT (Vk) and repro the problem?