XR_ANDROID_geospatial_anchor

Name String

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 ที่ทราบ

ผู้เขียน

John Ullman, Google
Ben King, Google
Nihav Jain, Google
Jared Finder, Google

ภาพรวม

ส่วนขยายนี้มีสมอเชิงพื้นที่และสมอบนพื้นผิวที่สร้างขึ้นจากส่วนขยายภูมิสารสนเทศเชิงพื้นที่พื้นฐาน Anchor ภูมิสารสนเทศคือ Anchor ที่วางตำแหน่งในพื้นที่สัมพัทธ์กับโลกที่ละติจูด ลองจิจูด และระดับความสูงที่กำหนด Surface Anchor คือ Anchor ที่สัมพันธ์กับโลกซึ่งวางไว้ที่ละติจูด ลองจิจูด และระดับความสูงที่กำหนดซึ่งสัมพันธ์กับพื้นผิวตามที่ Visual Positioning Service ทราบ เมื่อความแม่นยำของตำแหน่งรันไทม์ที่สัมพันธ์กับโลกดีขึ้น ท่าทางของ Anchor จะปรับตาม

ความสามารถของระบบสำหรับ Anchor เชิงพื้นที่

โครงสร้าง XrSystemGeospatialAnchorPropertiesANDROID มีคำจำกัดความดังนี้

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

คำอธิบายสมาชิก

  • type คือ XrStructureType ของโครงสร้างนี้
  • next คือ NULL หรือ Pointer ไปยังโครงสร้างถัดไปในเชนโครงสร้าง ไม่มีการกำหนดโครงสร้างดังกล่าวใน OpenXR หลักหรือส่วนขยายนี้
  • maxSurfaceAnchorCount คือ uint32_t ที่ระบุจำนวนสูงสุดของแองเคอร์พื้นผิวที่สร้างได้

แอปพลิเคชันสามารถตรวจสอบความสามารถของสมอเชิงพื้นที่ของระบบได้โดยการเชื่อมต่อโครงสร้าง XrSystemGeospatialAnchorPropertiesANDROID กับ XrSystemProperties เมื่อเรียกใช้ xrGetSystemProperties

หาก XrSystemGeospatialPropertiesANDROID :: supportsGeospatial เป็น XR_TRUE แสดงว่า maxSurfaceAnchorCount ระบุจำนวนสูงสุดของ Anchor พื้นผิวที่รันไทม์รองรับ ในกรณีนี้ ขีดจำกัดต้องมากกว่า 0

หาก XrSystemGeospatialPropertiesANDROID :: supportsGeospatial ไม่ใช่ XR_TRUE maxSurfaceAnchorCount ต้องเป็น 0

การใช้งานที่ถูกต้อง (โดยนัย)

การติดตามเครื่องบินสำหรับสมอ

โครงสร้าง XrGeospatialTrackerAnchorTrackingInfoANDROID มีคำจำกัดความดังนี้

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

คำอธิบายสมาชิก

  • type คือ XrStructureType ของโครงสร้างนี้
  • next คือ NULL หรือ Pointer ไปยังโครงสร้างถัดไปในเชนโครงสร้าง
  • shouldTrackPlanes คือ XrBool32 ที่ระบุว่าเครื่องมือติดตามเชิงพื้นที่จะติดตามเครื่องบินเพื่อปรับปรุงการวางตำแหน่งของ Anchor ที่ล็อกกับพื้นผิวหรือไม่

คุณเปิดใช้การติดตามระนาบเพื่อปรับปรุงการวางตำแหน่งของ Anchor ที่ล็อกพื้นผิวได้

หากแอปพลิเคชันต้องการเปิดใช้การติดตามระนาบเพื่อปรับปรุงท่าทางของ Anchor พื้นผิว แอปสามารถเชื่อมโยงโครงสร้าง XrGeospatialTrackerAnchorTrackingInfoANDROID กับ XrGeospatialTrackerCreateInfoANDROID เมื่อเรียกใช้ xrCreateGeospatialTrackerANDROID

การใช้งานที่ถูกต้อง (โดยนัย)

สมอยึดภูมิสารสนเทศ

ฟังก์ชัน xrCreateGeospatialAnchorANDROID มีคำจำกัดความดังนี้

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

คำอธิบายพารามิเตอร์

  • spatialContext คือ XrSpatialContextEXT ที่ใช้สร้าง Anchor ต้องกำหนดค่าบริบทสำหรับ XR_SPATIAL_CAPABILITY_ANCHOR_EXT มิเช่นนั้นรันไทม์ต้องแสดงผล XR_ERROR_VALIDATION_FAILURE
  • createInfo คือตัวชี้ไปยัง XrGeospatialAnchorCreateInfoANDROID ที่มีพารามิเตอร์การสร้าง Anchor
  • anchorEntityId คือ Pointer ไปยัง XrSpatialEntityIdEXT ซึ่งจะแสดงรหัสเอนทิตีของ Anchor

หาก XrGeospatialTrackerANDROID ที่ระบุใน XrGeospatialAnchorCreateInfoANDROID :: geospatialTracker ไม่อยู่ในสถานะ XR_GEOSPATIAL_TRACKER_STATE_RUNNING_ANDROID รันไทม์ต้องแสดงผล XR_ERROR_GEOSPATIAL_TRACKER_NOT_RUNNING_ANDROID

การใช้งานที่ถูกต้อง (โดยนัย)

  • คุณต้องเปิดใช้ส่วนขยาย XR_ANDROID_geospatial_anchor ก่อนที่จะเรียกใช้ xrCreateGeospatialAnchorANDROID
  • 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_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 หรือ Pointer ไปยังโครงสร้างถัดไปในเชนโครงสร้าง
  • geospatialTracker คือ XrGeospatialTrackerANDROID ที่ใช้สร้าง Anchor
  • geospatialPose คือตัวชี้ไปยัง XrGeospatialPoseANDROID ที่กำหนดตำแหน่งและการวางแนวของ Anchor

การใช้งานที่ถูกต้อง (โดยนัย)

สมอยึดพื้นผิว

Anchor พื้นผิวคือ Anchor ที่วางไว้เทียบกับพื้นผิว เช่น ภูมิประเทศหรือหลังคา

การแจงนับ 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 จะระบุประเภทพื้นผิวที่ Anchor สัมพันธ์ด้วย

ตัวแจงนับมีค่าดังนี้

คำอธิบาย 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 ที่ใช้สร้าง Anchor
  • createInfo เป็น Pointer ไปยัง XrSurfaceAnchorCreateInfoANDROID ที่มีพารามิเตอร์การสร้าง Anchor
  • future เป็นตัวชี้ไปยัง XrFutureEXT ซึ่งจะเก็บผลลัพธ์ของการดำเนินการแบบอะซิงโครนัส

ฟังก์ชัน xrCreateSurfaceAnchorAsyncANDROID จะเริ่มการดำเนินการแบบไม่พร้อมกันเพื่อสร้าง Anchor พื้นผิว ซึ่งต่างจากสมอเชิงพื้นที่มาตรฐาน รันไทม์อาจดึงข้อมูลภูมิประเทศเพื่อกำหนดระดับความสูงที่ถูกต้อง รันไทม์ต้องแสดง XR_ERROR_LIMIT_REACHED หากแอปพลิเคชันพยายามสร้าง Surface Anchor มากกว่า XrSystemGeospatialAnchorPropertiesANDROID :: maxSurfaceAnchorCount รายการในครั้งเดียว หาก XrGeospatialTrackerANDROID ที่ระบุใน XrSurfaceAnchorCreateInfoANDROID :: geospatialTracker ไม่อยู่ในสถานะ XR_GEOSPATIAL_TRACKER_STATE_RUNNING_ANDROID รันไทม์ต้องแสดงผล XR_ERROR_GEOSPATIAL_TRACKER_NOT_RUNNING_ANDROID การดำเนินการอาจล้มเหลวแบบไม่พร้อมกันโดยมีผลลัพธ์เป็น XR_ERROR_SURFACE_ANCHOR_LOCATION_UNSUPPORTED_ANDROID หากไม่มีข้อมูลพื้นผิวสำหรับสถานที่ตั้งที่ระบุ รันไทม์ต้องแสดงผล XR_ERROR_VALIDATION_FAILURE หากไม่ได้กำหนดค่า XR_SPATIAL_CAPABILITY_ANCHOR_EXT สำหรับ spatialContext

การใช้งานที่ถูกต้อง (โดยนัย)

  • ต้องเปิดใช้ส่วนขยาย XR_ANDROID_geospatial_anchor ก่อนที่จะเรียกใช้ xrCreateSurfaceAnchorAsyncANDROID
  • 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_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 หรือ Pointer ไปยังโครงสร้างถัดไปในเชนโครงสร้าง
  • geospatialTracker คือ XrGeospatialTrackerANDROID ที่จะใช้
  • surfaceAnchorType คือ XrSurfaceAnchorTypeANDROID สำหรับ Anchor
  • eastUpSouthOrientation คือการวางแนวเทียบกับระบบพิกัดที่ +X=ตะวันออก, +Y=ขึ้น และ +Z=ใต้
  • latitude คือละติจูดในหน่วยองศา ซึ่งอยู่ระหว่าง -89.9 ถึง +89.9
  • longitude คือลองจิจูดในหน่วยองศา ซึ่งอยู่ระหว่าง -180 ถึง +180
  • altitudeRelativeToSurface คือระดับความสูงเป็นเมตรเทียบกับพื้นผิวที่ระบุโดย surfaceAnchorType

การใช้งานที่ถูกต้อง (โดยนัย)

  • ต้องเปิดใช้ส่วนขยาย XR_ANDROID_geospatial_anchor ก่อนจึงจะใช้ XrSurfaceAnchorCreateInfoANDROID ได้
  • type ต้องเป็น XR_TYPE_SURFACE_ANCHOR_CREATE_INFO_ANDROID
  • next ต้องเป็น NULL หรือ Pointer ที่ถูกต้องไปยังโครงสร้างถัดไปในห่วงโซ่โครงสร้าง
  • 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 หรือ Pointer ไปยังโครงสร้างถัดไปในเชนโครงสร้าง
  • futureResult คือ XrResult ของการดำเนินการสร้าง หาก futureResult เป็น XR_ERROR_GEOSPATIAL_CLOUD_AUTH_FAILED_ANDROID โครงสร้างในเชน next อาจให้ข้อมูลเพิ่มเติมเกี่ยวกับความล้มเหลว
  • anchorEntityId คือ XrSpatialEntityIdEXT ของ Anchor ที่สร้างขึ้น หรือ 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

การใช้งานที่ถูกต้อง (โดยนัย)

ตัวอย่าง

สร้าง Anchor ภูมิประเทศ

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

ปัญหา

ประวัติเวอร์ชัน

  • การแก้ไขครั้งที่ 1, 2025-10-30 (Ben King)

    • ฉบับร่างเริ่มต้น