Skip to main content
Up and Coming
November 2, 2014

0.4.3 ovrHmd_GetEyePoses usage

In SDK 0.4.3 ovrHmd_GetEyePose() got replaced by ovrHmd_GetEyePoses().

I like the way it now includes the necessary IPD translation. This was not very obvious in the previous version and is now handled automatically.

What I don't understand, though, is why the 0.4.3 API now suggests retrieving both eye poses at the same time.
0.4.2 encouraged to call ovrHmd_GetEyePose() seperately for each eye, right before you start culling/drawing each eye in order to get the eye pose as close to the point in time per-eye rendering as possible.
ovrHmd_GetEyePoses() suggests retrieving both poses at the same time, probably at the start of each frame. This moves the second eye pose 'further away' from the optimal pose you could use.

Is this intended? What are the recommendations for when to call ovrHmd_GetEyePoses() and use ist results?

    13 replies

    Up and Coming
    November 12, 2014
    Glad I ran into this thread while I was migrating over to 0.4.3, was a bit confused about this change.
    Up and Coming
    March 2, 2015
    I have installed the new driver of Oculus and using the new API version, but the output is changed:


    Before Changing the API


    After Changing the API

    Do you have any idea what is changed from API 4.2 to 4.4 which can cause this problem. The only three functions which I have changed are:

    OvrGLConfig.Config.Header.RTSize -> OvrGLConfig.Config.Header.BackBufferSize
    OvrEyeRenderDesc.ViewAdjust -> OvrEyeRenderDesc.HmdToEyeViewOffset
    ovrHmd_GetEyePose -> ovrHmd_GetHmdPosePerEye
    Inspiring
    March 2, 2015
    Please read the developer guide as there have been several changes that may affect your app.
    AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV