cancel
Showing results for 
Search instead for 
Did you mean: 

IPD user experience and SDK IPD detection with 1.0

MikeMcG-MS
Honored Guest
Hello,

I'm having some issues with detecting an IPD from the 1.0 drivers (with a ES-06) -- I always get a +/- 32mm as a result from the following calls, during a periodic update:

mEyeRenderDesc[0] = ovr_GetRenderDesc(mSession, ovrEye_Left, mHMDDesc.DefaultEyeFov[0]);
mEyeRenderDesc[1] = ovr_GetRenderDesc(mSession, ovrEye_Right, mHMDDesc.DefaultEyeFov[1]);

[...]

hmdToEyeOffset[0] = mEyeRenderDesc[0].HmdToEyeOffset;
hmdToEyeOffset[1] = mEyeRenderDesc[1].HmdToEyeOffset;

...no matter what I set my IPD to in the ConfigUtil, or set the physical switch to, on the ES-06.
Also:
    * does the physical switch get polled by the ConfigUtil?
    * --> If so, what happens when I modify the ConfigUtil value?
    * The ConfigUtil seems to forget any manually set IPD after the util is shutdown and restarted.
    * With regards to users testing their own IPD, the "Measure" button, under the Advanced options on the ConfigUtil, appears to be greyed out -- what triggers it to be available?



Any ideas on these assorted IPD issues would be pretty helpful.

Thanks,
Mike
4 REPLIES 4

simon_green
Honored Guest
IPD measurement, and linking the physical IAD slider to the software is still work in progress.

We'll keep you posted!

TomHeath
Protege
As Simon says, its still a work in progress, connecting the various sources of IAD/IPD from either Config Utility or the IAD slider itself.

Might be worth giving the below line of code a try, to see whether it yields a valid IAD slider value, for your particular version. Assuming not, then similar functionality should be available very soon.

float sliderSetting = ovr_GetFloat(MAIN.HMD, "server:InterAxialDistance", -1.0f)

volgaksoy
Expert Protege
Starting with SDK v1.1, we will be reporting the IAD (inter-axial lens center distance) as part of the HmdToEyeOffset vectors. That said, with ES06 HMDs, since the reported IAD adjustment slider values have been known to be fairly inaccurate, our next release will disable it for those HMDs, and enable it for ES07+.

You'll need to be extra careful when reading those vectors now as they can change every frame (when the user messes with the IAD slider), which would in turn require the game to modify the ICD (inter-camera distance).

Scawen
Heroic Explorer
I have found a bug in this.

ovr_GetRenderDesc always returns 'default' IPD of 64mm (32 each way) regardless of the slider's position, until the slider is adjusted.

Thread in PC development section: https://forums.oculus.com/developer/discussion/33209



Live for Speed - www.lfs.net