Skip to main content
Participant
February 9, 2015

ovrHmdCaps present/available/captured

Hi,

I am trying to figure out how to robustify my code as well as handle degraded modes (e.g. HMD disconnection).
When monitoring the ovrHmdCaps value along the lifetime of my direct to rift program in OpenGL, I realized that :
- ovrHmdCap_Present is always true
- ovrHmdCap_Available is always false
- ovrHmdCap_Captured is always false

ovrHmdCap_Present value seems OK (the HMD is connected to my system)
However, shouldn't ovrHmdCap_Available be true and ovrHmdCap_Captured be false at program startup (knowing that no other Oculus apps are running), then set atomically to respectively to false and true once we connected (after the call to ovrHmd_ConfigureRendering or ovrHmd_AttachToWindow maybe ?) ?
At runtime, should one watch out solely for the value of the ovrHmdCap_Present flag in order to handle degraded case ?
Should these flags be read straight on from the ovrHmdDesc structure or by a call to ovrHmd_GetEnabledCaps ?

Some info on my platform :
DK2
SDK version 0.4.4
Windows 7 64bits / VS 2013
GTX780

Any recommendations on pursuing robustness are welcome, thanks,
Jeff.

    2 replies

    Participant
    February 10, 2015
    This is a bug which is scheduled to be fixed in a future version. We can't provide a date yet, but it likely won't be in the next release.
    jfehAuthor
    Participant
    February 13, 2015
    Thanks for the clarification.
    I guess that I will handle HMD disconnections by monitoring directly (i.e without a call to ovrHmd_GetEnabledCaps) the ovrHmdCap_Present field.

    Jeff.