XR_ANDROID_geospatial_anchor

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

XR_ANDROID_geospatial_anchor

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

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

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

798

সংশোধন

1

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

অনুমোদিত নয়

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

XR_ANDROID_geospatial
এবং
XR_EXT_future
এবং
XR_EXT_spatial_entity
এবং
XR_EXT_spatial_anchor

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

2025-10-30

IP স্ট্যাটাস

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

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

জন উলম্যান, Google
বেন কিং, Google
নিহাভ জৈন, Google
জ্যারেড ফাইন্ডার, Google

এক নজরে

এই এক্সটেনশন জিওস্পেশিয়াল অ্যাঙ্কর ও সারফেস অ্যাঙ্কর প্রদান করে যা বেস জিওস্পেশিয়াল এক্সটেনশনের উপর তৈরি করা হয়। জিওস্পেশিয়াল অ্যাঙ্কর হল এমন অ্যাঙ্কর যা পৃথিবীর সাপেক্ষে নির্দিষ্ট অক্ষাংশ, দ্রাঘিমাংশ ও উচ্চতায় স্পেসে অবস্থান করে। সারফেস অ্যাঙ্কর হল পৃথিবী-সম্পর্কিত অ্যাঙ্কর যা ভিজ্যুয়াল পজিশনিং সার্ভিস দ্বারা পরিচিত সারফেসের সাপেক্ষে প্রদত্ত অক্ষাংশ, দ্রাঘিমাংশ এবং উচ্চতায় স্থাপন করা হয়। পৃথিবীর সাপেক্ষে রানটাইমের পজিশনের নির্ভুলতা যত উন্নত হবে, অ্যাঙ্করের পোজ সেই অনুযায়ী অ্যাডজাস্ট হবে।

জিওস্পেশিয়াল অ্যাঙ্করের জন্য সিস্টেমের ক্ষমতা

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

typedef struct XrSystemGeospatialAnchorPropertiesANDROID {
    XrStructureType    type;
    void*              next;
    uint32_t           maxSurfaceAnchorCount;
} XrSystemGeospatialAnchorPropertiesANDROID;

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

  • type হল এই স্ট্রাকচারের XrStructureType।
  • next হল NULL অথবা স্ট্রাকচার চেনের পরবর্তী স্ট্রাকচারের পয়েন্টার। কোর OpenXR বা এই এক্সটেনশনে এই ধরনের কোনও স্ট্রাকচার সংজ্ঞায়িত করা নেই।
  • maxSurfaceAnchorCount হল একটি uint32_t যা সর্বাধিক কতগুলি সারফেস অ্যাঙ্কর তৈরি করা যেতে পারে তা নির্দেশ করে।

xrGetSystemProperties কল করার সময় XrSystemProperties-এর সাথে XrSystemGeospatialAnchorPropertiesANDROID স্ট্রাকচার চেইন করে, কোনও অ্যাপ্লিকেশন সিস্টেমের জিওস্পেশিয়াল অ্যাঙ্কর ক্ষমতা পরীক্ষা করতে পারে।

XrSystemGeospatialPropertiesANDROID :: supportsGeospatial যদি XR_TRUE হয়, তাহলে maxSurfaceAnchorCount রানটাইম যতগুলি সারফেস অ্যাঙ্কর সাপোর্ট করে তার সর্বাধিক সংখ্যা নির্দেশ করে। এই ক্ষেত্রে সীমা অবশ্যই ০-এর বেশি হতে হবে।

XrSystemGeospatialPropertiesANDROID :: supportsGeospatial যদি XR_TRUE না হয়, তাহলে maxSurfaceAnchorCount অবশ্যই ০ হতে হবে।

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

অ্যাঙ্করের জন্য প্লেন ট্র্যাকিং

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

typedef struct XrGeospatialTrackerAnchorTrackingInfoANDROID {
    XrStructureType    type;
    const void*        next;
    XrBool32           shouldTrackPlanes;
} XrGeospatialTrackerAnchorTrackingInfoANDROID;

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

  • type হল এই স্ট্রাকচারের XrStructureType।
  • next হল NULL অথবা স্ট্রাকচার চেনের পরবর্তী স্ট্রাকচারের পয়েন্টার।
  • shouldTrackPlanes হল একটি XrBool32 যা নির্দেশ করে যে জিওস্পেশিয়াল ট্র্যাকার সারফেস-লকড অ্যাঙ্করের পজিশনিং উন্নত করার জন্য প্লেন ট্র্যাক করবে কিনা।

সারফেস-লকড অ্যাঙ্করের পজিশনিং উন্নত করতে প্লেন ট্র্যাকিং চালু করা যেতে পারে।

সারফেস অ্যাঙ্কর পোজ উন্নত করার জন্য অ্যাপ্লিকেশন যদি প্লেন ট্র্যাকিং চালু করতে চায়, তাহলে xrCreateGeospatialTrackerANDROID কল করার সময় এটি XrGeospatialTrackerCreateInfoANDROID-এর সাথে XrGeospatialTrackerAnchorTrackingInfoANDROID স্ট্রাকচার চেন করতে পারবে।

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

জিওস্পেশিয়াল অ্যাঙ্কর

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

XrResult xrCreateGeospatialAnchorANDROID(
    XrSpatialContextEXT                         spatialContext,
    const XrGeospatialAnchorCreateInfoANDROID*  createInfo,
    XrSpatialEntityIdEXT*                       anchorEntityId);

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

  • spatialContext হল XrSpatialContextEXT যাতে অ্যাঙ্কর তৈরি করা হয়। XR_SPATIAL_CAPABILITY_ANCHOR_EXT-এর জন্য কনটেক্সট কনফিগার করতেই হবে, অন্যথায় রানটাইম অবশ্যই XR_ERROR_VALIDATION_FAILURE রিটার্ন করবে।
  • createInfo হল XrGeospatialAnchorCreateInfoANDROID-এর একটি পয়েন্টার যাতে অ্যাঙ্কর তৈরির প্যারামিটার রয়েছে।
  • anchorEntityId হল XrSpatialEntityIdEXT-এর একটি পয়েন্টার যেখানে অ্যাঙ্কর এন্টিটি আইডি রিটার্ন করা হয়।

XrGeospatialAnchorCreateInfoANDROID :: geospatialTracker-এ উল্লেখ করা XrGeospatialTrackerANDROID যদি XR_GEOSPATIAL_TRACKER_STATE_RUNNING_ANDROID স্ট্যাটাসে না থাকে, তাহলে রানটাইমকে XR_ERROR_GEOSPATIAL_TRACKER_NOT_RUNNING_ANDROID ফিরিয়ে দিতেই হবে।

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

  • xrCreateGeospatialAnchorANDROID কল করার আগে XR_ANDROID_geospatial_anchor এক্সটেনশন অবশ্যই চালু করতে হবে
  • spatialContext অবশ্যই একটি সঠিক XrSpatialContextEXT হ্যান্ডেল হতে হবে
  • createInfo অবশ্যই একটি সঠিক XrGeospatialAnchorCreateInfoANDROID স্ট্রাকচারের পয়েন্টার হতে হবে
  • anchorEntityId অবশ্যই XrSpatialEntityIdEXT ভ্যালুর পয়েন্টার হতে হবে

রিটার্ন কোড

হয়ে গেছে

  • XR_SUCCESS
  • XR_SESSION_LOSS_PENDING

ব্যর্থতা

  • XR_ERROR_FUNCTION_UNSUPPORTED
  • XR_ERROR_GEOSPATIAL_COORDINATES_INVALID_ANDROID
  • XR_ERROR_GEOSPATIAL_TRACKER_NOT_RUNNING_ANDROID
  • XR_ERROR_HANDLE_INVALID
  • XR_ERROR_INSTANCE_LOST
  • XR_ERROR_LIMIT_REACHED
  • XR_ERROR_OUT_OF_MEMORY
  • XR_ERROR_POSE_INVALID
  • XR_ERROR_RUNTIME_FAILURE
  • XR_ERROR_SESSION_LOST
  • XR_ERROR_VALIDATION_FAILURE

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

typedef struct XrGeospatialAnchorCreateInfoANDROID {
    XrStructureType               type;
    const void*                   next;
    XrGeospatialTrackerANDROID    geospatialTracker;
    XrGeospatialPoseANDROID       geospatialPose;
} XrGeospatialAnchorCreateInfoANDROID;

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

  • type হল এই স্ট্রাকচারের XrStructureType।
  • next হল NULL অথবা স্ট্রাকচার চেনের পরবর্তী স্ট্রাকচারের পয়েন্টার।
  • geospatialTracker হল XrGeospatialTrackerANDROID যা অ্যাঙ্কর তৈরি করতে ব্যবহার করা হয়।
  • geospatialPose হল XrGeospatialPoseANDROID-এর একটি পয়েন্টার যা অ্যাঙ্করের লোকেশন ও ওরিয়েন্টেশন নির্ধারণ করে।

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

সারফেস অ্যাঙ্কর

সারফেস অ্যাঙ্কর হল এমন অ্যাঙ্কর যা কোনও সারফেসের সাপেক্ষে প্লেস করা হয়, যেমন ভূখণ্ড বা ছাদ।

XrSurfaceAnchorTypeANDROID এনিউমারেশন এইভাবে সংজ্ঞায়িত করা হয়:

typedef enum XrSurfaceAnchorTypeANDROID {
    XR_SURFACE_ANCHOR_TYPE_TERRAIN_ANDROID = 1,
    XR_SURFACE_ANCHOR_TYPE_ROOFTOP_ANDROID = 2,
    XR_SURFACE_ANCHOR_TYPE_MAX_ENUM_ANDROID = 0x7FFFFFFF
} XrSurfaceAnchorTypeANDROID;

XrSurfaceAnchorTypeANDROID এনিউমারেশন সারফেসের ধরন নির্দিষ্ট করে যার সাথে অ্যাঙ্কর সম্পর্কিত।

এনিউমারেন্টের নিম্নলিখিত মান আছে:

Enum-এর বিবরণ

XR_SURFACE_ANCHOR_TYPE_TERRAIN_ANDROID

মাটির সাপেক্ষে রাখা অ্যাঙ্করের ধরন।

XR_SURFACE_ANCHOR_TYPE_ROOFTOP_ANDROID

ছাদ বা বিল্ডিং নেই এমন গ্রাউন্ডের সাপেক্ষে প্লেস করা অ্যাঙ্করের ধরন।

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

XrResult xrCreateSurfaceAnchorAsyncANDROID(
    XrSpatialContextEXT                         spatialContext,
    const XrSurfaceAnchorCreateInfoANDROID*     createInfo,
    XrFutureEXT*                                future);

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

  • spatialContext হল XrSpatialContextEXT যাতে অ্যাঙ্কর তৈরি করা হয়।
  • createInfo হল XrSurfaceAnchorCreateInfoANDROID-এর একটি পয়েন্টার যাতে অ্যাঙ্কর তৈরির প্যারামিটার রয়েছে।
  • future হল XrFutureEXT-এর একটি পয়েন্টার যা অ্যাসিঙ্ক্রোনাস অপারেশনের ফলাফল ধরে রাখবে।

xrCreateSurfaceAnchorAsyncANDROID ফাংশন সারফেস অ্যাঙ্কর তৈরি করার জন্য অ্যাসিঙ্ক্রোনাস অপারেশন শুরু করে। স্ট্যান্ডার্ড জিওস্পেশিয়াল অ্যাঙ্করের মতো নয়, রানটাইম সঠিক উচ্চতা নির্ধারণ করতে ভূখণ্ডের ডেটা আনতে পারে। অ্যাপ্লিকেশনটি একবারে XrSystemGeospatialAnchorPropertiesANDROID :: maxSurfaceAnchorCount-এর বেশি সারফেস অ্যাঙ্কর তৈরি করার চেষ্টা করলে রানটাইমকে XR_ERROR_LIMIT_REACHED রিটার্ন করতেই হবে। XrSurfaceAnchorCreateInfoANDROID :: geospatialTracker-এ নির্দিষ্ট করা XrGeospatialTrackerANDROID যদি XR_GEOSPATIAL_TRACKER_STATE_RUNNING_ANDROID স্ট্যাটাসে না থাকে, তাহলে রানটাইমকে XR_ERROR_GEOSPATIAL_TRACKER_NOT_RUNNING_ANDROID রিটার্ন করতেই হবে। প্রদত্ত লোকেশনের জন্য কোনও সারফেস ডেটা না থাকলে, XR_ERROR_SURFACE_ANCHOR_LOCATION_UNSUPPORTED_ANDROID ফলাফল সহ অপারেশনটি অ্যাসিঙ্ক্রোনাসভাবে ব্যর্থ হতে পারে। spatialContext-এর জন্য XR_SPATIAL_CAPABILITY_ANCHOR_EXT কনফিগার করা না থাকলে, রানটাইম অবশ্যই XR_ERROR_VALIDATION_FAILURE রিটার্ন করবে।

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

  • xrCreateSurfaceAnchorAsyncANDROID কল করার আগে XR_ANDROID_geospatial_anchor এক্সটেনশন অবশ্যই চালু করতে হবে
  • spatialContext অবশ্যই একটি সঠিক XrSpatialContextEXT হ্যান্ডেল হতে হবে
  • createInfo অবশ্যই একটি সঠিক XrSurfaceAnchorCreateInfoANDROID স্ট্রাকচারের পয়েন্টার হতে হবে
  • future অবশ্যই XrFutureEXT ভ্যালুর পয়েন্টার হতে হবে

রিটার্ন কোড

হয়ে গেছে

  • XR_SUCCESS
  • XR_SESSION_LOSS_PENDING

ব্যর্থতা

  • XR_ERROR_FUNCTION_UNSUPPORTED
  • XR_ERROR_GEOSPATIAL_COORDINATES_INVALID_ANDROID
  • XR_ERROR_GEOSPATIAL_TRACKER_NOT_RUNNING_ANDROID
  • XR_ERROR_HANDLE_INVALID
  • XR_ERROR_INSTANCE_LOST
  • XR_ERROR_LIMIT_REACHED
  • XR_ERROR_OUT_OF_MEMORY
  • XR_ERROR_POSE_INVALID
  • XR_ERROR_RUNTIME_FAILURE
  • XR_ERROR_SESSION_LOST
  • XR_ERROR_VALIDATION_FAILURE

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

typedef struct XrSurfaceAnchorCreateInfoANDROID {
    XrStructureType               type;
    const void*                   next;
    XrGeospatialTrackerANDROID    geospatialTracker;
    XrSurfaceAnchorTypeANDROID    surfaceAnchorType;
    XrQuaternionf                 eastUpSouthOrientation;
    double                        latitude;
    double                        longitude;
    double                        altitudeRelativeToSurface;
} XrSurfaceAnchorCreateInfoANDROID;

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

  • type হল এই স্ট্রাকচারের XrStructureType।
  • next হল NULL অথবা স্ট্রাকচার চেনের পরবর্তী স্ট্রাকচারের পয়েন্টার।
  • geospatialTracker হল ব্যবহার করার জন্য XrGeospatialTrackerANDROID।
  • surfaceAnchorType হল অ্যাঙ্করের জন্য XrSurfaceAnchorTypeANDROID।
  • eastUpSouthOrientation হল কোঅর্ডিনেট সিস্টেমের সাপেক্ষে ওরিয়েন্টেশন যেখানে +X=পূর্ব, +Y=উপর এবং +Z=দক্ষিণ।
  • latitude হল ডিগ্রিতে অক্ষাংশ, -৮৯.৯ এবং +৮৯.৯-এর মধ্যে।
  • longitude হল ডিগ্রিতে দ্রাঘিমাংশ, -১৮০ থেকে +১৮০-এর মধ্যে।
  • altitudeRelativeToSurface হল surfaceAnchorType দ্বারা নির্দিষ্ট করা সারফেসের সাপেক্ষে মিটার এককে উচ্চতা।

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

  • XrSurfaceAnchorCreateInfoANDROID ব্যবহার করার আগে XR_ANDROID_geospatial_anchor এক্সটেনশন অবশ্যই চালু করতে হবে
  • type অবশ্যই XR_TYPE_SURFACE_ANCHOR_CREATE_INFO_ANDROID হতে হবে
  • next অবশ্যই NULL বা স্ট্রাকচার চেনের পরবর্তী স্ট্রাকচারের সঠিক পয়েন্টার হতে হবে
  • geospatialTracker অবশ্যই একটি সঠিক XrGeospatialTrackerANDROID হ্যান্ডেল হতে হবে
  • surfaceAnchorType অবশ্যই একটি সঠিক XrSurfaceAnchorTypeANDROID ভ্যালু হতে হবে
  • latitude অবশ্যই একটি সঠিক double ভ্যালু হতে হবে
  • longitude অবশ্যই একটি সঠিক double ভ্যালু হতে হবে
  • altitudeRelativeToSurface অবশ্যই একটি সঠিক double ভ্যালু হতে হবে

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

XrResult xrCreateSurfaceAnchorCompleteANDROID(
    XrSpatialContextEXT                         spatialContext,
    XrFutureEXT                                 future,
    XrSurfaceAnchorCreateCompletionANDROID*     completion);

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

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

রিটার্ন কোড

হয়ে গেছে

  • XR_SUCCESS
  • XR_SESSION_LOSS_PENDING

ব্যর্থতা

  • XR_ERROR_FUNCTION_UNSUPPORTED
  • XR_ERROR_FUTURE_INVALID_EXT
  • XR_ERROR_FUTURE_PENDING_EXT
  • XR_ERROR_HANDLE_INVALID
  • XR_ERROR_INSTANCE_LOST
  • XR_ERROR_LIMIT_REACHED
  • XR_ERROR_OUT_OF_MEMORY
  • XR_ERROR_RUNTIME_FAILURE
  • XR_ERROR_SESSION_LOST
  • XR_ERROR_VALIDATION_FAILURE

XrSurfaceAnchorCreateCompletionANDROID স্ট্রাকচারটি একটি অ্যাসিঙ্ক্রোনাস সারফেস অ্যাঙ্কর তৈরির ফলাফল ধরে রাখে।

typedef struct XrSurfaceAnchorCreateCompletionANDROID {
    XrStructureType         type;
    void*                   next;
    XrResult                futureResult;
    XrSpatialEntityIdEXT    anchorEntityId;
} XrSurfaceAnchorCreateCompletionANDROID;

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

  • type হল এই স্ট্রাকচারের XrStructureType।
  • next হল NULL অথবা স্ট্রাকচার চেনের পরবর্তী স্ট্রাকচারের পয়েন্টার।
  • futureResult হল ক্রিয়েশন অপারেশনের XrResult। futureResult যদি XR_ERROR_GEOSPATIAL_CLOUD_AUTH_FAILED_ANDROID হয়, তাহলে next চেনের স্ট্রাকচার হয়তো ব্যর্থতা সম্পর্কে আরও তথ্য প্রদান করতে পারে।
  • anchorEntityId হল তৈরি করা অ্যাঙ্করের XrSpatialEntityIdEXT, অথবা XR_NULL_SPATIAL_ENTITY_ID_EXT যদি futureResult, XR_SUCCESS না হয়।

ভবিষ্যতের রিটার্ন কোড

futureResult ভ্যালু:

হয়ে গেছে

  • XR_SUCCESS
  • XR_SESSION_LOSS_PENDING

ব্যর্থতা

  • XR_ERROR_RUNTIME_FAILURE
  • XR_ERROR_INSTANCE_LOST
  • XR_ERROR_SESSION_LOST
  • XR_ERROR_OUT_OF_MEMORY
  • XR_ERROR_LIMIT_REACHED
  • XR_ERROR_GEOSPATIAL_TRACKER_NOT_RUNNING_ANDROID
  • XR_ERROR_SURFACE_ANCHOR_LOCATION_UNSUPPORTED_ANDROID
  • XR_ERROR_GEOSPATIAL_CLOUD_AUTH_FAILED_ANDROID

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

উদাহরণ

টেরেন অ্যাঙ্কর তৈরি করুন

PFN_xrCreateSpatialContextAsyncEXT xrCreateSpatialContextAsyncEXT;
PFN_xrCreateSpatialContextCompleteEXT xrCreateSpatialContextCompleteEXT;
PFN_xrCreateSurfaceAnchorAsyncANDROID xrCreateSurfaceAnchorAsyncANDROID;
PFN_xrPollFutureEXT xrPollFutureEXT;
PFN_xrCreateSurfaceAnchorCompleteANDROID xrCreateSurfaceAnchorCompleteANDROID;
XrInstance instance;
XrSession session;
XrGeospatialTrackerANDROID geospatialTracker;

// Create a spatial context
XrSpatialContextEXT spatialContext{};
{
  std::vector<XrSpatialComponentTypeEXT> enabledComponents = {
    XR_SPATIAL_COMPONENT_TYPE_ANCHOR_EXT,
  };

  XrSpatialCapabilityConfigurationAnchorEXT
       anchorConfig{XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_ANCHOR_EXT};
  anchorConfig.capability = XR_SPATIAL_CAPABILITY_ANCHOR_EXT;
  anchorConfig.enabledComponentCount = enabledComponents.size();
  anchorConfig.enabledComponents = enabledComponents.data();

  std::array<XrSpatialCapabilityConfigurationBaseHeaderEXT*, 1> capabilityConfigs = {
    reinterpret_cast<XrSpatialCapabilityConfigurationBaseHeaderEXT*>(&anchorConfig),
  };

  XrSpatialContextCreateInfoEXT spatialContextCreateInfo{XR_TYPE_SPATIAL_CONTEXT_CREATE_INFO_EXT};
  spatialContextCreateInfo.capabilityConfigCount = capabilityConfigs.size();
  spatialContextCreateInfo.capabilityConfigs = capabilityConfigs.data();
  XrFutureEXT createContextFuture;
  CHK_XR(xrCreateSpatialContextAsyncEXT(session, &spatialContextCreateInfo, &createContextFuture));

  // ... wait until future is ready ...

  XrCreateSpatialContextCompletionEXT contextCompletion{XR_TYPE_CREATE_SPATIAL_CONTEXT_COMPLETION_EXT};
  CHK_XR(xrCreateSpatialContextCompleteEXT(session, createContextFuture, &contextCompletion));
  if (contextCompletion.futureResult != XR_SUCCESS) {
    return;
  }

  spatialContext = contextCompletion.spatialContext;
}

XrSurfaceAnchorCreateInfoANDROID anchorCreateInfo{
    XR_TYPE_SURFACE_ANCHOR_CREATE_INFO_ANDROID};
anchorCreateInfo.surfaceAnchorType = XR_SURFACE_ANCHOR_TYPE_TERRAIN_ANDROID;
anchorCreateInfo.eastUpSouthOrientation = {0, 0, 0, 1};
anchorCreateInfo.latitude = 37.7749;
anchorCreateInfo.longitude = -122.4194;
anchorCreateInfo.altitudeRelativeToSurface = 0;
anchorCreateInfo.geospatialTracker = geospatialTracker;
XrFutureEXT anchorFuture = XR_NULL_FUTURE_EXT;
CHK_XR(xrCreateSurfaceAnchorAsyncANDROID(spatialContext, &anchorCreateInfo, &anchorFuture));

XrFuturePollInfoEXT anchorPollInfo{XR_TYPE_FUTURE_POLL_INFO_EXT};
XrFuturePollResultEXT anchorPollResult{XR_TYPE_FUTURE_POLL_RESULT_EXT};
anchorPollInfo.future = anchorFuture;
anchorPollResult.state = XR_FUTURE_STATE_PENDING_EXT;
while (anchorPollResult.state == XR_FUTURE_STATE_PENDING_EXT) {
  // Do in render loop/state loop.
  CHK_XR(xrPollFutureEXT(instance, &anchorPollInfo, &anchorPollResult));
}

XrSurfaceAnchorCreateCompletionANDROID anchorCompletion{
    XR_TYPE_SURFACE_ANCHOR_CREATE_COMPLETION_ANDROID};
CHK_XR(xrCreateSurfaceAnchorCompleteANDROID(spatialContext, anchorFuture, &anchorCompletion));
if (anchorCompletion.futureResult == XR_SUCCESS) {
  // Use completion.anchorEntityId.
  XrSpatialEntityIdEXT anchorId = anchorCompletion.anchorEntityId;

  // Query in UpdateSnapshot.
}

নতুন কমান্ড

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

নতুন Enum

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

  • XR_ANDROID_GEOSPATIAL_ANCHOR_EXTENSION_NAME
  • XR_ANDROID_geospatial_anchor_SPEC_VERSION
  • XrResult এক্সটেন্ড করা হচ্ছে :

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

    • XR_TYPE_GEOSPATIAL_ANCHOR_CREATE_INFO_ANDROID
    • XR_TYPE_GEOSPATIAL_TRACKER_ANCHOR_TRACKING_INFO_ANDROID
    • XR_TYPE_SURFACE_ANCHOR_CREATE_COMPLETION_ANDROID
    • XR_TYPE_SURFACE_ANCHOR_CREATE_INFO_ANDROID
    • XR_TYPE_SYSTEM_GEOSPATIAL_ANCHOR_PROPERTIES_ANDROID

সমস্যা

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

  • রিভিশন ১, ৩০-১০-২০২৫ (বেন কিং)

    • প্রাথমিক ড্রাফ্ট।