PS: with OpenXR Toolkit there's now even a blueprint (MIT License, free to use and even encouraged by the author) for Foveated rendering etc for OpenXR, developed by the the current head of openxr at MS.
I think you just made your own case for a proper OpenXR implementation though, especially as you could drop Oculus and OpenVR support and focus on one API.
It also single handedly solved all of those openvr alignment issues and tons of other crap (world scale, drifting,..) and workarounds with a myriad of HMDs (Index, G2, VP2, ..).
SteamVR 1.16.5
HP Reverb G2 (second unit)
SteamVR OpenXR Runtime: Windows Mixed Reality
"renderCameraMode": "parallel" (default)
LFSOpenVR Apr 10 2020 ProductName: HP Reverb Virtual Reality Heads Manufacturer: WindowsMR LFSVR_QueryHMD Recommended RT size: 6328 x 3096 Left eye: GetProjectionRaw___: Left -1.165 Right 0.987 Top -1.045 Bottom 1.063 GetProjectionMatrix: Left -1.165 Right 0.987 Top -1.045 Bottom 1.063 GetEyeToHeadTransform: 1.000 0.002 0.003 -0.031 -0.002 1.000 0.002 0.000 -0.003 -0.002 1.000 0.000 Right eye: GetProjectionRaw___: Left -0.991 Right 1.166 Top -1.048 Bottom 1.059 GetProjectionMatrix: Left -0.991 Right 1.166 Top -1.048 Bottom 1.059 GetEyeToHeadTransform: 1.000 -0.002 -0.003 0.031 0.002 1.000 -0.002 -0.000 0.003 0.002 1.000 -0.000 IPD: 0.063 LFSVR_AcceptSharedTexture RT size: 6328 x 3096 / format: DXGI_FORMAT_B8G8R8A8_UNORM LFSVR_Close
"renderCameraMode": "raw" (after SteamVR restart of course)
LFSOpenVR Apr 10 2020 ProductName: HP Reverb Virtual Reality Heads Manufacturer: WindowsMR LFSVR_QueryHMD Recommended RT size: 6328 x 3096 Left eye: GetProjectionRaw___: Left -1.165 Right 0.987 Top -1.045 Bottom 1.063 GetProjectionMatrix: Left -1.165 Right 0.987 Top -1.045 Bottom 1.063 GetEyeToHeadTransform: 1.000 0.002 0.003 -0.031 -0.002 1.000 0.002 0.000 -0.003 -0.002 1.000 0.000 Right eye: GetProjectionRaw___: Left -0.991 Right 1.166 Top -1.048 Bottom 1.059 GetProjectionMatrix: Left -0.991 Right 1.166 Top -1.048 Bottom 1.059 GetEyeToHeadTransform: 1.000 -0.002 -0.003 0.031 0.002 1.000 -0.002 -0.000 0.003 0.002 1.000 -0.000 IPD: 0.063 LFSVR_AcceptSharedTexture RT size: 6328 x 3096 / format: DXGI_FORMAT_B8G8R8A8_UNORM LFSVR_Close
riftvr.log (ReVive, camera render mode "raw" in SteamVR):
LFSRiftVR Apr 10 2020 ProductName: HP Reverb Virtual Reality Heads Manufacturer: WindowsMR LFSVR_QueryHMD Recommended RT size: 6328 x 3096 Left eye: UpTan 1.063 DownTan 1.045 LeftTan 1.165 RightTan 0.987 Right eye: UpTan 1.059 DownTan 1.048 LeftTan 0.991 RightTan 1.166 IPD: 0.063 LFSVR_AcceptSharedTexture RT size: 6328 x 3096 / format: DXGI_FORMAT_B8G8R8A8_UNORM
Keep in mind, this is my second Reverb G2 unit as I sold off the first one (where the logs from the previous posts come from) and got another one from another batch just a few days ago, so you can't directly compare the values above with these. The effect is the same though.
I don't see a difference between both modes though - shouldn't there be one however..?
I have my steamVR configs added as attachment so I don't spam the thread too much. Keep in mind I changed the camera mode in both the default.vrsettings and the steamvr.vrsettings files to make sure I'll end up in raw or parallel mode respectively. I had to rename the file though.
Another thing to mention (maybe):
Ingame the IPD reports as 62.7, WMR reports it as 63.172 and the OpenVR and Rift logs show 0.063
There is a known (and confirmed by MS) IPD rounding bug in the WMR runtime though. Just thought I'd mention it.
Thank you Scawen! Might explain why some apps/sims/programs have world scale that's oft while there are others that seem fine (vertical vs horizontal FOV as basis).
With that info in mind I can finally dig deeper into this and maybe get clarification from MS/HP guys if those reported values indeed are correct.
I'll report back here if/when there's progress on this.
Pretty sure it should be around 90.x, at least that's also what ROV HMDtester and the Czech tool that name I forgot get out of the G2. Both cut off rendering at roughly 90.x deg vertical.
Do you account for canted displays (do you even have to account for it?)? The Reverb G2 is canted at 2° I think, but afaik only on the horizontal plane.
I also have another question: the Reverb G2 gets an automatic FOV setting of 93deg which is just wrong and the world scale is off.
It should be 90deg (maybe 91 as the HMD should report 90.8xdeg). LFS is not the only sim where things are off though.
I'm curious where those magic 93deg come from. Maybe that's a hint to another WMR/OpenVR bug? FOV is perfectly set ob my other HMDs (Pimax 8kx, Rift CV1 and Quest 2).
Just came from more A/B/C testing between Rift CV1, Pimax 8kx and the G2 and world scale definitely feels off in the Reverb G2 on the "Automatic" FOV setting. 90 deg feel fine and natural, 93 feels like toy cars and wrong proportions/scale.
I'm having world scale issues in the G2 across multiple sims and I don't know where to start as I don't have any contacts at HP or MS, so maybe you (Scawen) can shed some light onto this. I can help debug it, but I need assistance doing so.
---
I measured the FOV the G2 in ROV 1.2beta again today and it maxes out at 90 vertical and 100 horizontal. The 90/100 deg values are confirmed by this chart: https://risa2000.github.io/hmdgdb/
I looked up the "automatic" FOV setting from Live for Speed - and it gets reported as 93deg vertical (that is derived from what WMR/OpenVR reports I assume?) - which is impossible as it stops rendering past 90deg. If I manually override it and set it to 90deg vertical and world scale seems fine and on par with my other HMDs.
I just wanted to say thank you for picking up working on LFS again. I've been around here since god knows how long and LFS is still the first thing I fire up when testing new equipment.
It's also my absolute VR benchmark, nobody does head movement and mirrors better than LFS - and all of that while being very light on graphics.
Maybe ScaViEr started to join the iR community and just forgot that LFS ever happened.. it's just sad that they don't state ANYTHING to their community..
I think many people would at least be happier if they'd tell us "hey, we just quit on LFS, sry folks" rather than no information whatsoever at all..
I just tested that exact same build (7/64bit) and it surprisingly works fine for me..
BUT: I had the same error with the original build.
So this leaves 2 possible options available for you to check:
a) are you sure you've started the correct build and not accidently mistaken it with the original one?
b) is the .NET 2.0 framework installed on your pc?
Frankly I was disappointed as the original build didn't work for me under Win7/x64, but I was as surprised and happy as a monkey finding a banana that the 64bit-build worked out of the box
Thanks, that's what I ment I know that they work, just wasn't sure if there was anything taken into the Z-Patch and about how much difference it really makes