ValveSoftware / openvr

OpenVR SDK
http://steamvr.com
BSD 3-Clause "New" or "Revised" License
6.12k stars 1.28k forks source link

SteamVR 1.9.16 (+update from 17.02.2020) set IPD on OG Vive no longer reported via API #1316

Open risa2000 opened 4 years ago

risa2000 commented 4 years ago

Today (17.2.2020) after starting SteamVR I received a message there is an update to install, which probably installed though the main windows still shows 1.9.16 as a version.

After the update however, the reported eye2head transformation matrices for OG Vive show PDs of 34 mm, i.e. 68 mm IPD in total. The value does not change when changing the IPD on the headset, which is correctly(?) registered and reported back directly in the headset overlay (and ranges from 60.8 mm to 75 mm).

In other words, regardless what I set on the headset, the corresponding eye to head matrices are:

Left eye to head transformation matrix:
    {{ 1.      ,  0.      ,  0.      , -0.034   },
     { 0.      ,  1.      ,  0.      ,  0.      },
     { 0.      ,  0.      ,  1.      ,  0.015   }}
Right eye to head transformation matrix:
    {{ 1.      ,  0.      ,  0.      ,  0.034   },
     { 0.      ,  1.      ,  0.      ,  0.      },
     { 0.      ,  0.      ,  1.      ,  0.015   }}
jeremyselan commented 4 years ago

I am not able to reproduce this. On my test Vive, at min IPD i see (Eye To Head Left) 1.000000 0.000000 0.000000 -0.030450 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.015000

And max IPD: 1.000000 0.000000 0.000000 -0.037550 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.015000

That corresponds to the expected range of 60.9 - 75.1 mm.

When you adjust the IPD knob for your Vive, do you see the IPD popup overlay?

risa2000 commented 4 years ago

When you adjust the IPD knob for your Vive, do you see the IPD popup overlay?

That is actually the weird thing. I can see the overlay in the headset and it correctly responds to the turning of the knob. But the matrices reported via API do not change and always show the IPD of 68 mm. Which is strange because I never had the headset set to this IPD (as mine is 72 mm) and it looks more like some kind of default value.

FWIW, for reading the headset configuration I am using my tool (https://github.com/risa2000/hmdq), which is a simple command line tool made just to query the headset for the properties and the geometry. It runs as VRApplication_Background while SteamVR Home is running in the headset at the same time. This tool has been working correctly until now and seems to still work correctly for the other values.

hmdq version 1.3.3 - collecting OpenVR headset characteristics in no time
    Time stamp: 2020-02-25 23:28:12
  hmdq version: 1.3.3
Output version: 4
    OS version: 10.0.18362.657
OpenVR runtime: D:\Games\Steam\steamapps\common\SteamVR
OpenVR version: 1.9.16

Recommended render target size: {2136, 2376}

Left eye HAM mesh:
     original vertices: 60, triangles: 20
    optimized vertices: 28, n-gons: 4
             mesh area: 19.10 %

Left eye to head transformation matrix:
    {{ 1.      ,  0.      ,  0.      , -0.034   },
     { 0.      ,  1.      ,  0.      ,  0.      },
     { 0.      ,  0.      ,  1.      ,  0.015   }}

Left eye raw LRBT values:
    left:        -1.397283
    right:        1.250510
    bottom:      -1.477517
    top:          1.464221

Left eye head FOV:
    left:       -54.41 deg
    right:       46.75 deg
    bottom:     -55.91 deg
    top:         55.67 deg
    horiz.:     101.16 deg
    vert.:      111.58 deg

Right eye HAM mesh:
     original vertices: 60, triangles: 20
    optimized vertices: 28, n-gons: 4
             mesh area: 19.10 %

Right eye to head transformation matrix:
    {{ 1.      ,  0.      ,  0.      ,  0.034   },
     { 0.      ,  1.      ,  0.      ,  0.      },
     { 0.      ,  0.      ,  1.      ,  0.015   }}

Right eye raw LRBT values:
    left:        -1.247887
    right:        1.394608
    bottom:      -1.475235
    top:          1.460934

Right eye head FOV:
    left:       -46.69 deg
    right:       54.36 deg
    bottom:     -55.87 deg
    top:         55.61 deg
    horiz.:     101.05 deg
    vert.:      111.48 deg

Total FOV:
    horizontal: 108.77 deg
    vertical:   111.53 deg
    diagonal:   113.18 deg
    overlap:     93.45 deg

View geometry:
    left panel rotation:     0.0 deg
    right panel rotation:    0.0 deg
    reported IPD:           68.0 mm