XR_ANDROID_trackables_marker

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

XR_ANDROID_trackables_marker

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

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

রেজিস্টার করা এক্সটেনশন নম্বর

708

সংশোধন

1

অনুমোদনের স্ট্যাটাস

অনুমোদিত নয়

এক্সটেনশন ও ভার্সন ডিপেন্ডেন্সি

XR_ANDROID_trackables

বন্ধ হয়ে যাওয়ার স্ট্যাটাস

  • XR_EXT_spatial_marker_tracking এক্সটেনশন দ্বারা বন্ধ করা হয়েছে

শেষবার পরিবর্তন করার তারিখ

2025-07-23

IP স্ট্যাটাস

IP সংক্রান্ত কোনও দাবি নেই।

কন্ট্রিবিউটর

ক্রিস্টোফার ডোর, Google
ডিয়েগো টিপাল্ডি, Google
লেভানা চেন, Google
জ্যারেড ফাইন্ডার, Google
স্পেন্সার কুইন, Google
নিহাভ জৈন, Google
কেন ম্যাককে, Google
ড্যানিয়েল গুটেনবার্গ, Qualcomm

এক নজরে

এই এক্সটেনশন ফিজিক্যাল মার্কার ট্র্যাকিং চালু করে এবং অ্যাপ্লিকেশনগুলিকে দক্ষতার সাথে ফিজিক্যাল মার্কারগুলিতে XR কন্টেন্ট অ্যাটাচ করতে দেয়।

এক্সটেনশনটি সুপরিচিত মার্কারের ধরন, বিশেষ করে ArUco এবং April ট্যাগ সমর্থন করে। এটি রানটাইমকে মার্কার সাইজ অনুমান করার সুবিধা ঐচ্ছিকভাবে চালু করতে দেয়।

অনুমতি

Android অ্যাপ্লিকেশনের ম্যানিফেস্টে android.permission.SCENE_UNDERSTANDING_COARSE অনুমতি তালিকাভুক্ত থাকতেই হবে, কারণ এই এক্সটেনশন XR_ANDROID_trackables-এর উপর নির্ভর করে এবং পরিবেশের জিওমেট্রি প্রকাশ করে। android.permission.SCENE_UNDERSTANDING_COARSE অনুমতিকে বিপজ্জনক অনুমতি হিসেবে বিবেচনা করা হয়, অর্থাৎ অ্যাপ্লিকেশনকে অবশ্যই স্পষ্টভাবে অনুমতির জন্য অনুরোধ করতে হবে।

(সুরক্ষা লেভেল: বিপজ্জনক)

সিস্টেমের ক্ষমতা পরীক্ষা করা

XrSystemMarkerTrackingPropertiesANDROID স্ট্রাকচার এইভাবে সংজ্ঞায়িত করা হয়:

typedef struct XrSystemMarkerTrackingPropertiesANDROID {
    XrStructureType    type;
    void*              next;
    XrBool32           supportsMarkerTracking;
    XrBool32           supportsMarkerSizeEstimation;
    uint16_t           maxMarkerCount;
} XrSystemMarkerTrackingPropertiesANDROID;

মেম্বারদের বিবরণ

  • type হল এই স্ট্রাকচারের XrStructureType।
  • next হল NULL অথবা স্ট্রাকচার চেনের পরবর্তী স্ট্রাকচারের পয়েন্টার। কোর OpenXR বা এই এক্সটেনশনে এই ধরনের কোনও স্ট্রাকচার সংজ্ঞায়িত করা নেই। স্ট্রাকচার চেন সম্পর্কে আরও জানতে, এক্সটেন্ড করা স্ট্রাকচার ( XrSystemProperties ) দেখুন।
  • supportsMarkerTracking হল একটি XrBool32 যা নির্দেশ করে যে বর্তমান সিস্টেম মার্কার ট্র্যাকিং ক্ষমতা প্রদান করে কিনা।
  • supportsMarkerSizeEstimation হল একটি XrBool32 যা বর্তমান সিস্টেম মার্কার সাইজের অনুমান প্রদান করে কিনা তা নির্দেশ করে।
  • maxMarkerCount হল রানটাইম একই সময়ে ট্র্যাক করতে পারে এমন মার্কারের সর্বাধিক সংখ্যা।

xrGetSystemProperties কল করার সময় XrSystemMarkerTrackingPropertiesANDROID স্ট্রাকচারের সাথে XrSystemProperties এক্সটেন্ড করার মাধ্যমে সিস্টেম মার্কার ট্র্যাকিং করতে সক্ষম কিনা তা কোনও অ্যাপ্লিকেশন চেক করতে পারে। মার্কার ট্র্যাকার তৈরির জন্য রানটাইম অবশ্যই XR_ERROR_FEATURE_UNSUPPORTED রিটার্ন করবে, যদি এবং শুধুমাত্র যদি supportsMarkerTracking XR_FALSE হয়।

রানটাইম মার্কার ট্র্যাকিং সাপোর্ট করলে, maxMarkerCount অবশ্যই কমপক্ষে ১ হতে হবে।

সঠিক ব্যবহার (অন্তর্নিহিত)

মার্কার ট্র্যাক করা

এই এক্সটেনশন XR_TRACKABLE_TYPE_MARKER_ANDROID-কে XrTrackableTypeANDROID-এ যোগ করে।

অ্যাপ্লিকেশনটি xrCreateTrackableTrackerANDROID কল করে এবং XrTrackableTrackerCreateInfoANDROID :: trackableType-এ ট্র্যাকযোগ্য ধরন হিসেবে XR_TRACKABLE_TYPE_MARKER_ANDROID নির্দিষ্ট করে XrTrackableTrackerANDROID তৈরি করে, এর পাশাপাশি XrTrackableTrackerCreateInfoANDROID-এর পরবর্তী চেনে XrTrackableMarkerConfigurationANDROID যোগ করে একটি সঠিক কনফিগারেশন সেট করে।

XrTrackableTrackerCreateInfoANDROID :: trackableType যদি XR_TRACKABLE_TYPE_MARKER_ANDROID হয় এবং XrSystemMarkerTrackingPropertiesANDROID :: supportsMarkerTracking যদি xrGetSystemProperties-এর মাধ্যমে XR_FALSE রিটার্ন করে, তাহলে রানটাইমকে XR_ERROR_FEATURE_UNSUPPORTED রিটার্ন করতেই হবে।

XrTrackableMarkerConfigurationANDROID স্ট্রাকচার এইভাবে সংজ্ঞায়িত করা হয়:

typedef struct XrTrackableMarkerConfigurationANDROID {
    XrStructureType                            type;
    void*                                      next;
    XrTrackableMarkerTrackingModeANDROID       trackingMode;
    uint32_t                                   databaseCount;
    const XrTrackableMarkerDatabaseANDROID*    databases;
} XrTrackableMarkerConfigurationANDROID;

মেম্বারদের বিবরণ

  • type হল এই স্ট্রাকচারের XrStructureType।
  • next হল NULL অথবা স্ট্রাকচার চেনের পরবর্তী স্ট্রাকচারের পয়েন্টার।
  • trackingMode হল একটি XrTrackableMarkerTrackingModeANDROID যা ট্র্যাকিংয়ের জন্য কাঙ্ক্ষিত মোড নির্দেশ করে।
  • databaseCount হল একটি uint32_t যা databases অ্যারেতে এলিমেন্টের সংখ্যা বর্ণনা করে।
  • databases হল XrTrackableMarkerDatabaseANDROID-এর একটি অ্যারের পয়েন্টার, যার প্রতিটিতে ট্র্যাক করার জন্য প্রদত্ত অভিধান থেকে কাঙ্ক্ষিত মার্কার থাকে।

xrCreateTrackableTrackerANDROID কল করার সময় XrTrackableTrackerCreateInfoANDROID :: trackableType-কে XR_TRACKABLE_TYPE_MARKER_ANDROID-এ সেট করার সময় XrTrackableTrackerCreateInfoANDROID :: next চেনে XrTrackableMarkerConfigurationANDROID যোগ করে অ্যাপ্লিকেশনকে অবশ্যই সঠিক কনফিগারেশন সেট করতে হবে। অন্যথায়, ট্র্যাকার টাইপ উপরে উল্লেখ করা অনুযায়ী সেট করা থাকলেও কনফিগারেশন স্ট্রাকচার না থাকলে বা সঠিক না হলে, রানটাইমকে XR_ERROR_VALIDATION_FAILURE রিটার্ন করতেই হবে।

কোনও রানটাইম মার্কার সাইজ অনুমান করা সাপোর্ট করলে, অ্যাপ্লিকেশনটি সাইজ অনুমান করার ব্যবহার নির্দেশ করতে XrTrackableMarkerDatabaseANDROID :: entries-এ XrTrackableMarkerDatabaseEntryANDROID :: edgeSize-কে 0-এ সেট করতে পারে। অন্যথায়, অ্যাপ্লিকেশনকে অবশ্যই XrTrackableMarkerDatabaseEntryANDROID :: edgeSize-কে পজিটিভ ভ্যালুতে সেট করতে হবে অথবা রানটাইমকে অবশ্যই XR_ERROR_VALIDATION_FAILURE রিটার্ন করতে হবে।

trackingMode এবং XrTrackableMarkerDatabaseEntryANDROID :: edgeSize-এর সাথে ম্যাচ করার জন্য রানটাইমকে xrGetAllTrackablesANDROID থেকে আউটপুট অবশ্যই ফিল্টার করতে হবে।

সঠিক ব্যবহার (অন্তর্নিহিত)

XrTrackableMarkerTrackingModeANDROID enum মার্কারের কাজ করে এমন ট্র্যাকিং মোড বর্ণনা করে।

typedef enum XrTrackableMarkerTrackingModeANDROID {
    XR_TRACKABLE_MARKER_TRACKING_MODE_DYNAMIC_ANDROID = 0,
    XR_TRACKABLE_MARKER_TRACKING_MODE_STATIC_ANDROID = 1,
    XR_TRACKABLE_MARKER_TRACKING_MODE_MAX_ENUM_ANDROID = 0x7FFFFFFF
} XrTrackableMarkerTrackingModeANDROID;

Enumerant-এর বিবরণ

  • XR_TRACKABLE_MARKER_TRACKING_MODE_DYNAMIC_ANDROID — ডায়নামিক মার্কার ট্র্যাক করা। এই মোডে সবচেয়ে বেশি নির্ভুলভাবে কাজ করা যায় এবং এটি চলমান ও স্থির মার্কারের উপর কাজ করে, তবে এতে সবচেয়ে বেশি বিদ্যুৎ খরচ হয়।
  • XR_TRACKABLE_MARKER_TRACKING_MODE_STATIC_ANDROID — স্ট্যাটিক মার্কার ট্র্যাক করা। এই মোডটি মূলত এমন মার্কারের জন্য উপযোগী যা স্ট্যাটিক হিসেবে পরিচিত, যার ফলে ডাইনামিক মোডের তুলনায় কম বিদ্যুৎ খরচ হয়।

XrTrackableMarkerDatabaseANDROID স্ট্রাকচার একটি ডিকশনারি এবং ট্র্যাক করার জন্য সংশ্লিষ্ট মার্কার আইডি নির্ধারণ করে।

typedef struct XrTrackableMarkerDatabaseANDROID {
    XrTrackableMarkerDictionaryANDROID              dictionary;
    uint32_t                                        entryCount;
    const XrTrackableMarkerDatabaseEntryANDROID*    entries;
} XrTrackableMarkerDatabaseANDROID;

মেম্বারদের বিবরণ

  • dictionary হল XrTrackableMarkerDictionaryANDROID যার মধ্যে সব entries পড়ে।
  • entryCount হল uint32_t যা entries অ্যারেতে এলিমেন্টের সংখ্যা বর্ণনা করে। অ্যাপ্লিকেশনটি dictionary-এ সব মার্কার ট্র্যাক করার জন্য entryCount 0 সেট করতে পারবে।
  • entries হল XrTrackableMarkerDatabaseEntryANDROID-এর অ্যারের একটি পয়েন্টার, যার প্রত্যেকটিতে ট্র্যাক করার জন্য মার্কারের কনফিগারেশন থাকে।

সঠিক ব্যবহার (অন্তর্নিহিত)

  • XrTrackableMarkerDatabaseANDROID ব্যবহার করার আগে XR_ANDROID_trackables_marker এক্সটেনশন অবশ্যই চালু করতে হবে
  • dictionary অবশ্যই একটি সঠিক XrTrackableMarkerDictionaryANDROID ভ্যালু হতে হবে
  • entryCount যদি 0 না হয়, তাহলে entries অবশ্যই entryCount XrTrackableMarkerDatabaseEntryANDROID স্ট্রাকচারের অ্যারের পয়েন্টার হতে হবে

XrTrackableMarkerDictionaryANDROID enum কাজ করে এমন মার্কার ডিকশনারির বিবরণ দেয়।

typedef enum XrTrackableMarkerDictionaryANDROID {
    XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_4X4_50_ANDROID = 0,
    XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_4X4_100_ANDROID = 1,
    XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_4X4_250_ANDROID = 2,
    XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_4X4_1000_ANDROID = 3,
    XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_5X5_50_ANDROID = 4,
    XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_5X5_100_ANDROID = 5,
    XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_5X5_250_ANDROID = 6,
    XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_5X5_1000_ANDROID = 7,
    XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_6X6_50_ANDROID = 8,
    XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_6X6_100_ANDROID = 9,
    XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_6X6_250_ANDROID = 10,
    XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_6X6_1000_ANDROID = 11,
    XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_7X7_50_ANDROID = 12,
    XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_7X7_100_ANDROID = 13,
    XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_7X7_250_ANDROID = 14,
    XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_7X7_1000_ANDROID = 15,
    XR_TRACKABLE_MARKER_DICTIONARY_APRILTAG_16H5_ANDROID = 16,
    XR_TRACKABLE_MARKER_DICTIONARY_APRILTAG_25H9_ANDROID = 17,
    XR_TRACKABLE_MARKER_DICTIONARY_APRILTAG_36H10_ANDROID = 18,
    XR_TRACKABLE_MARKER_DICTIONARY_APRILTAG_36H11_ANDROID = 19,
    XR_TRACKABLE_MARKER_DICTIONARY_MAX_ENUM_ANDROID = 0x7FFFFFFF
} XrTrackableMarkerDictionaryANDROID;

XrTrackableMarkerDatabaseEntryANDROID স্ট্রাকচার ডিকশনারির একটি মার্কার আইডি কনফিগার করে।

typedef struct XrTrackableMarkerDatabaseEntryANDROID {
    int32_t    id;
    float      edgeSize;
} XrTrackableMarkerDatabaseEntryANDROID;

মেম্বারদের বিবরণ

  • id হল ডিকশনারিতে দেওয়া মার্কার আইডি।
  • edgeSize মিটারে মার্কারের প্রান্তের সাইজ দেখায়। রানটাইম মার্কার সাইজ অনুমান করা সমর্থন করলে, অ্যাপ্লিকেশনটি এটি শূন্যে সেট করতে পারে এবং মার্কার সাইজ অনলাইনে অনুমান করা হবে। এটি শূন্যে সেট করা থাকলে কিন্তু রানটাইম মার্কার সাইজ অনুমান করতে না পারলে, রানটাইমকে XR_ERROR_VALIDATION_FAILURE রিটার্ন করতেই হবে।

সঠিক ব্যবহার (অন্তর্নিহিত)

  • XrTrackableMarkerDatabaseEntryANDROID ব্যবহার করার আগে XR_ANDROID_trackables_marker এক্সটেনশন অবশ্যই চালু করতে হবে

মার্কার পান

xrGetTrackableMarkerANDROID ফাংশনটি এইভাবে সংজ্ঞায়িত করা হয়েছে:

XrResult xrGetTrackableMarkerANDROID(
    XrTrackableTrackerANDROID                   tracker,
    const XrTrackableGetInfoANDROID*            getInfo,
    XrTrackableMarkerANDROID*                   markerOutput);

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

  • tracker হল কোয়েরি করার জন্য XrTrackableTrackerANDROID।
  • getInfo হল XrTrackableGetInfoANDROID, যেখানে ট্র্যাক করা যায় এমন মার্কার পাওয়ার জন্য ব্যবহৃত তথ্য থাকে।
  • markerOutput হল XrTrackableMarkerANDROID স্ট্রাকচারের একটি পয়েন্টার যেখানে ট্র্যাক করা যায় এমন মার্কার রিটার্ন করা হয়।

XrTrackableANDROID-এর ট্র্যাক করার উপযুক্ত ধরন XR_TRACKABLE_TYPE_MARKER_ANDROID না হলে অথবা XrTrackableTrackerANDROID-এর ট্র্যাক করার উপযুক্ত ধরন XR_TRACKABLE_TYPE_MARKER_ANDROID না হলে, রানটাইমকে XR_ERROR_MISMATCHING_TRACKABLE_TYPE_ANDROID রিটার্ন করতেই হবে।

সঠিক ব্যবহার (অন্তর্নিহিত)

  • xrGetTrackableMarkerANDROID কল করার আগে XR_ANDROID_trackables_marker এক্সটেনশন অবশ্যই চালু করতে হবে
  • tracker অবশ্যই একটি সঠিক XrTrackableTrackerANDROID হ্যান্ডেল হতে হবে
  • getInfo অবশ্যই একটি সঠিক XrTrackableGetInfoANDROID স্ট্রাকচারের পয়েন্টার হতে হবে
  • markerOutput অবশ্যই XrTrackableMarkerANDROID স্ট্রাকচারের পয়েন্টার হতে হবে

রিটার্ন কোড

হয়ে গেছে

  • XR_SUCCESS
  • XR_SESSION_LOSS_PENDING

ব্যর্থতা

  • XR_ERROR_FUNCTION_UNSUPPORTED
  • XR_ERROR_HANDLE_INVALID
  • XR_ERROR_INSTANCE_LOST
  • XR_ERROR_LIMIT_REACHED
  • XR_ERROR_MISMATCHING_TRACKABLE_TYPE_ANDROID
  • XR_ERROR_RUNTIME_FAILURE
  • XR_ERROR_SESSION_LOST
  • XR_ERROR_TIME_INVALID
  • XR_ERROR_VALIDATION_FAILURE

XrTrackableMarkerANDROID স্ট্রাকচার এইভাবে সংজ্ঞায়িত করা হয়:

typedef struct XrTrackableMarkerANDROID {
    XrStructureType                       type;
    void*                                 next;
    XrTrackingStateANDROID                trackingState;
    XrTime                                lastUpdatedTime;
    XrTrackableMarkerDictionaryANDROID    dictionary;
    int32_t                               markerId;
    XrPosef                               centerPose;
    XrExtent2Df                           extents;
} XrTrackableMarkerANDROID;

মেম্বারদের বিবরণ

  • type হল এই স্ট্রাকচারের XrStructureType।
  • next হল NULL অথবা স্ট্রাকচার চেনের পরবর্তী স্ট্রাকচারের পয়েন্টার। কোর OpenXR বা এই এক্সটেনশনে এই ধরনের কোনও স্ট্রাকচার সংজ্ঞায়িত করা নেই।
  • trackingState হল মার্কারের XrTrackingStateANDROID।
  • lastUpdatedTime হল মার্কারের শেষ আপডেটের XrTime।
  • dictionary হল মার্কারের XrTrackableMarkerDictionaryANDROID।
  • markerId হল ডিকশনারিতে দেওয়া মার্কার আইডি।
  • centerPose হল XrTrackableGetInfoANDROID :: baseSpace -এ অবস্থিত মার্কারের XrPosef। মার্কারটি XZ প্লেনে থাকে, যেখানে X মার্কারের ডানদিকে এবং Z মার্কারের নিচের দিকে নির্দেশ করে এবং Y মার্কার থেকে স্বাভাবিকভাবে বেরিয়ে আসে।
  • extents হল মার্কারের XrExtent2Df ডাইমেনশন। বাউন্ডিং বক্সের সীমানা এই পয়েন্টে আছে: centerPose +/- ( extents / 2).

সঠিক ব্যবহার (অন্তর্নিহিত)

ট্র্যাক করা যায় এমন মার্কার পাওয়ার জন্য কোডের উদাহরণ

নিম্নলিখিত উদাহরণ কোডটি দেখায় যে কীভাবে ট্র্যাকযোগ্য মার্কার পেতে হয়।

XrInstance instance; // previously initialized
XrSystemId systemId; // previously initialized
XrSession session;   // previously initialized

// The function pointers are previously initialized using xrGetInstanceProcAddr.
PFN_xrGetSystemProperties xrGetSystemProperties;                       // previously initialized
PFN_xrCreateTrackableTrackerANDROID xrCreateTrackableTrackerANDROID;   // previously initialized
PFN_xrGetAllTrackablesANDROID xrGetAllTrackablesANDROID;               // previously initialized
PFN_xrGetTrackableMarkerANDROID xrGetTrackableMarkerANDROID;           // previously initialized
PFN_xrDestroyTrackableTrackerANDROID xrDestroyTrackableTrackerANDROID; // previously initialized

XrTime updateTime; // Time used for the current frame's simulation update.
XrSpace appSpace;  // Space created for XR_REFERENCE_SPACE_TYPE_LOCAL.

// Inspect system capability
XrSystemMarkerTrackingPropertiesANDROID markerProperty {
  .type = XR_TYPE_SYSTEM_MARKER_TRACKING_PROPERTIES_ANDROID,
  .next = nullptr,
};
XrSystemProperties systemProperties {
  .type = XR_TYPE_SYSTEM_PROPERTIES,
  .next = &markerProperty,
};
CHK_XR(xrGetSystemProperties(instance, systemId, &systemProperties));
if (!markerProperty.supportsMarkerTracking) {
    // Marker tracking is not supported.
    return;
}

// Create a trackable tracker for marker tracking.
// If the runtime does not support size estimation, configures marker edge size of 0.1m.
XrTrackableMarkerDatabaseEntryANDROID markerEntries {
  .id = 0,
  .edgeSize = markerProperty.supportsMarkerSizeEstimation ? 0.0f : 0.1f,
};
XrTrackableMarkerDatabaseANDROID markerDatabases {
  .dictionary = XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_4X4_50_ANDROID,
  .entryCount = 1,
  .entries = &markerEntries,
};
XrTrackableMarkerConfigurationANDROID configuration {
  .type = XR_TYPE_TRACKABLE_MARKER_CONFIGURATION_ANDROID,
  .next = nullptr,
  .trackingMode = XR_TRACKABLE_MARKER_TRACKING_MODE_DYNAMIC_ANDROID,
  .databaseCount = 1,
  .databases = &markerDatabases,
};
XrTrackableTrackerCreateInfoANDROID createInfo {
  .type = XR_TYPE_TRACKABLE_TRACKER_CREATE_INFO_ANDROID,
  .next = &configuration,
  .trackableType = XR_TRACKABLE_TYPE_MARKER_ANDROID,
};
XrTrackableTrackerANDROID markerTracker;
auto res = xrCreateTrackableTrackerANDROID(session, &createInfo, &markerTracker);
if (res == XR_ERROR_PERMISSION_INSUFFICIENT) {
    // Handle permission requests.
}
CHK_XR(res);

// Get markers.
std::vector<XrTrackableANDROID> trackables(markerProperty.maxMarkerCount);
std::vector<XrTrackableMarkerANDROID> markers(markerProperty.maxMarkerCount, {
  .type = XR_TYPE_TRACKABLE_MARKER_ANDROID,
  .next = nullptr,
});
uint32_t markerSize = 0;
CHK_XR(xrGetAllTrackablesANDROID(markerTracker, markerProperty.maxMarkerCount, &markerSize,
                                 trackables.data()));
for (int i = 0; i < markerSize; i++) {
    XrTrackableGetInfoANDROID getInfo {
      .type = XR_TYPE_TRACKABLE_GET_INFO_ANDROID,
      .next = nullptr,
      .trackable = trackables[i],
      .baseSpace = appSpace,
      .time = updateTime,
    };
    CHK_XR(xrGetTrackableMarkerANDROID(markerTracker, &getInfo, &markers[i]));
    // Handle markers.
}

// Release trackable tracker.
CHK_XR(xrDestroyTrackableTrackerANDROID(markerTracker));

নতুন কমান্ড

নতুন স্ট্রাকচার

নতুন Enum

নতুন Enum কনস্ট্যান্ট

  • XR_ANDROID_TRACKABLES_MARKER_EXTENSION_NAME
  • XR_ANDROID_trackables_marker_SPEC_VERSION
  • XrStructureType এক্সটেন্ড করা হচ্ছে :

    • XR_TYPE_SYSTEM_MARKER_TRACKING_PROPERTIES_ANDROID
    • XR_TYPE_TRACKABLE_MARKER_ANDROID
    • XR_TYPE_TRACKABLE_MARKER_CONFIGURATION_ANDROID
  • XrTrackableTypeANDROID এক্সটেন্ড করা হচ্ছে :

    • XR_TRACKABLE_TYPE_MARKER_ANDROID

ইস্যু

ভার্সনের ইতিহাস

  • সংশোধন ১, ২৩-০৭-২০২৫ (Levana Chen)

    • এক্সটেনশনের প্রাথমিক বিবরণ।