XR_ANDROID_eye_tracking OpenXR एक्सटेंशन

Name String

XR_ANDROID_eye_tracking

एक्सटेंशन टाइप

इंस्टेंस एक्सटेंशन

रजिस्टर किया गया एक्सटेंशन नंबर

457

बदलाव

1

एक्सटेंशन और वर्शन की डिपेंडेंसी

OpenXR 1.0

पिछली बार बदलाव करने की तारीख

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 मिलेगा.

मान्य इस्तेमाल (इंप्लिसिट)

आइ ट्रैकर हैंडल बनाना

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 हैंडल बनाने के लिए ज़रूरी जानकारी दी गई है.

मान्य इस्तेमाल (इंप्लिसिट)

xrDestroyEyeTrackerANDROID फ़ंक्शन को इस तरह परिभाषित किया गया है:

XrResult xrDestroyEyeTrackerANDROID(
    XrEyeTrackerANDROID                         eyeTracker);

पैरामीटर की जानकारी

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 के हिसाब से होगा.

मान्य इस्तेमाल (इंप्लिसिट)

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 है. इससे पता चलता है कि आँखें ट्रैक कर रही हैं या नहीं और कौनसी आँखें ट्रैक कर रही हैं.

मान्य इस्तेमाल (इंप्लिसिट)

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

जानकारी

XR_EYE_STATE_INVALID_ANDROID

इससे पता चलता है कि आइकॉन में गड़बड़ी है या वह मौजूद नहीं है.

XR_EYE_STATE_GAZING_ANDROID

इससे पता चलता है कि आंखें एकटक देख रही हैं.

XR_EYE_STATE_SHUT_ANDROID

इससे पता चलता है कि पलक झपकने या आंख मारने की वजह से आंख बंद है.

XrEyeIndexANDROID एनोटेशन से, बाईं या दाईं आंख के इंडेक्स की पहचान की जाती है.

typedef enum XrEyeIndexANDROID {
    XR_EYE_INDEX_LEFT_ANDROID = 0,
    XR_EYE_INDEX_RIGHT_ANDROID = 1
} XrEyeIndexANDROID;

वैल्यू के इन विकल्पों का मतलब यह है:

Enum

जानकारी

XR_EYE_INDEX_LEFT_ANDROID

बाईं आंख.

XR_EYE_INDEX_RIGHT_ANDROID

दाईं आंख.

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

जानकारी

XR_EYE_TRACKING_MODE_NOT_TRACKING_ANDROID

इससे पता चलता है कि आंखों की गतिविधियों को ट्रैक करने की सुविधा चालू नहीं है.

XR_EYE_TRACKING_MODE_RIGHT_ANDROID

इससे पता चलता है कि सिर्फ़ दाईं आंख ट्रैकिंग कर रही है.

XR_EYE_TRACKING_MODE_LEFT_ANDROID

इससे पता चलता है कि सिर्फ़ बाईं आंख ट्रैकिंग कर रही है.

XR_EYE_TRACKING_MODE_BOTH_ANDROID

इससे पता चलता है कि बाईं और दाईं, दोनों आंखें ट्रैक कर रही हैं.

आंखों की गतिविधियों को ट्रैक करने के लिए कोड का उदाहरण

यहां दिए गए उदाहरण में, किसी व्यू स्पेस के हिसाब से, आंख की जानकारी पाने का तरीका बताया गया है.

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

नए स्ट्रक्चर

नए फ़ंक्शन

समस्याएं

वर्शन का इतिहास

  • पहला बदलाव, 17-01-2025 (केनी वर्कमेयर)
    • एक्सटेंशन के बारे में शुरुआती जानकारी