XR_ANDROID_eye_tracking
رشته نام
XR_ANDROID_eye_tracking
نوع افزونه
افزونه نمونه
شماره داخلی ثبتشده
457
بازبینی
1
وضعیت تصویب
تصویبنشده
وابستگیهای افزونه و نسخه
تاریخ آخرین تغییر
2025-01-17
وضعیت IP
هیچ ادعای مالکیت فکری شناختهشدهای وجود ندارد.
همیاران
Spencer Quin، Google
Jared Finder، Google
Levana Chen، Google
Kenny Vercaemer، Google
Prasanthi Gurumurthy، Google
Nihav Jain، Google
نمای کلی
این افزونه به برنامهها امکان میدهد موقعیت و جهت چشمهای کاربر و همچنین وضعیت ردگیری چشم را دریافت کنند.
دادههای ردگیری چشم در دو حالت ارائه میشود: درشت و ریز. ردیابی کلی تخمینی کلی از چشمهای کاربر ارائه میدهد، درحالیکه ردیابی دقیق تخمینی دقیقتر ارائه میدهد. ردیابی کلی برای برنامههایی است که میخواهند نمایشی ساده شبیه به چهرهواره ارائه دهند، درحالیکه ردیابی دقیق برای برنامههای دقیقتر است.
برای تعامل، XR_EXT_eye_gaze_interaction باید استفاده شود.
اجازهها
برنامههای Android باید اجازه android.permission.EYE_TRACKING_COARSE یا android.permission.EYE_TRACKING_FINE را در مانیفست خود فهرست کنند. این اجازهها جزو اجازههای خطرناک محسوب میشوند. برنامه باید برای استفاده از این عملکردها، در زمان اجرا درخواست اجازه کند:
- xrCreateEyeTrackerANDROID (حداقل یکی از اجازهها)
- xrGetCoarseTrackingEyesInfoANDROID (android.permission.EYE_TRACKING_COARSE)
- xrGetFineTrackingEyesInfoANDROID (android.permission.EYE_TRACKING_FINE)
(سطح محافظت: خطرناک)
بررسی قابلیت سیستم
ساختار XrSystemEyeTrackingPropertiesANDROID بهصورت زیر تعریف میشود:
typedef struct XrSystemEyeTrackingPropertiesANDROID {
XrStructureType type;
void* next;
XrBool32 supportsEyeTracking;
} XrSystemEyeTrackingPropertiesANDROID;
توضیحات عضو
typeXrStructureType این ساختار است.-
nextبرابر باNULLیا اشارهگری به ساختار بعدی در زنجیره ساختار است. چنین ساختارهایی در OpenXR اصلی یا این افزونه تعریف نشده است. -
supportsEyeTrackingیکXrBool32است که نشان میدهد آیا سیستم فعلی از ردگیری چشم پشتیبانی میکند یا نه.
برنامه میتواند با گسترش دادن XrSystemProperties با ساختار XrSystemEyeTrackingPropertiesANDROID هنگام فراخوانی xrGetSystemProperties بررسی کند که آیا سیستم قادر به ردگیری چشم است یا نه.
اگر و فقط اگر زمان اجرا XR_FALSE را برای supportsEyeTracking برگرداند، زمان اجرا باید XR_ERROR_FEATURE_UNSUPPORTED را از xrCreateEyeTrackerANDROID برگرداند.
استفاده معتبر (ضمنی)
- افزونه
XR_ANDROID_eye_trackingباید قبلاز استفاده از XrSystemEyeTrackingPropertiesANDROID فعال شود -
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 برگرداند.
استفاده معتبر (ضمنی)
- افزونه
XR_ANDROID_eye_trackingباید قبلاز فراخوانی xrCreateEyeTrackerANDROID فعال شود -
sessionباید یک دسته XrSession معتبر باشد -
createInfoباید اشارهگری به ساختار معتبر XrEyeTrackerCreateInfoANDROID باشد -
eyeTrackerباید اشارهگری به دسته XrEyeTrackerANDROID باشد
کدهای برگشتی
XR_SUCCESSXR_SESSION_LOSS_PENDING
XR_ERROR_FEATURE_UNSUPPORTEDXR_ERROR_FUNCTION_UNSUPPORTEDXR_ERROR_HANDLE_INVALIDXR_ERROR_INSTANCE_LOSTXR_ERROR_LIMIT_REACHEDXR_ERROR_OUT_OF_MEMORYXR_ERROR_RUNTIME_FAILUREXR_ERROR_SESSION_LOSTXR_ERROR_VALIDATION_FAILURE
ساختار XrEyeTrackerCreateInfoANDROID بهصورت زیر تعریف میشود:
typedef struct XrEyeTrackerCreateInfoANDROID {
XrStructureType type;
const void* next;
} XrEyeTrackerCreateInfoANDROID;
توضیحات عضو
typeXrStructureType این ساختار است.-
nextبرابر باNULLیا اشارهگری به ساختار بعدی در زنجیره ساختار است. چنین ساختارهایی در OpenXR اصلی یا این افزونه تعریف نشده است.
ساختار XrEyeTrackerCreateInfoANDROID اطلاعات لازم برای ایجاد دسته XrEyeTrackerANDROID را شرح میدهد.
استفاده معتبر (ضمنی)
- افزونه
XR_ANDROID_eye_trackingباید قبلاز استفاده از XrEyeTrackerCreateInfoANDROID فعال شود -
typeبایدXR_TYPE_EYE_TRACKER_CREATE_INFO_ANDROIDباشد -
nextبایدNULLیا اشارهگر معتبری به ساختار بعدی در زنجیره ساختار باشد
تابع xrDestroyEyeTrackerANDROID بهصورت زیر تعریف میشود:
XrResult xrDestroyEyeTrackerANDROID(
XrEyeTrackerANDROID eyeTracker);
شرح پارامترها
-
eyeTrackerیک XrEyeTrackerANDROID است که قبلاً توسط xrCreateEyeTrackerANDROID ایجاد شده است.
تابع xrDestroyEyeTrackerANDROID پساز اتمام تجربههای ردگیری چشم، eyeTracker و منابع اساسی را آزاد میکند.
استفاده معتبر (ضمنی)
- افزونه
XR_ANDROID_eye_trackingباید قبلاز فراخوانی xrDestroyEyeTrackerANDROID فعال شود -
eyeTrackerباید شناسه مجازی XrEyeTrackerANDROID معتبری باشد
ایمنی رشتهای
- دسترسی به
eyeTrackerو هرگونه دسته فرزند باید بهصورت خارجی همگامسازی شود
کدهای برگشتی
XR_SUCCESS
XR_ERROR_FUNCTION_UNSUPPORTEDXR_ERROR_HANDLE_INVALIDXR_ERROR_RUNTIME_FAILURE
درحال دریافت اطلاعات چشمها
تابع xrGetCoarseTrackingEyesInfoANDROID بهصورت زیر تعریف میشود:
XrResult xrGetCoarseTrackingEyesInfoANDROID(
XrEyeTrackerANDROID eyeTracker,
const XrEyesGetInfoANDROID* getInfo,
XrEyesANDROID* eyesOutput);
شرح پارامترها
-
eyeTrackerیک XrEyeTrackerANDROID است که قبلاً توسط xrCreateEyeTrackerANDROID ایجاد شده است. -
getInfoاشارهگری به XrEyesGetInfoANDROID است که برای ارائه اطلاعات جهت پرسمان حالتها و وضعیتهای چشم استفاده میشود. -
eyesOutputاشارهگری به XrEyesANDROID است که حاوی اطلاعات چشمهای برگرداندهشده ازجمله حالتها و وضعیتها است.
تابع xrGetCoarseTrackingEyesInfoANDROID اطلاعات مربوط به حالتها و ژستهای چشم را بهگونهای دریافت میکند که حریم خصوصی کاربر حفظ شود.
اگر برنامه اجازه android.permission.EYE_TRACKING_COARSE را نداشته باشد، زمان اجرا باید XR_ERROR_PERMISSION_INSUFFICIENT را برگرداند.
حالتهای چشم در XrEyesGetInfoANDROID :: baseSpace در XrEyesGetInfoANDROID :: time بیان میشوند.
در هر نقطهای از زمان، هم موقعیت و هم جهت حالت چشم ردیابی یا ردیابینشده است. این یعنی زمان اجرا باید هم XR_SPACE_LOCATION_POSITION_TRACKED_BIT و هم XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT را تنظیم کند یا هم XR_SPACE_LOCATION_POSITION_TRACKED_BIT و هم XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT را در XrEyesANDROID :: eyes ارائهشده پاک کند، و XrEyesANDROID :: mode را برای نشان دادن وضعیتهای ردیابی تنظیم کند.
استفاده معتبر (ضمنی)
- افزونه
XR_ANDROID_eye_trackingباید قبلاز فراخوانی xrGetCoarseTrackingEyesInfoANDROID فعال شود -
eyeTrackerباید شناسه مجازی XrEyeTrackerANDROID معتبر باشد -
getInfoباید اشارهگری به ساختار معتبر XrEyesGetInfoANDROID باشد -
eyesOutputباید اشارهگری به ساختار XrEyesANDROID باشد
کدهای برگشتی
XR_SUCCESSXR_SESSION_LOSS_PENDING
XR_ERROR_FUNCTION_UNSUPPORTEDXR_ERROR_HANDLE_INVALIDXR_ERROR_INSTANCE_LOSTXR_ERROR_LIMIT_REACHEDXR_ERROR_OUT_OF_MEMORYXR_ERROR_PERMISSION_INSUFFICIENTXR_ERROR_RUNTIME_FAILUREXR_ERROR_SESSION_LOSTXR_ERROR_TIME_INVALIDXR_ERROR_VALIDATION_FAILURE
تابع xrGetFineTrackingEyesInfoANDROID بهصورت زیر تعریف میشود:
XrResult xrGetFineTrackingEyesInfoANDROID(
XrEyeTrackerANDROID eyeTracker,
const XrEyesGetInfoANDROID* getInfo,
XrEyesANDROID* eyesOutput);
شرح پارامترها
-
eyeTrackerیک XrEyeTrackerANDROID است که قبلاً توسط xrCreateEyeTrackerANDROID ایجاد شده است. -
getInfoاشارهگری به XrEyesGetInfoANDROID است که برای مشخص کردن خروجی موردنیاز استفاده میشود. -
eyesOutputاشارهگری به XrEyesANDROID است که حاوی اطلاعات چشمهای برگرداندهشده ازجمله حالتها و وضعیتها است.
تابع xrGetFineTrackingEyesInfoANDROID اطلاعات مربوط به حالتها و ژستهای چشم را با دقت بالاتری نسبتبه xrGetCoarseTrackingEyesInfoANDROID دریافت میکند.
اگر برنامه اجازه android.permission.EYE_TRACKING_FINE را نداشته باشد، زمان اجرا باید XR_ERROR_PERMISSION_INSUFFICIENT را برگرداند.
اطلاعات چشمها حلوفصل میشود و نسبت به فضای پایه در زمان فراخوانی xrGetFineTrackingEyesInfoANDROID بااستفاده از XrEyesGetInfoANDROID :: time ، XrEyesGetInfoANDROID :: baseSpace است. زمان اجرا باید مکان تعریفشده توسط XrEyesGetInfoANDROID :: baseSpace را در زمان تماس حل کند.
در هر نقطهای از زمان، هم موقعیت و هم جهت حالت چشم ردیابی یا ردیابینشده است. این یعنی زمان اجرا باید هم XR_SPACE_LOCATION_POSITION_TRACKED_BIT و هم XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT را تنظیم کند یا هم XR_SPACE_LOCATION_POSITION_TRACKED_BIT و هم XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT را در XrEyesANDROID :: eyes ارائهشده پاک کند، و XrEyesANDROID :: mode را برای نشان دادن وضعیتهای ردیابی تنظیم کند.
استفاده معتبر (ضمنی)
- افزونه
XR_ANDROID_eye_trackingباید قبلاز فراخوانی xrGetFineTrackingEyesInfoANDROID فعال شود -
eyeTrackerباید شناسه مجازی XrEyeTrackerANDROID معتبری باشد -
getInfoباید اشارهگری به ساختار معتبر XrEyesGetInfoANDROID باشد -
eyesOutputباید اشارهگری به ساختار XrEyesANDROID باشد
کدهای برگشتی
XR_SUCCESSXR_SESSION_LOSS_PENDING
XR_ERROR_FUNCTION_UNSUPPORTEDXR_ERROR_HANDLE_INVALIDXR_ERROR_INSTANCE_LOSTXR_ERROR_LIMIT_REACHEDXR_ERROR_OUT_OF_MEMORYXR_ERROR_PERMISSION_INSUFFICIENTXR_ERROR_RUNTIME_FAILUREXR_ERROR_SESSION_LOSTXR_ERROR_TIME_INVALIDXR_ERROR_VALIDATION_FAILURE
ساختار XrEyesGetInfoANDROID حاوی اطلاعات لازم برای بازیابی حالتها و وضعیتهای چشم است.
typedef struct XrEyesGetInfoANDROID {
XrStructureType type;
const void* next;
XrTime time;
XrSpace baseSpace;
} XrEyesGetInfoANDROID;
توضیحات عضو
typeXrStructureType این ساختار است.-
nextبرابر باNULLیا اشارهگری به ساختار بعدی در زنجیره ساختار است. چنین ساختارهایی در OpenXR اصلی یا این افزونه تعریف نشده است. timeXrTimeاست که مختصات نسبتبهbaseSpaceدر آن ارزیابی میشود.-
baseSpaceهمان XrSpace است که حالتهای چشم در آن برگردانده میشود.
استفاده معتبر (ضمنی)
- افزونه
XR_ANDROID_eye_trackingباید قبلاز استفاده از XrEyesGetInfoANDROID فعال شود -
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;
توضیحات عضو
typeXrStructureType این ساختار است.-
nextبرابر باNULLیا اشارهگری به ساختار بعدی در زنجیره ساختار است. چنین ساختارهایی در OpenXR اصلی یا این افزونه تعریف نشده است. -
eyesآرایهای از XrEyeANDROID با اندازهXR_EYE_MAX_ANDROIDبرای چشمهای چپ و راست است که توسط XrEyeIndexANDROID نمایهگذاری شده است. -
modeهمان XrEyeTrackingModeANDROID است که نشان میدهد کدام چشم درحالحاضر درحال ردگیری است.
استفاده معتبر (ضمنی)
- افزونه
XR_ANDROID_eye_trackingباید پیشاز استفاده از XrEyesANDROID فعال شود -
typeبایدXR_TYPE_EYES_ANDROIDباشد -
nextبایدNULLیا اشارهگر معتبری به ساختار بعدی در زنجیره ساختار باشد - هر عنصر دادهشده از
eyesباید ساختار XrEyeANDROID معتبری باشد -
modeباید مقدار XrEyeTrackingModeANDROID معتبری باشد
ساختار XrEyeANDROID وضعیت، موقعیت، و جهت چشم را توصیف میکند.
typedef struct XrEyeANDROID {
XrEyeStateANDROID eyeState;
XrPosef eyePose;
} XrEyeANDROID;
توضیحات عضو
-
eyeStateXrEyeStateANDROID چشم است. -
eyePoseیک XrPosef است که موقعیت و جهت مردمک چشم را در قاب مرجع XrEyesGetInfoANDROID ::baseSpaceمربوطه تعریف میکند. جهت هویت در اینجا نشاندهنده محورهای مختصات با +Z در چشمهای کاربر، +X در سمت راست، و +Y در بالا است.
استفاده معتبر (ضمنی)
- افزونه
XR_ANDROID_eye_trackingباید پیشاز استفاده از XrEyeANDROID فعال شود -
eyeStateباید مقدار XrEyeStateANDROID معتبری باشد
شمارش XrEyeStateANDROID حالتهای مختلف چشمهای ردیابیشده را شناسایی میکند.
typedef enum XrEyeStateANDROID {
XR_EYE_STATE_INVALID_ANDROID = 0,
XR_EYE_STATE_GAZING_ANDROID = 1,
XR_EYE_STATE_SHUT_ANDROID = 2,
XR_EYE_STATE_MAX_ENUM_ANDROID = 0x7FFFFFFF
} XrEyeStateANDROID;
مقادیر شمارشی معانی زیر را دارند:
شرح شمارشی
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,
XR_EYE_INDEX_MAX_ENUM_ANDROID = 0x7FFFFFFF
} XrEyeIndexANDROID;
مقادیر شمارشی معانی زیر را دارند:
شرح شمارشی
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,
XR_EYE_TRACKING_MODE_MAX_ENUM_ANDROID = 0x7FFFFFFF
} XrEyeTrackingModeANDROID;
مقادیر شمارشی معانی زیر را دارند:
شرح شمارشی
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
نشان میدهد که هر دو چشم چپ و راست درحال ردیابی هستند.
#define XR_EYE_MAX_ANDROID 2
XR_EYE_MAX_ANDROID حداکثر تعداد چشمهایی است که دادههای XrEyeANDROID برای آنها گزارش میشود.
کد نمونه برای ردگیری چشم
کد نمونه زیر نشان میدهد که چگونه اطلاعات چشمها را نسبت به فضای نمای دریافت کنید.
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));
انواع شیء جدید
فرمانهای جدید
- xrCreateEyeTrackerANDROID
- xrDestroyEyeTrackerANDROID
- xrGetCoarseTrackingEyesInfoANDROID
- xrGetFineTrackingEyesInfoANDROID
سازههای جدید
- XrEyeANDROID
- XrEyeTrackerCreateInfoANDROID
- XrEyesANDROID
- XrEyesGetInfoANDROID
درحال گسترش دادن XrSystemProperties :
Enums جدید
ثابتهای شمارشی جدید
XR_ANDROID_EYE_TRACKING_EXTENSION_NAMEXR_ANDROID_eye_tracking_SPEC_VERSIONXR_EYE_MAX_ANDROIDدرحال گسترش دادن XrObjectType :
XR_OBJECT_TYPE_EYE_TRACKER_ANDROID
درحال گسترش دادن XrStructureType :
XR_TYPE_EYES_ANDROIDXR_TYPE_EYES_GET_INFO_ANDROIDXR_TYPE_EYE_TRACKER_CREATE_INFO_ANDROIDXR_TYPE_SYSTEM_EYE_TRACKING_PROPERTIES_ANDROID
مشکلات
سابقه نسخه
بازبینی ۱، ۲۰۲۵/۰۱/۱۷ (Kenny Vercaemer)
- شرح اولیه افزونه