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होना ज़रूरी हैnextNULLया स्ट्रक्चर चेन में अगले स्ट्रक्चर का मान्य पॉइंटर होना चाहिए
आइ ट्रैकर हैंडल बनाना
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स्ट्रक्चर का पॉइंटर होना चाहिएeyeTrackerXrEyeTrackerANDROIDहैंडल का पॉइंटर होना ज़रूरी है
रिटर्न कोड
XR_SUCCESSXR_SESSION_LOSS_PENDING
XR_ERROR_FUNCTION_UNSUPPORTEDXR_ERROR_VALIDATION_FAILUREXR_ERROR_RUNTIME_FAILUREXR_ERROR_HANDLE_INVALIDXR_ERROR_INSTANCE_LOSTXR_ERROR_SESSION_LOSTXR_ERROR_OUT_OF_MEMORYXR_ERROR_LIMIT_REACHEDXR_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होना ज़रूरी हैnextNULLया स्ट्रक्चर चेन में अगले स्ट्रक्चर का मान्य पॉइंटर होना चाहिए
xrDestroyEyeTrackerANDROID फ़ंक्शन को इस तरह परिभाषित किया गया है:
XrResult xrDestroyEyeTrackerANDROID(
XrEyeTrackerANDROID eyeTracker);
पैरामीटर की जानकारी
eyeTrackerएकXrEyeTrackerANDROIDहै, जिसे पहलेxrCreateEyeTrackerANDROIDने बनाया था.
xrDestroyEyeTrackerANDROID फ़ंक्शन, आंखों की गति को ट्रैक करने की सुविधा के खत्म होने पर, eyeTracker और उससे जुड़े संसाधनों को रिलीज़ कर देता है.
मान्य इस्तेमाल (इंप्लिसिट)
xrDestroyEyeTrackerANDROIDको कॉल करने से पहले,XR_ANDROID_eye_trackingएक्सटेंशन चालू होना चाहिएeyeTrackerएक मान्यXrEyeTrackerANDROIDहैंडल होना चाहिए.
थ्रेड की सुरक्षा
eyeTrackerऔर किसी भी चाइल्ड हैंडल का ऐक्सेस, बाहरी तौर पर सिंक किया जाना ज़रूरी है
रिटर्न कोड
XR_SUCCESS
XR_ERROR_FUNCTION_UNSUPPORTEDXR_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_SUCCESSXR_SESSION_LOSS_PENDING
XR_ERROR_FUNCTION_UNSUPPORTEDXR_ERROR_VALIDATION_FAILUREXR_ERROR_RUNTIME_FAILUREXR_ERROR_HANDLE_INVALIDXR_ERROR_INSTANCE_LOSTXR_ERROR_SESSION_LOSTXR_ERROR_OUT_OF_MEMORYXR_ERROR_LIMIT_REACHEDXR_ERROR_TIME_INVALIDXR_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_SUCCESSXR_SESSION_LOSS_PENDING
XR_ERROR_FUNCTION_UNSUPPORTEDXR_ERROR_VALIDATION_FAILUREXR_ERROR_RUNTIME_FAILUREXR_ERROR_HANDLE_INVALIDXR_ERROR_INSTANCE_LOSTXR_ERROR_SESSION_LOSTXR_ERROR_OUT_OF_MEMORYXR_ERROR_LIMIT_REACHEDXR_ERROR_TIME_INVALIDXR_ERROR_PERMISSION_INSUFFICIENT
XrEyesGetInfoANDROID स्ट्रक्चर में, आंखों के पोज़ और स्थितियों को वापस पाने के लिए ज़रूरी जानकारी होती है.
typedef struct XrEyesGetInfoANDROID {
XrStructureType type;
void* next;
XrTime time;
XrSpace baseSpace;
} XrEyesGetInfoANDROID;
पैसे चुकाकर बने सदस्यों के ब्यौरे
typeइस स्ट्रक्चर काXrStructureTypeहै.next,NULLहै या स्ट्रक्चर चेन में अगले स्ट्रक्चर का पॉइंटर है. OpenXR के मुख्य वर्शन या इस एक्सटेंशन में, इस तरह के स्ट्रक्चर तय नहीं किए गए हैं.timeवहXrTimeहै जिस परbaseSpaceके हिसाब से निर्देशांक का आकलन किया जाना है.baseSpacetimeपर, आंखों का पोज़ इसXrSpaceके हिसाब से होगा.
मान्य इस्तेमाल (इंप्लिसिट)
XrEyesGetInfoANDROIDका इस्तेमाल करने से पहले,XR_ANDROID_eye_trackingएक्सटेंशन चालू होना चाहिएtypeकोXR_TYPE_EYES_GET_INFO_ANDROIDहोना ज़रूरी हैnextNULLया स्ट्रक्चर चेन में अगले स्ट्रक्चर का मान्य पॉइंटर होना चाहिए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होना ज़रूरी हैnextNULLया स्ट्रक्चर चेन में अगले स्ट्रक्चर का मान्य पॉइंटर होना चाहिए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_ANDROIDXR_TYPE_EYE_TRACKER_CREATE_INFO_ANDROIDXR_TYPE_EYES_GET_INFO_ANDROIDXR_TYPE_SYSTEM_EYE_TRACKING_PROPERTIES_ANDROID
नए Enums
नए स्ट्रक्चर
XrEyeANDROIDXrEyesANDROIDXrEyesGetInfoANDROIDXrEyeTrackerCreateInfoANDROIDXrSystemEyeTrackingPropertiesANDROID
नए फ़ंक्शन
xrCreateEyeTrackerANDROIDxrDestroyEyeTrackerANDROIDxrGetCoarseTrackingEyesInfoANDROIDxrGetFineTrackingEyesInfoANDROID
समस्याएं
वर्शन का इतिहास
- पहला बदलाव, 17-01-2025 (केनी वर्कमेयर)
- एक्सटेंशन के बारे में शुरुआती जानकारी
OpenXR™ और OpenXR लोगो, The Khronos Group Inc. के मालिकाना हक वाले ट्रेडमार्क हैं. ये चीन, यूरोपीय संघ, जापान, और यूनाइटेड किंगडम में ट्रेडमार्क के तौर पर रजिस्टर किए गए हैं.