-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rotate eyes properly for direct mode #58
base: master
Are you sure you want to change the base?
Conversation
EDITED: WVR2 eye transforms are fixed now. Folks please test with whatever headset(s) you have. |
a9fad1e
to
93f1137
Compare
So if I remember correctly only the LG 360 actually has the hack with the rotated projection matrix. This PR extracts the display rotation from that rotated projection matrix. There is also an example for the WVR2 that sets the rotation directly. More rotations that could be hardcoded can be found in monado https://gitlab.freedesktop.org/monado/monado/-/blob/master/src/xrt/drivers/ohmd/oh_device.c#L307 One thing that should be improved is to clarify whether left rotation means the display is physically built into the HMD rotated to the left and the software should render everything rotated to the right to compensate; or whether left rotation means that we just want to rotate the rendering to the left. |
A reminder that the DK2 has the same quirk as WVR2. How do we want to deal with the list of quirks? OpenHMD sits at the driver layer, but SteamVR-OpenHMD is on the same level as Monado, so the quirk-handling responsibility is on this project.
I think that encapsulates the difficulty many people have with 3D math, or math in general. |
Hi Christoph, I'm currently testing using a Rift S under Linux with AMD GPU. In order to get Driver Direct Mode working I had to force a rotation of both eye to the left (using your code at #68, rotating right made it upside down). |
I might have gotten it wrong the first time
* creation of the projection matrix was obviously wrong * debug printing of the matrices was wrong Now it should be right, but the rotated projection matrix for rift s can not work because m[0][0] is 0.
09edc0f
to
cb88d2c
Compare
Hi, using this branch, I don't get any image on my Rift S. The display does turn on (I see a slightly gray image and not a completely black one). However, Using the monado-steamvr plugin, I do get an Image on my VR Display, but everything is quite choppy. (I am wearing my Headset in both cases) |
I'm in the process of porting the Rift S driver to Monado. You might like to try my branch. I haven't tested SteamVR, but I think it should work. OpenXR apps render correctly. https://gitlab.freedesktop.org/thaytan/monado/-/commits/dev-rift-s |
Hi, I created an Issue in your GitLab repo, so we don't spam this PR :) |
With this, SteamVR should be able to use direct mode.
The actual rotation isn't well tested though, please someone test.
Possible issues: