XR_ANDROID_ey_tracking OpenXR এক্সটেনশন

নামের স্ট্রিং

XR_ANDROID_eye_tracking

এক্সটেনশনের ধরণ

ইনস্ট্যান্স এক্সটেনশন

নিবন্ধিত এক্সটেনশন নম্বর

৪৫৭

সংশোধন

এক্সটেনশন এবং সংস্করণ নির্ভরতা

ওপেনএক্সআর ১.০

শেষ সংশোধিত তারিখ

২০২৫-০১-১৭

আইপি স্ট্যাটাস

কোনও পরিচিত আইপি দাবি নেই।

অবদানকারীরা

স্পেন্সার কুইন, গুগল

জ্যারেড ফাইন্ডার, গুগল

লেভানা চেন, গুগল

কেনি ভার্কেমার, গুগল

প্রশান্তি গুরুমূর্তি, গুগল

নিহাভ জৈন, গুগল

সংক্ষিপ্ত বিবরণ

এই এক্সটেনশনটি অ্যাপ্লিকেশনগুলিকে ব্যবহারকারীর চোখের অবস্থান এবং ওরিয়েন্টেশন, সেইসাথে চোখের ট্র্যাকিং অবস্থা পেতে সক্ষম করে।

আই ট্র্যাকিং ডেটা দুটি মোডে সরবরাহ করা হয়: মোটা এবং সূক্ষ্ম। মোটা ট্র্যাকিং ব্যবহারকারীর চোখের একটি মোটা অনুমান প্রদান করে, যেখানে সূক্ষ্ম ট্র্যাকিং আরও সঠিক অনুমান প্রদান করে। মোটা ট্র্যাকিং এমন অ্যাপ্লিকেশনগুলির জন্য বোঝানো হয় যারা একটি মৌলিক অবতারের মতো উপস্থাপনা প্রদান করতে চায়, অন্যদিকে সূক্ষ্ম ট্র্যাকিং আরও সুনির্দিষ্ট অ্যাপ্লিকেশনগুলির জন্য বোঝানো হয়।

ইন্টারঅ্যাকশনের জন্য, 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_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 হ্যান্ডেল তৈরির তথ্য বর্ণনা করে।

বৈধ ব্যবহার (অন্তর্নিহিত)

xrDestroyEyeTrackerANDROID ফাংশনটি নিম্নরূপ সংজ্ঞায়িত করা হয়েছে:

XrResult xrDestroyEyeTrackerANDROID(
    XrEyeTrackerANDROID                         eyeTracker);

প্যারামিটার বর্ণনা

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 ফাংশনটি নিম্নরূপ সংজ্ঞায়িত করা হয়েছে:

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 এর চোখের ভঙ্গি এই XrSpace সাথে time হবে।

বৈধ ব্যবহার (অন্তর্নিহিত)

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 যা নির্দেশ করে যে চোখগুলি ট্র্যাক করছে কিনা এবং কোনটি।

বৈধ ব্যবহার (অন্তর্নিহিত)

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;

এনামগুলির নিম্নলিখিত অর্থ রয়েছে:

এনাম

বিবরণ

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
} 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
} 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

ইঙ্গিত দেয় যে বাম এবং ডান উভয় চোখই অনুসরণ করছে।

চোখ ট্র্যাকিংয়ের জন্য উদাহরণ কোড

নিচের উদাহরণ কোডটি দেখায় কিভাবে একটি ভিউ স্পেসের সাপেক্ষে চোখের তথ্য পেতে হয়।

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));

নতুন বস্তুর ধরণ

নতুন এনাম ধ্রুবক

  • 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

নতুন এনাম

নতুন কাঠামো

নতুন ফাংশন

ইস্যু

সংস্করণ ইতিহাস

  • সংশোধন ১, ২০২৫-০১-১৭ (কেনি ভার্কেমার)
    • প্রাথমিক এক্সটেনশনের বিবরণ

OpenXR™ এবং OpenXR লোগো হল The Khronos Group Inc. এর মালিকানাধীন ট্রেডমার্ক এবং চীন, ইউরোপীয় ইউনিয়ন, জাপান এবং যুক্তরাজ্যে ট্রেডমার্ক হিসেবে নিবন্ধিত।