Forum Discussion
jfeh
10 years agoHonored Guest
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.
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
- paul_pedrianaExplorerThis 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.
- jfehHonored GuestThanks 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.
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device