Name String
XR_ANDROID_eye_tracking
एक्सटेंशन टाइप
इंस्टेंस एक्सटेंशन
रजिस्टर किया गया एक्सटेंशन नंबर
457
बदलाव
1
एक्सटेंशन और वर्शन की डिपेंडेंसी
पिछली बार बदलाव करने की तारीख
2025-01-17
आईपी स्टेटस
आईपी पर कोई दावा नहीं किया गया है.
योगदान देने वाले
स्पेंसर क्विन, Google
जेरेड फ़ाइंडर, Google
लेवाना चेन, Google
केनी वर्कमेयर, Google
प्रसन्थी गुरुमूर्ति, Google
निहाव जैन, Google
खास जानकारी
इस एक्सटेंशन की मदद से, ऐप्लिकेशन उपयोगकर्ता की आंखों की स्थिति और ओरिएंटेशन के साथ-साथ, आंखों को ट्रैक करने की स्थिति का पता लगा सकते हैं.
आंखों की गतिविधियों को ट्रैक करने से जुड़ा डेटा, दो मोड में मिलता है: सामान्य और सटीक. सामान्य ट्रैकिंग से, उपयोगकर्ता की आंखों के बारे में अनुमानित जानकारी मिलती है. वहीं, बेहतर ट्रैकिंग से ज़्यादा सटीक जानकारी मिलती है. सामान्य ट्रैकिंग का मकसद, ऐसे ऐप्लिकेशन के लिए है जो उपयोगकर्ताओं को अवतार जैसा बुनियादी अनुभव देना चाहते हैं. वहीं, सटीक ट्रैकिंग का मकसद, ज़्यादा सटीक ऐप्लिकेशन के लिए है.
इंटरैक्शन के लिए, XR_EXT_eye_gaze_interaction
का इस्तेमाल किया जाना चाहिए.
सिस्टम की क्षमता की जांच करना
XrSystemEyeTrackingPropertiesANDROID
स्ट्रक्चर को इस तरह परिभाषित किया गया है:
typedef struct XrSystemEyeTrackingPropertiesANDROID {
XrStructureType type;
void* next;
XrBool32 supportsEyeTracking;
} XrSystemEyeTrackingPropertiesANDROID;
पैसे चुकाकर बने सदस्यों के ब्यौरे
type
इस स्ट्रक्चर काXrStructureType
है.next
,NULL
है या स्ट्रक्चर चेन में अगले स्ट्रक्चर का पॉइंटर है. OpenXR के मुख्य वर्शन या इस एक्सटेंशन में, इस तरह के स्ट्रक्चर तय नहीं किए गए हैं.supportsEyeTracking
एकXrBool32
है, जो यह बताता है कि मौजूदा सिस्टम में आंखों की गति ट्रैक करने की सुविधा काम करती है या नहीं.
कोई ऐप्लिकेशन यह जांच कर सकता है कि सिस्टम, आंखों की गति को ट्रैक कर सकता है या नहीं. इसके लिए, xrGetSystemProperties
को कॉल करते समय, XrSystemEyeTrackingPropertiesANDROID
स्ट्रक्चर को XrSystemProperties से जोड़ें. अगर supportsEyeTracking
, XR_FALSE
दिखाता है, तो ऐप्लिकेशन को xrCreateEyeTrackerANDROID
से XR_ERROR_FEATURE_UNSUPPORTED
मिलेगा.
मान्य इस्तेमाल (इंप्लिसिट)
XrSystemEyeTrackingPropertiesANDROID
का इस्तेमाल करने से पहले,XR_ANDROID_eye_tracking
एक्सटेंशन चालू होना चाहिएtype
होनी चाहिएXR_TYPE_SYSTEM_EYE_TRACKING_PROPERTIES_ANDROID
next
NULL
या स्ट्रक्चर चेन में अगले स्ट्रक्चर का मान्य पॉइंटर होना चाहिए
आइ ट्रैकर हैंडल बनाना
XR_DEFINE_HANDLE(XrEyeTrackerANDROID)
XrEyeTrackerANDROID
हैंडल, आंखों को ट्रैक करने के लिए आई ट्रैकर दिखाता है. साथ ही, यह सटीक तौर पर मैप करता है कि उपयोगकर्ता क्या देख रहा है.
आंखों की गतिविधियों को ट्रैक करने से जुड़ा डेटा, संवेदनशील निजी जानकारी हो सकती है. साथ ही, यह निजी निजता और भरोसे से जुड़ा होता है. हमारा सुझाव है कि जिन ऐप्लिकेशन में आंखों की गतिविधियों को ट्रैक करने वाला डेटा सेव या ट्रांसफ़र किया जाता है वे हमेशा उपयोगकर्ता से इसकी अनुमति लें.
इस एक्सटेंशन के अन्य फ़ंक्शन का इस्तेमाल करके, आंखों की गति को ट्रैक करने से जुड़ा डेटा ऐक्सेस करने के लिए, इस हैंडल का इस्तेमाल किया जा सकता है.
आई ट्रैकिंग की मदद से, सीन में आंखों की पोज़िशन और स्थिति का पता चलता है.
xrCreateEyeTrackerANDROID
फ़ंक्शन को इस तरह से परिभाषित किया गया है:
XrResult xrCreateEyeTrackerANDROID(
XrSession session,
const XrEyeTrackerCreateInfoANDROID* createInfo,
XrEyeTrackerANDROID* eyeTracker);
पैरामीटर की जानकारी
session
एकXrSession
हैंडल है, जिसमें आंखों की ट्रैकिंग की सुविधा चालू होगी.createInfo
वहXrEyeTrackerCreateInfoANDROID
है जिसका इस्तेमाल, आंखों की ट्रैकिंग के बारे में बताने के लिए किया जाता है.eyeTracker
, बदला गयाXrEyeTrackerANDROID
हैंडल है.
कोई ऐप्लिकेशन, xrCreateEyeTrackerANDROID
फ़ंक्शन का इस्तेमाल करके XrEyeTrackerANDROID
हैंडल बना सकता है.
अगर सिस्टम में आंखों की गति को ट्रैक करने की सुविधा काम नहीं करती है, तो XR_ERROR_FEATURE_UNSUPPORTED
को xrCreateEyeTrackerANDROID
से वापस लाया जाएगा.
मान्य इस्तेमाल (इंप्लिसिट)
xrCreateEyeTrackerANDROID
को कॉल करने से पहले,XR_ANDROID_eye_tracking
एक्सटेंशन चालू होना चाहिएsession
यह एक मान्यXrSession
हैंडल होना चाहिएcreateInfo
यह किसी मान्यXrEyeTrackerCreateInfoANDROID
स्ट्रक्चर का पॉइंटर होना चाहिएeyeTracker
XrEyeTrackerANDROID
हैंडल का पॉइंटर होना ज़रूरी है
रिटर्न कोड
XR_SUCCESS
XR_SESSION_LOSS_PENDING
XR_ERROR_FUNCTION_UNSUPPORTED
XR_ERROR_VALIDATION_FAILURE
XR_ERROR_RUNTIME_FAILURE
XR_ERROR_HANDLE_INVALID
XR_ERROR_INSTANCE_LOST
XR_ERROR_SESSION_LOST
XR_ERROR_OUT_OF_MEMORY
XR_ERROR_LIMIT_REACHED
XR_ERROR_FEATURE_UNSUPPORTED
XrEyeTrackerCreateInfoANDROID
स्ट्रक्चर को इस तरह परिभाषित किया गया है:
typedef struct XrEyeTrackerCreateInfoANDROID {
XrStructureType type;
void* next;
} XrEyeTrackerCreateInfoANDROID;
पैसे चुकाकर बने सदस्यों के ब्यौरे
type
इस स्ट्रक्चर काXrStructureType
है.next
,NULL
है या स्ट्रक्चर चेन में अगले स्ट्रक्चर का पॉइंटर है. OpenXR के मुख्य वर्शन या इस एक्सटेंशन में, इस तरह के स्ट्रक्चर तय नहीं किए गए हैं.
XrEyeTrackerCreateInfoANDROID
स्ट्रक्चर में, XrEyeTrackerANDROID
हैंडल बनाने के लिए ज़रूरी जानकारी दी गई है.
मान्य इस्तेमाल (इंप्लिसिट)
XrEyeTrackerCreateInfoANDROID
का इस्तेमाल करने से पहले,XR_ANDROID_eye_tracking
एक्सटेंशन चालू होना चाहिएtype
होनी चाहिएXR_TYPE_EYE_TRACKER_CREATE_INFO_ANDROID
next
NULL
या स्ट्रक्चर चेन में अगले स्ट्रक्चर का मान्य पॉइंटर होना चाहिए
xrDestroyEyeTrackerANDROID
फ़ंक्शन को इस तरह परिभाषित किया गया है:
XrResult xrDestroyEyeTrackerANDROID(
XrEyeTrackerANDROID eyeTracker);
पैरामीटर की जानकारी
eyeTracker
एकXrEyeTrackerANDROID
है, जिसे पहलेxrCreateEyeTrackerANDROID
ने बनाया था.
xrDestroyEyeTrackerANDROID
फ़ंक्शन, आंखों की ट्रैकिंग की सुविधाएं इस्तेमाल करने के बाद, eyeTracker
और उससे जुड़े संसाधनों को रिलीज़ कर देता है.
मान्य इस्तेमाल (इंप्लिसिट)
xrDestroyEyeTrackerANDROID
को कॉल करने से पहले,XR_ANDROID_eye_tracking
एक्सटेंशन चालू होना चाहिएeyeTracker
एक मान्यXrEyeTrackerANDROID
हैंडल होना चाहिए.
थ्रेड की सुरक्षा
eyeTracker
और किसी भी चाइल्ड हैंडल का ऐक्सेस, बाहरी तौर पर सिंक होना ज़रूरी है
रिटर्न कोड
XR_SUCCESS
XR_ERROR_FUNCTION_UNSUPPORTED
XR_ERROR_HANDLE_INVALID
आंखों की जानकारी पाना
xrGetCoarseTrackingEyesInfoANDROID
फ़ंक्शन को इस तरह परिभाषित किया गया है:
XrResult xrGetCoarseTrackingEyesInfoANDROID(
XrEyeTrackerANDROID eyeTracker,
const XrEyesGetInfoANDROID* getInfo,
XrEyesANDROID* eyesOutput);
पैरामीटर की जानकारी
eyeTracker
एकXrEyeTrackerANDROID
है, जिसे पहलेxrCreateEyeTrackerANDROID
ने बनाया था.getInfo
,XrEyesGetInfoANDROID
का पॉइंटर है. इसका इस्तेमाल यह बताने के लिए किया जाता है कि कौनसा आउटपुट ज़रूरी है.infoOutput
,XrEyesANDROID
का पॉइंटर है. इसमें आंखों की जानकारी होती है. जैसे, पोज़ और स्थितियां.
xrGetCoarseTrackingEyesInfoANDROID
फ़ंक्शन, आंखों की स्थिति और पोज़ की जानकारी इस तरह से हासिल करता है कि उपयोगकर्ता की निजता सुरक्षित रहती है.
अगर ऐप्लिकेशन के पास android.permission.EYE_TRACKING_COARSE
अनुमति नहीं है, तो रनटाइम को XR_ERROR_PERMISSION_INSUFFICIENT
दिखाना चाहिए.
XrEyesGetInfoANDROID::time
, XrEyesGetInfoANDROID::baseSpace
का इस्तेमाल करके xrGetCoarseTrackingEyesInfoANDROID
को कॉल करने के समय, आंखों की जानकारी को हल किया जाता है और इसे बेस स्पेस के हिसाब से दिखाया जाता है.
किसी भी समय, आंखों की पोज़िशन और दिशा, दोनों को ट्रैक किया जाता है या ट्रैक नहीं किया जाता. इसका मतलब है कि ऐप्लिकेशन को यह उम्मीद हो सकती है कि दिए गए XrEyesANDROID::eyes
पर, XR_SPACE_LOCATION_POSITION_TRACKED_BIT
और XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT
, दोनों को सेट या हटाया जाएगा. साथ ही, XrEyesANDROID::mode
से ट्रैकिंग की स्थितियों का पता चलेगा.
मान्य इस्तेमाल (इंप्लिसिट)
xrGetCoarseTrackingEyesInfoANDROID
को कॉल करने से पहले,XR_ANDROID_eye_tracking
एक्सटेंशन चालू होना चाहिएeyeTracker
XrEyeTrackerANDROID
हैंडल मान्य होना चाहिएgetInfo
एक मान्यXrEyesGetInfoANDROID
के पॉइंटर के तौर पर होना चाहिए स्ट्रक्चरeyesOutput
,XrEyesANDROID
स्ट्रक्चर का पॉइंटर होना चाहिए
रिटर्न कोड
XR_SUCCESS
XR_SESSION_LOSS_PENDING
XR_ERROR_FUNCTION_UNSUPPORTED
XR_ERROR_VALIDATION_FAILURE
XR_ERROR_RUNTIME_FAILURE
XR_ERROR_HANDLE_INVALID
XR_ERROR_INSTANCE_LOST
XR_ERROR_SESSION_LOST
XR_ERROR_OUT_OF_MEMORY
XR_ERROR_LIMIT_REACHED
XR_ERROR_TIME_INVALID
XR_ERROR_PERMISSION_INSUFFICIENT
xrGetFineTrackingEyesInfoANDROID
फ़ंक्शन को इस तरह से परिभाषित किया गया है:
{:#xrGetFineTrackingEyesInfoANDROID}
C++
XrResult xrGetFineTrackingEyesInfoANDROID(
XrEyeTrackerANDROID eyeTracker,
const XrEyesGetInfoANDROID* getInfo,
XrEyesANDROID* eyesOutput);
पैरामीटर की जानकारी
eyeTracker
एकXrEyeTrackerANDROID
है, जिसे पहलेxrCreateEyeTrackerANDROID
ने बनाया था.getInfo
,XrEyesGetInfoANDROID
का पॉइंटर है. इसका इस्तेमाल यह बताने के लिए किया जाता है कि कौनसा आउटपुट ज़रूरी है.infoOutput
,XrEyesANDROID
का पॉइंटर है. इसमें आंखों की जानकारी होती है. जैसे, पोज़ और स्थितियां.xrGetFineTrackingEyesInfoANDROID
फ़ंक्शन,xrGetCoarseTrackingEyesInfoANDROID
के मुकाबले ज़्यादा सटीक तरीके से, आंखों की स्थिति और पोज़ की जानकारी पाता है.
अगर ऐप्लिकेशन के पास android.permission.EYE_TRACKING_FINE
अनुमति नहीं है, तो रनटाइम को XR_ERROR_PERMISSION_INSUFFICIENT
दिखाना चाहिए.
XrEyesGetInfoANDROID::time
, XrEyesGetInfoANDROID::baseSpace
का इस्तेमाल करके xrGetFineTrackingEyesInfoANDROID
को कॉल करने के समय, आंखों की जानकारी को हल किया जाता है और इसे बेस स्पेस के हिसाब से दिखाया जाता है.
किसी भी समय, आंखों की स्थिति और दिशा, दोनों को ट्रैक किया जाता है या ट्रैक नहीं किया जाता. इसका मतलब है कि ऐप्लिकेशन को यह उम्मीद हो सकती है कि दिए गए XrEyesANDROID::eyes
पर, XR_SPACE_LOCATION_POSITION_TRACKED_BIT
और XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT
, दोनों को सेट या हटाया जाएगा. साथ ही, XrEyesANDROID::mode
से ट्रैकिंग की स्थितियों का पता चलेगा.
मान्य इस्तेमाल (इंप्लिसिट)
xrGetFineTrackingEyesInfoANDROID
को कॉल करने से पहले,XR_ANDROID_eye_tracking
एक्सटेंशन चालू होना चाहिएeyeTracker
यह एक मान्यXrEyeTrackerANDROID
हैंडल होना चाहिएgetInfo
एक मान्यXrEyesGetInfoANDROID
के पॉइंटर के तौर पर होना चाहिए स्ट्रक्चरeyesOutput
,XrEyesANDROID
स्ट्रक्चर का पॉइंटर होना चाहिए
रिटर्न कोड
XR_SUCCESS
XR_SESSION_LOSS_PENDING
XR_ERROR_FUNCTION_UNSUPPORTED
XR_ERROR_VALIDATION_FAILURE
XR_ERROR_RUNTIME_FAILURE
XR_ERROR_HANDLE_INVALID
XR_ERROR_INSTANCE_LOST
XR_ERROR_SESSION_LOST
XR_ERROR_OUT_OF_MEMORY
XR_ERROR_LIMIT_REACHED
XR_ERROR_TIME_INVALID
XR_ERROR_PERMISSION_INSUFFICIENT
XrEyesGetInfoANDROID
स्ट्रक्चर में, आंखों के पोज़ और स्थितियों को वापस पाने के लिए ज़रूरी जानकारी होती है.
typedef struct XrEyesGetInfoANDROID {
XrStructureType type;
void* next;
XrTime time;
XrSpace baseSpace;
} XrEyesGetInfoANDROID;
पैसे चुकाकर बने सदस्यों के ब्यौरे
type
इस स्ट्रक्चर काXrStructureType
है.next
,NULL
है या स्ट्रक्चर चेन में अगले स्ट्रक्चर का पॉइंटर है. OpenXR के मुख्य वर्शन या इस एक्सटेंशन में, इस तरह के स्ट्रक्चर तय नहीं किए गए हैं.time
वहXrTime
है जिस परbaseSpace
के हिसाब से निर्देशांक का आकलन किया जाना है.baseSpace
time
पर, आंखों का पोज़ इसXrSpace
के हिसाब से होगा.
मान्य इस्तेमाल (इंप्लिसिट)
XrEyesGetInfoANDROID
का इस्तेमाल करने से पहले,XR_ANDROID_eye_tracking
एक्सटेंशन चालू होना चाहिएtype
होनी चाहिएXR_TYPE_EYES_GET_INFO_ANDROID
next
NULL
या स्ट्रक्चर चेन में अगले स्ट्रक्चर का मान्य पॉइंटर होना चाहिएbaseSpace
यह एक मान्यXrSpace
हैंडल होना चाहिए
XrEyesANDROID
स्ट्रक्चर में, ट्रैक की गई आंखों की जानकारी होती है.
typedef struct XrEyesANDROID {
XrStructureType type;
void* next;
XrEyeANDROID eyes[XR_EYE_MAX_ANDROID];
XrEyeTrackingModeANDROID mode;
} XrEyesANDROID;
पैसे चुकाकर बने सदस्यों के ब्यौरे
type
इस स्ट्रक्चर काXrStructureType
है.next
,NULL
है या स्ट्रक्चर चेन में अगले स्ट्रक्चर का पॉइंटर है. OpenXR के मुख्य वर्शन या इस एक्सटेंशन में, इस तरह के स्ट्रक्चर तय नहीं किए गए हैं.eyes
, बाईं और दाईं आंख के लिएXrEyeANDROID
का एक कलेक्शन है, जिसेXrEyeIndexANDROID
से इंडेक्स किया गया है.mode
,XrEyeTrackingModeANDROID
है. इससे पता चलता है कि आँखें ट्रैक कर रही हैं या नहीं और कौनसी आँखें ट्रैक कर रही हैं.
मान्य इस्तेमाल (इंप्लिसिट)
XrEyesANDROID
का इस्तेमाल करने से पहले,XR_ANDROID_eye_tracking
एक्सटेंशन चालू होना चाहिएtype
होनी चाहिएXR_TYPE_EYES_ANDROID
next
NULL
या स्ट्रक्चर चेन में अगले स्ट्रक्चर का मान्य पॉइंटर होना चाहिएeyes
का कोई भी एलिमेंट, मान्यXrEyeANDROID
स्ट्रक्चर होना चाहिएmode
की वैल्यू,XrEyeTrackingModeANDROID
की मान्य वैल्यू होनी चाहिए
XrEyeANDROID
स्ट्रक्चर से, आंख की स्थिति, जगह, और ओरिएंटेशन के बारे में पता चलता है.
typedef struct XrEyeANDROID {
XrEyeStateANDROID eyeState;
XrPosef eyePose;
} XrEyeANDROID;
पैसे चुकाकर बने सदस्यों के ब्यौरे
eyeState
, आंख काXrEyeStateANDROID
है.pose
एकXrPosef
है, जो उसXrEyesGetInfoANDROID::baseSpace
के रेफ़रंस फ़्रेम में, आंख के ऑरिजिन की पोज़िशन और ओरिएंटेशन तय करता है. यहां आइडेंटिटी ओरिएंटेशन, उपयोगकर्ता की आंखों में +Z, दाईं ओर +X, और ऊपर +Y के साथ कोऑर्डिनेट ऐक्स दिखाता है.
मान्य इस्तेमाल (इंप्लिसिट)
XrEyeANDROID
का इस्तेमाल करने से पहले,XR_ANDROID_eye_tracking
एक्सटेंशन चालू होना चाहिएeyeState
की वैल्यू,XrEyeStateANDROID
की मान्य वैल्यू होनी चाहिए
XrEyeStateANDROID
एनोटेशन, ट्रैक की गई आंखों की अलग-अलग स्थितियों की पहचान करता है.
typedef enum XrEyeStateANDROID {
XR_EYE_STATE_INVALID_ANDROID = 0,
XR_EYE_STATE_GAZING_ANDROID = 1,
XR_EYE_STATE_SHUT_ANDROID = 2
} XrEyeStateANDROID;
वैल्यू के इन विकल्पों का मतलब यह है:
Enum |
जानकारी |
|
इससे पता चलता है कि आइकॉन में गड़बड़ी है या वह मौजूद नहीं है. |
|
इससे पता चलता है कि आंखें एकटक देख रही हैं. |
|
इससे पता चलता है कि पलक झपकने या आंख मारने की वजह से आंख बंद है. |
XrEyeIndexANDROID
एनोटेशन से, बाईं या दाईं आंख के इंडेक्स की पहचान की जाती है.
typedef enum XrEyeIndexANDROID {
XR_EYE_INDEX_LEFT_ANDROID = 0,
XR_EYE_INDEX_RIGHT_ANDROID = 1
} XrEyeIndexANDROID;
वैल्यू के इन विकल्पों का मतलब यह है:
Enum |
जानकारी |
|
बाईं आंख. |
|
दाईं आंख. |
XrEyeTrackingModeANDROID
एनोटेशन, ट्रैक की गई आंखों के अलग-अलग मोड की पहचान करता है.
typedef enum XrEyeTrackingModeANDROID {
XR_EYE_TRACKING_MODE_NOT_TRACKING_ANDROID = 0,
XR_EYE_TRACKING_MODE_RIGHT_ANDROID = 1,
XR_EYE_TRACKING_MODE_LEFT_ANDROID = 2,
XR_EYE_TRACKING_MODE_BOTH_ANDROID = 3
} XrEyeTrackingModeANDROID;
वैल्यू के इन विकल्पों का मतलब यह है:
Enum |
जानकारी |
|
इससे पता चलता है कि आंखों की गतिविधियों को ट्रैक करने की सुविधा चालू नहीं है. |
|
इससे पता चलता है कि सिर्फ़ दाईं आंख ट्रैकिंग कर रही है. |
|
इससे पता चलता है कि सिर्फ़ बाईं आंख ट्रैकिंग कर रही है. |
|
इससे पता चलता है कि बाईं और दाईं, दोनों आंखें ट्रैक कर रही हैं. |
आंखों की गतिविधियों को ट्रैक करने के लिए कोड का उदाहरण
यहां दिए गए उदाहरण में, किसी व्यू स्पेस के हिसाब से, आंख की जानकारी पाने का तरीका बताया गया है.
XrSession session; // previously initialized, e.g. created at app startup.
XrSpace viewSpace; // space created for XR_REFERENCE_SPACE_TYPE_VIEW.
// The function pointers are previously initialized using xrGetInstanceProcAddr.
PFN_xrCreateEyeTrackerANDROID xrCreateEyeTrackerANDROID; // previously initialized
PFN_xrDestroyEyeTrackerANDROID xrDestroyEyeTrackerANDROID; // previously initialized
PFN_xrGetCoarseTrackingEyesInfoANDROID xrGetCoarseTrackingEyesInfoANDROID; // previously initialized
PFN_xrGetFineTrackingEyesInfoANDROID xrGetFineTrackingEyesInfoANDROID; // previously initialized
// This will use the XrSession that is bound to the eye tracker done at time of creation.
XrEyeTrackerANDROID eyeTracker;
XrEyeTrackerCreateInfoANDROID createInfo{
.type = XR_TYPE_EYE_TRACKER_CREATE_INFO_ANDROID,
.next = nullptr};
CHK_XR(xrCreateEyeTrackerANDROID(session, &createInfo, &eyeTracker));
while (1) {
// ...
// For every frame in frame loop
// ...
XrFrameState frameState; // previously returned from xrWaitFrame
const XrTime time = frameState.predictedDisplayTime;
XrEyesANDROID fineEyesInfo{.type = XR_TYPE_EYES_ANDROID,
.next = nullptr,
.mode = XR_EYE_TRACKING_MODE_BOTH_ANDROID};
XrEyesANDROID coarseEyesInfo{.type = XR_TYPE_EYES_ANDROID,
.next = nullptr,
.mode = XR_EYE_TRACKING_MODE_BOTH_ANDROID};
XrEyesGetInfoANDROID eyesGetInfo{.type = XR_TYPE_EYES_GET_INFO_ANDROID,
.next = nullptr,
.time = time,
.baseSpace = viewSpace};
CHK_XR(xrGetCoarseTrackingEyesInfoANDROID(eyeTracker, &eyesGetInfo, &coarseEyesInfo));
CHK_XR(xrGetFineTrackingEyesInfoANDROID(eyeTracker, &eyesGetInfo, &fineEyesInfo));
// eyes tracking information is now available:
// drawLeftEye(eyesInfo.eyes[XR_EYE_INDEX_LEFT_ANDROID].eyePose);
// drawRightEye(eyesInfo.eyes[XR_EYE_INDEX_RIGHT_ANDROID].eyePose);
// ...
// Finish frame loop
// ...
}
// after usage
CHK_XR(xrDestroyEyeTrackerANDROID(eyeTracker));
नए ऑब्जेक्ट टाइप
नई Enum Constant
XR_EYE_MAX_ANDROID
XrObjectType
एनोटेशन के लिए, इन एलिमेंट का इस्तेमाल किया जा सकता है:
XR_OBJECT_TYPE_EYE_TRACKER_ANDROID
XrStructureType
एनोटेशन के लिए, इन एलिमेंट का इस्तेमाल किया जा सकता है:
XR_TYPE_EYES_ANDROID
XR_TYPE_EYE_TRACKER_CREATE_INFO_ANDROID
XR_TYPE_EYES_GET_INFO_ANDROID
XR_TYPE_SYSTEM_EYE_TRACKING_PROPERTIES_ANDROID
नए Enums
नए स्ट्रक्चर
XrEyeANDROID
XrEyesANDROID
XrEyesGetInfoANDROID
XrEyeTrackerCreateInfoANDROID
XrSystemEyeTrackingPropertiesANDROID
नए फ़ंक्शन
xrCreateEyeTrackerANDROID
xrDestroyEyeTrackerANDROID
xrGetCoarseTrackingEyesInfoANDROID
xrGetFineTrackingEyesInfoANDROID
समस्याएं
वर्शन का इतिहास
- पहला बदलाव, 17-01-2025 (केनी वर्कमेयर)
- एक्सटेंशन के बारे में शुरुआती जानकारी