Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
jerryoconnor's avatar
jerryoconnor
Honored Guest
7 years ago

Misalignment of left and right eye images

I am converting an existing DirectX12 application to use the Oculus Rift.  I've taken the "OculusRoomTiny (DX12)" example as a starting point.  I've been able to get this 99% right, but one there is just one issue I can't get working.  When looking at the scene through the headset, the images do not converge.  In other words, I see two different images, instead of one 3D image.  If I close one eye, everything looks correct, and all the tracking works as expected.  I've even tried sending the same image to both eyes, but the effect is the same.  I'm pretty certain that this has to do with how the sdk renders the two eye images into the final single texture for the headset.  No matter what I do, the images seem to diverge with distance rather than to converge.  In other words, instead of a single vanishing point, with parallel lines converging toward the center, the lines get farther apart with distance.  I thought this might have to do with the fact that I am using a Left handed system, however the issue is the same even when both eyes use the same image, so it must not have to do with how the matrix is generated for each image, but rather something that occurs after that.

I imagine this must be a common problem that others have had.  I've tried searching the docs, and the forum, but haven't had any luck.
  I would greatly appreciate any help.

I should point out, that the hardware is fine.  The demos all work as expected etc.

Thanks,

1 Reply

  • Actually, I've figured this out.  The problem was that the left and right eye were being reversed.  I was using my existing render function, and then copying that into the eye texture.  The problem occurred in that my render function was incrementing the swap buffer when it finished the frame, so when I copied it, I was actually getting the previous frame from the circular buffer.  I suspected this early on, but was confused by the fact that the problem persisted even when I used the same image for both eyes.  I suspect this has to do with the warping of the image.  I think if I had changed the FOV etc, the single image would have worked.