নাম স্ট্রিং
XR_ANDROID_eye_tracking
এক্সটেনশন প্রকার
ইনস্ট্যান্স এক্সটেনশন
নিবন্ধিত এক্সটেনশন নম্বর
457
রিভিশন
1
এক্সটেনশন এবং সংস্করণ নির্ভরতা
সর্বশেষ সংশোধিত তারিখ
2025-01-17
আইপি স্ট্যাটাস
কোন পরিচিত আইপি দাবি.
অবদানকারী
স্পেন্সার কুইন, গুগল
জ্যারেড ফাইন্ডার, গুগল
লেভানা চেন, গুগল
কেনি ভার্কেমার, গুগল
প্রশান্তি গুরুমূর্তি, গুগল
নিহাভ জৈন, গুগল
ওভারভিউ
এই এক্সটেনশনটি অ্যাপ্লিকেশনগুলিকে ব্যবহারকারীর চোখের অবস্থান এবং অভিযোজন, সেইসাথে চোখের ট্র্যাকিং স্থিতি পেতে সক্ষম করে।
চোখের ট্র্যাকিং ডেটা দুটি মোডে সরবরাহ করা হয়: মোটা এবং সূক্ষ্ম। মোটা ট্র্যাকিং ব্যবহারকারীর চোখের একটি মোটা অনুমান প্রদান করে, যখন সূক্ষ্ম ট্র্যাকিং আরো সঠিক অনুমান প্রদান করে। মোটা ট্র্যাকিং এমন অ্যাপ্লিকেশনগুলির জন্য বোঝানো হয় যেগুলি একটি মৌলিক অবতারের মতো উপস্থাপনা প্রদান করতে চায়, যখন সূক্ষ্ম ট্র্যাকিং আরও সুনির্দিষ্ট অ্যাপ্লিকেশনের জন্য বোঝানো হয়।
মিথস্ক্রিয়া জন্য, 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_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
হ্যান্ডেল তৈরি করতে পারে ।
যদি সিস্টেম চোখের ট্র্যাকিং সমর্থন না করে, তাহলে xrCreateEyeTrackerANDROID
থেকে XR_ERROR_FEATURE_UNSUPPORTED
ফেরত দেওয়া হবে।
বৈধ ব্যবহার (অন্তর্নিহিত)
-
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
এ কল করার সময় চোখের তথ্য সমাধান করা হয়েছে এবং বেস স্পেসের সাথে সম্পর্কিত।
যেকোনো সময়ে চোখের ভঙ্গির অবস্থান এবং দিক উভয়ই ট্র্যাক বা আনট্র্যাক করা হয়। এর মানে হল যে অ্যাপ্লিকেশানগুলি আশা করতে পারে যে XR_SPACE_LOCATION_POSITION_TRACKED_BIT
এবং XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT
উভয়ই সরবরাহকৃত XrEyesANDROID::eyes
তে সেট বা সাফ করা হবে এবং 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
এ কল করার সময় বেস স্পেসের সাথে সম্পর্কিত।
যেকোনো সময়ে চোখের ভঙ্গির অবস্থান এবং দিক উভয়ই ট্র্যাক বা আনট্র্যাক করা হয়। এর মানে হল যে অ্যাপ্লিকেশানগুলি আশা করতে পারে যে XR_SPACE_LOCATION_POSITION_TRACKED_BIT
এবং XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT
উভয়ই সরবরাহকৃত XrEyesANDROID::eyes
তে সেট বা সাফ করা হবে এবং 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
আপেক্ষিক হবে।
বৈধ ব্যবহার (অন্তর্নিহিত)
-
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;
সদস্য বিবরণ
-
type
হল এই কাঠামোরXrStructureType
। -
next
হলNULL
বা একটি স্ট্রাকচার চেইনের পরবর্তী কাঠামোর একটি পয়েন্টার। কোর OpenXR বা এই এক্সটেনশনে এই ধরনের কোনো কাঠামো সংজ্ঞায়িত করা হয়নি। -
eyes
হলXrEyeIndexANDROID
দ্বারা সূচীকৃত বাম এবং ডান চোখের জন্যXrEyeANDROID
এর একটি অ্যারে৷ -
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;
সদস্য বিবরণ
-
eyeState
হল একটি চোখেরXrEyeStateANDROID
। -
pose
হল একটি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
} XrEyeStateANDROID;
enums নিম্নলিখিত অর্থ আছে:
এনাম | বর্ণনা |
| ইঙ্গিত করে যে চোখটি একটি ত্রুটির অবস্থায় রয়েছে বা উপস্থিত নেই। |
| ইঙ্গিত করে যে চোখ তাকিয়ে আছে। |
| ইঙ্গিত করে যে চোখের পলক বা পলকের কারণে চোখ বন্ধ হয়ে গেছে। |
XrEyeIndexANDROID
গণনা বাম বা ডান চোখের সূচক চিহ্নিত করে।
typedef enum XrEyeIndexANDROID {
XR_EYE_INDEX_LEFT_ANDROID = 0,
XR_EYE_INDEX_RIGHT_ANDROID = 1
} XrEyeIndexANDROID;
enums নিম্নলিখিত অর্থ আছে:
এনাম | বর্ণনা |
| বাম চোখ। |
| ডান চোখ। |
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;
enums নিম্নলিখিত অর্থ আছে:
এনাম | বর্ণনা |
| ইঙ্গিত করে যে চোখের ট্র্যাকিং সক্রিয় নয়। |
| নির্দেশ করে যে শুধুমাত্র ডান চোখ ট্র্যাক করছে। |
| নির্দেশ করে যে শুধুমাত্র বাম চোখ ট্র্যাক করছে। |
| নির্দেশ করে যে বাম এবং ডান উভয় চোখই ট্র্যাক করছে। |
চোখের ট্র্যাকিং জন্য উদাহরণ কোড
নিচের উদাহরণ কোডটি দেখায় কিভাবে একটি ভিউ স্পেসের সাথে সম্পর্কিত চোখের তথ্য পেতে হয়।
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 ধ্রুবক
-
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
ইস্যু
সংস্করণ ইতিহাস
- রিভিশন 1, 2025-01-17 (কেনি ভার্কেমার)
- প্রাথমিক এক্সটেনশন বর্ণনা