XR_ANDROID_eye_tracking
নামের স্ট্রিং
XR_ANDROID_eye_tracking
এক্সটেনশনের ধরন
ইনস্ট্যান্স এক্সটেনশন
রেজিস্টার করা এক্সটেনশন নম্বর
457
সংশোধন
1
অনুমোদনের স্ট্যাটাস
অনুমোদিত নয়
এক্সটেনশন ও ভার্সন ডিপেন্ডেন্সি
শেষবার পরিবর্তন করার তারিখ
2025-01-17
IP স্ট্যাটাস
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;
মেম্বারদের বিবরণ
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 হ্যান্ডেল তৈরি করে।
সিস্টেম আই ট্র্যাকিং সাপোর্ট না করলে, রানটাইমকে xrCreateEyeTrackerANDROID থেকে XR_ERROR_FEATURE_UNSUPPORTED অবশ্যই ফিরিয়ে দিতে হবে।
সঠিক ব্যবহার (অন্তর্নিহিত)
- xrCreateEyeTrackerANDROID কল করার আগে
XR_ANDROID_eye_trackingএক্সটেনশন অবশ্যই চালু করতে হবে -
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;
মেম্বারদের বিবরণ
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_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 দুটিই সেট করতে হবে অথবা প্রদত্ত 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_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 রিটার্ন করতেই হবে।
XrEyesGetInfoANDROID :: time , XrEyesGetInfoANDROID :: baseSpace ব্যবহার করে xrGetFineTrackingEyesInfoANDROID-এ কল করার সময় চোখের তথ্য সমাধান করা হয় এবং বেস স্পেসের সাথে সম্পর্কিত হয়। কল করার সময় রানটাইমকে XrEyesGetInfoANDROID :: baseSpace-এর মাধ্যমে নির্ধারিত লোকেশন অবশ্যই সমাধান করতে হবে।
যেকোনও সময় চোখের পোজের অবস্থান ও দিক ট্র্যাক করা বা আনট্র্যাক করা হয়। এর অর্থ হল, রানটাইমকে অবশ্যই XR_SPACE_LOCATION_POSITION_TRACKED_BIT এবং XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT দুটিই সেট করতে হবে অথবা প্রদত্ত 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_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;
মেম্বারদের বিবরণ
typeহল এই স্ট্রাকচারের XrStructureType।nextহলNULLঅথবা স্ট্রাকচার চেনের পরবর্তী স্ট্রাকচারের পয়েন্টার। কোর OpenXR বা এই এক্সটেনশনে এই ধরনের কোনও স্ট্রাকচার সংজ্ঞায়িত করা নেই।timeহলXrTimeযার ভিত্তিতেbaseSpace-এর সাপেক্ষে কোঅর্ডিনেট মূল্যায়ন করা হবে।baseSpaceহল 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-এর একটি অ্যারে, যার সাইজ হলXR_EYE_MAX_ANDROID, বাঁ ও ডান চোখের জন্য, যেমন 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।eyePoseহল একটি 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,
XR_EYE_STATE_MAX_ENUM_ANDROID = 0x7FFFFFFF
} XrEyeStateANDROID;
enum-এর অর্থ হল:
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,
XR_EYE_INDEX_MAX_ENUM_ANDROID = 0x7FFFFFFF
} XrEyeIndexANDROID;
enum-এর অর্থ হল:
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,
XR_EYE_TRACKING_MODE_MAX_ENUM_ANDROID = 0x7FFFFFFF
} XrEyeTrackingModeANDROID;
enum-এর অর্থ হল:
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
বাঁ ও ডান, দুটি চোখই ট্র্যাক করা হচ্ছে বলে দেখায়।
#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 এক্সটেন্ড করা হচ্ছে :
নতুন Enum
নতুন Enum কনস্ট্যান্ট
XR_ANDROID_EYE_TRACKING_EXTENSION_NAMEXR_ANDROID_eye_tracking_SPEC_VERSIONXR_EYE_MAX_ANDROIDXrObjectType এক্সটেন্ড করা হচ্ছে :
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)
- প্রাথমিক এক্সটেনশনের বিবরণ