নাম স্ট্রিং
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ব্যবহার করার আগে অবশ্যই সক্ষম হতে হবে -
typeXR_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এক্সটেনশনটি অবশ্যই সক্রিয় করতে হবে -
typeXR_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ব্যবহার করার আগে সক্রিয় করা আবশ্যক -
typeXR_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ব্যবহার করার আগে অবশ্যই সক্ষম হতে হবে -
typeXR_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 (কেনি ভার্কেমার)
- প্রাথমিক এক্সটেনশন বর্ণনা
OpenXR™ এবং OpenXR লোগো হল The Khronos Group Inc. এর মালিকানাধীন ট্রেডমার্ক এবং চীন, ইউরোপীয় ইউনিয়ন, জাপান এবং যুক্তরাজ্যে ট্রেডমার্ক হিসেবে নিবন্ধিত।