The latest release added few new things related to eye tracking support in OpenXR (via SteamVR runtime), which are part of IVRDriverInput interface:
struct VREyeTrackingData_t
{
bool bActive;
bool bValid;
bool bTracked;
vr::HmdVector3_t vGazeOrigin; // Ray origin
vr::HmdVector3_t vGazeTarget; // Gaze target (fixation point)
};
for the "eye pose" and
/** Creates an eye tracking component **/
virtual EVRInputError CreateEyeTrackingComponent( PropertyContainerHandle_t ulContainer, const char *pchName, VRInputComponentHandle_t *pHandle ) = 0;
/** Updates an eye tracking component. */
virtual EVRInputError UpdateEyeTrackingComponent( VRInputComponentHandle_t ulComponent, const VREyeTrackingData_t *pEyeTrackingData, double fTimeOffset ) = 0;
for the API.
Please add a documentation on the eye pose structure:
- What is difference between all different
bool flags?
- To which "tracking space" are the two vectors related (world space, headpose space, something else)?
For IVRDriverInput API, explain:
- What are the expected/allowed component names in
CreateEyeTrackingComponent and how many components are supported?
- What is the purpose of
fTimeOffset - which time unit, which time domain?
So far, some essential information, but not all, is only available here:
https://github.com/mbucchia/Pimax-EyeTracker-SteamVR
The latest release added few new things related to eye tracking support in OpenXR (via SteamVR runtime), which are part of
IVRDriverInputinterface:for the "eye pose" and
for the API.
Please add a documentation on the eye pose structure:
boolflags?For
IVRDriverInputAPI, explain:CreateEyeTrackingComponentand how many components are supported?fTimeOffset- which time unit, which time domain?So far, some essential information, but not all, is only available here:
https://github.com/mbucchia/Pimax-EyeTracker-SteamVR