XR_ANDROID_trackables OpenXR uzantısı

Ad dizesi

XR_ANDROID_trackables

Uzantı Türü

Örnek uzatma

Kayıtlı Uzatma Numarası

456

Düzeltme

1

Uzantı ve Sürüm Bağımlılıkları

OpenXR 1.0

Son Değiştirilme Tarihi

2024-09-30

IP Durumu

Bilinen IP hak talepleri yok.

Katkıda bulunanlar

Spencer Quin, Google

Nihav Jain, Google

John Pursey, Google

Jared Finder, Google

Levana Chen, Google

Kenny Vercaemer, Google

Genel Bakış

Bu uzantı, uygulamanın fiziksel ortamdaki takip edilebilir öğelere erişmesine ve takip edilebilir öğeye bağlı ankrajlar oluşturmasına olanak tanır.

Bu uzantı, uçak takip edilebilir öğelerini tanımlar. Diğer uzantılar ek izlenebilir türler ekleyebilir. Örneğin, XR_ANDROID_trackables_object takip edilebilir nesneler ekler ve XR_ANDROID_depth_texture, ortamdaki rastgele noktalara ışın izleme yapılmasına olanak tanıyan derinlik tamponları ekler.

İzlenebilir, fiziksel ortamda izlenen bir öğedir (XrTrackableTypeANDROID bölümüne bakın):

  • bir düzlem (ör. duvar, zemin, tavan, masa)
  • bir nesne (ör. klavye, fare, dizüstü bilgisayar)

İzlenebilir bir takip aracı oluşturma

XrTrackableTrackerANDROID, ortamda belirli bir XrTrackableTypeANDROID öğesinin izlenebilenlerini bulup güncellemek için gereken kaynakları temsil eden bir herkese açık tanımlayıcıdır.

XR_DEFINE_HANDLE(XrTrackableTrackerANDROID)

xrCreateTrackableTrackerANDROID işlevi şu şekilde tanımlanır:

XrResult xrCreateTrackableTrackerANDROID(
    XrSession                                   session,
    const XrTrackableTrackerCreateInfoANDROID*  createInfo,
    XrTrackableTrackerANDROID*                  trackableTracker);

Parametre Açıklamaları

Uygulama, izlenebilir bir izleyici oluşturmak için xrCreateTrackableTrackerANDROID işlevini kullanabilir.

  • Sistem belirtilen türdeki takip edilebilir öğeleri desteklemiyorsa XR_ERROR_FEATURE_UNSUPPORTED döndürülür.
  • Çağrı yapan uygulamaya gerekli izinler verilmemişse XR_ERROR_PERMISSION_INSUFFICIENT döndürülür.

Uygulama, sonraki API çağrılarında döndürülen izleyici kimliğini kullanabilir. XrTrackableTrackerANDROID mülkünün, xrDestroyTrackableTrackerANDROID işlevi kullanılarak nihayetinde serbest bırakılması gerekir.

Geçerli Kullanım (Dolayı)

İade Kodları

Başarılı

  • XR_SUCCESS
  • XR_SESSION_LOSS_PENDING

Hata

  • 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

XrTrackableTrackerCreateInfoANDROID yapısı şu şekilde tanımlanır:

typedef struct XrTrackableTrackerCreateInfoANDROID {
    XrStructureType           type;
    void*                     next;
    XrTrackableTypeANDROID    trackableType;
} XrTrackableTrackerCreateInfoANDROID;

Üye Açıklamaları

  • type, bu yapının XrStructureType değeridir.
  • next, NULL veya bir yapı zincirindeki sonraki yapının işaretçisidir. Temel OpenXR'da veya bu uzantıda böyle bir yapı tanımlanmamıştır.
  • trackableType, izleyicinin izleyeceği XrTrackableTypeANDROID değeridir.

XrTrackableTrackerCreateInfoANDROID yapısı, xrCreateTrackableTrackerANDROID işlevine aktarıldığında XrTrackableTrackerANDROID için oluşturma seçenekleri sağlar.

Uzantılar, izlenebilir izleyiciler için ek yapılandırma yapılmasına olanak tanımak amacıyla next'ye eklenebilecek yapıları tanımlayabilir.

Geçerli Kullanım (Dolayı)

XrTrackableTypeANDROID enum şu şekilde tanımlanır:

typedef enum XrTrackableTypeANDROID {
    XR_TRACKABLE_TYPE_NOT_VALID_ANDROID = 0,
    XR_TRACKABLE_TYPE_PLANE_ANDROID = 1,
    XR_TRACKABLE_TYPE_DEPTH_ANDROID = 1000463000,
    XR_TRACKABLE_TYPE_OBJECT_ANDROID = 1000466000
} XrTrackableTypeANDROID;

xrDestroyTrackableTrackerANDROID işlevi şu şekilde tanımlanır:

XrResult xrDestroyTrackableTrackerANDROID(
    XrTrackableTrackerANDROID                   trackableTracker);

Parametre Açıklamaları

xrDestroyTrackableTrackerANDROID işlevi, izlenebilir takip cihazını yok eder.

Aynı XrTrackableTypeANDROID ile oluşturulmuş başka bir geçerli XrTrackableTrackerANDROID yoksa sistem, sistem kaynaklarını korumak için bu izlenebilir tür için gereken izleme hizmetlerini devre dışı bırakabilir.

Geçerli Kullanım (Dolayı)

Thread Güvenliği

  • trackableTracker ve alt herkese açık kimliklere erişim, harici olarak senkronize edilmelidir.

İade Kodları

Başarılı

  • XR_SUCCESS

Hata

  • XR_ERROR_FUNCTION_UNSUPPORTED
  • XR_ERROR_HANDLE_INVALID

Tüm takip edilebilir öğeleri alma

XrTrackableANDROID atomu şu şekilde tanımlanır:

XR_DEFINE_ATOM(XrTrackableANDROID)

XrTrackableANDROID tek bir izlenebilir öğeyi temsil etmek için kullanılır ve yalnızca ilişkili XrTrackableTrackerANDROID öğesinin yaşam döngüsü içinde geçerlidir.

xrGetAllTrackablesANDROID işlevi şu şekilde tanımlanır:

XrResult xrGetAllTrackablesANDROID(
    XrTrackableTrackerANDROID                   trackableTracker,
    uint32_t                                    trackableCapacityInput,
    uint32_t*                                   trackableCountOutput,
    XrTrackableANDROID*                         trackables);

Parametre Açıklamaları

  • trackableTracker, sorgulanacak XrTrackableTrackerANDROID öğesidir.

  • trackableCapacityInput, trackables dizisinin kapasitesidir veya gerekli kapasiteyi alma isteğini belirtmek için 0 değerini alır.

  • trackableCountOutput, yazılan trackables sayısının işaretçisidir veya trackables yetersiz olduğunda gereken kapasitenin işaretçisidir.

  • trackables, XrTrackableANDROID dizisinin işaretçisidir. trackableCapacityInput 0 ise NULL olabilir.

  • Gerekli trackables boyutunu almayla ilgili ayrıntılı açıklama için Arabellek Boyutu Parametreleri bölümüne bakın.

xrGetAllTrackablesANDROID, ortamda bulunan takip edilebilir öğeleri temsil eden bir XrTrackableANDROID dizisi doldurur. Döndürülen trackables öğesinin XrTrackableTypeANDROID değeri, trackableTracker öğesinin XrTrackableTypeANDROID değeriyle eşleşmelidir.

Takip edilebilir uçak alma

xrGetTrackablePlaneANDROID işlevi şu şekilde tanımlanır:

XrResult xrGetTrackablePlaneANDROID(
    XrTrackableTrackerANDROID                   trackableTracker,
    const XrTrackableGetInfoANDROID*            getInfo,
    XrTrackablePlaneANDROID*                    planeOutput);

Parametre Açıklamaları

xrGetTrackablePlaneANDROID işlevi, izlenebilir düzlemle ilgili geometri, yön ve izleme durumu gibi ayrıntıları döndürür.

Uçak bilgileri, XrTrackableGetInfoANDROID::time, XrTrackableGetInfoANDROID::baseSpace kullanılarak xrGetTrackablePlaneANDROID çağrısı sırasında çözülür ve temel alana göre ilişkilendirilir.

Geçerli Kullanım (Dolayı)

İade Kodları

Başarılı

  • XR_SUCCESS
  • XR_SESSION_LOSS_PENDING

Hata

  • 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_LIMIT_REACHED
  • XR_ERROR_TIME_INVALID

XrTrackableGetInfoANDROID yapısı şu şekilde tanımlanır:

typedef struct XrTrackableGetInfoANDROID {
    XrStructureType       type;
    void*                 next;
    XrTrackableANDROID    trackable;
    XrSpace               baseSpace;
    XrTime                time;
} XrTrackableGetInfoANDROID;

Üye Açıklamaları

  • type, bu yapının XrStructureType değeridir.
  • next, NULL veya bir yapı zincirindeki sonraki yapının işaretçisidir. Temel OpenXR'da veya bu uzantıda böyle bir yapı tanımlanmamıştır.
  • trackable, sorgulanacak XrTrackableANDROID uçağıdır.
  • baseSpace uçak pozu, time'daki bu XrSpace'e göre belirlenir.
  • time, baseSpace'e göre koordinatların değerlendirileceği XrTime değeridir.

XrTrackableGetInfoANDROID yapısı, xrGetTrackablePlaneANDROID işlevine iletildiğinde sorgu seçenekleri sağlar. trackable, xrGetTrackablePlaneANDROID'da kullanılan trackableTracker ile eşleşmelidir.

trackable öğesinin izlenebilir türü XR_TRACKABLE_TYPE_PLANE_ANDROID değilse XR_ERROR_MISMATCHING_TRACKABLE_TYPE_ANDROID döndürülür.

Geçerli Kullanım (Dolayı)

XrTrackablePlaneANDROID yapısı şu şekilde tanımlanır:

typedef struct XrTrackablePlaneANDROID {
    XrStructureType           type;
    void*                     next;
    XrTrackingStateANDROID    trackingState;
    XrPosef                   centerPose;
    XrExtent2Df               extents;
    XrPlaneTypeANDROID        planeType;
    XrPlaneLabelANDROID       planeLabel;
    XrTrackableANDROID        subsumedByPlane;
    XrTime                    lastUpdatedTime;
    uint32_t                  vertexCapacityInput;
    uint32_t*                 vertexCountOutput;
    XrVector2f*               vertices;
} XrTrackablePlaneANDROID;

Üye Açıklamaları

  • type, bu yapının XrStructureType değeridir.
  • next, NULL veya bir yapı zincirindeki sonraki yapının işaretçisidir. Temel OpenXR'da veya bu uzantıda böyle bir yapı tanımlanmamıştır.
  • trackingState, uçağın XrTrackingStateANDROID değeridir.
  • centerPose, düzlemle ilgili XrTrackableGetInfoANDROID::baseSpace referans çerçevesinin içinde düzlemin konumunu ve yönünü tanımlayan bir XrPosef bağımsız değişkenidir. Buradaki kimlik yönelimi, +Y'nin düzlem normaline paralel olduğu bir koordinat eksenini temsil eder.
  • extents, düzlemdeki XrExtent2Df boyutudur.
  • planeType, çalışma zamanının bu uçak için belirlediği XrPlaneTypeANDROID değeridir.
  • planeLabel, çalışma zamanında bu uçak için belirlenen XrPlaneLabelANDROID değeridir.
  • subsumedByPlane, bu düzlemi kapsayan düzlemdeki XrTrackableANDROID değeridir (yok ise XR_NULL_TRACKABLE_ANDROID).
  • lastUpdatedTime, uçağın son güncellemesinin XrTime değeridir.
  • vertexCapacityInput, vertices dizisinin kapasitesidir veya gerekli kapasiteyi alma isteğini belirtmek için 0 değerini alır.
  • vertexCountOutput, yazılan vertices sayısının işaretçisidir veya vertices yetersiz olduğunda gerekli kapasitenin işaretçisidir.
  • vertices, XrVector2f dizisinin işaretçisidir. vertexCapacityInput 0 ise NULL olabilir. Köşeler saat yönünün tersine göre sıralanır. Poligon içbükey olabilir ve kendi kendini kesmemelidir (kesişmemelidir).
  • Gerekli vertices boyutunu almayla ilgili ayrıntılı açıklama için Arabellek Boyutu Parametreleri bölümüne bakın.

Geçerli Kullanım (Dolayı)

XrTrackingStateANDROID enum, XrTrackableANDROID öğesinin izleme durumunu tanımlar.

typedef enum XrTrackingStateANDROID {
    XR_TRACKING_STATE_PAUSED_ANDROID = 0,
    XR_TRACKING_STATE_STOPPED_ANDROID = 1,
    XR_TRACKING_STATE_TRACKING_ANDROID = 2
} XrTrackingStateANDROID;

XrTrackingStateANDROID

Açıklama

XR_TRACKING_STATE_PAUSED_ANDROID

İzlenebilir veya ankraj izlemenin duraklatıldığını ancak gelecekte devam ettirilebileceğini belirtir.

XR_TRACKING_STATE_STOPPED_ANDROID

Bu İzlenebilir'in takibi durduruldu ve hiçbir zaman devam ettirilmeyecek.

XR_TRACKING_STATE_TRACKING_ANDROID

Nesne izlenir ve duruşu günceldir.

XrPlaneTypeANDROID enum, XrTrackableANDROID uçağının türüdür.

typedef enum XrPlaneTypeANDROID {
    XR_PLANE_TYPE_HORIZONTAL_DOWNWARD_FACING_ANDROID = 0,
    XR_PLANE_TYPE_HORIZONTAL_UPWARD_FACING_ANDROID = 1,
    XR_PLANE_TYPE_VERTICAL_ANDROID = 2,
    XR_PLANE_TYPE_ARBITRARY_ANDROID = 3
} XrPlaneTypeANDROID;

XrPlaneLabelANDROID enum, XrTrackableANDROID düzlemi için bir etikettir.

typedef enum XrPlaneLabelANDROID {
    XR_PLANE_LABEL_UNKNOWN_ANDROID = 0,
    XR_PLANE_LABEL_WALL_ANDROID = 1,
    XR_PLANE_LABEL_FLOOR_ANDROID = 2,
    XR_PLANE_LABEL_CEILING_ANDROID = 3,
    XR_PLANE_LABEL_TABLE_ANDROID = 4
} XrPlaneLabelANDROID;

Sabitleme alanı oluşturma

XrResult xrCreateAnchorSpaceANDROID(
    XrSession                                   session,
    const XrAnchorSpaceCreateInfoANDROID*       createInfo,
    XrSpace*                                    anchorOutput);

Parametre Açıklamaları

  • session, ankraj alanını oluşturan XrSession'dir.
  • createInfo, ankraj alanını oluşturmak için kullanılacak parametreleri içeren bir XrAnchorSpaceCreateInfoANDROID yapısının işaretçisidir.
  • anchorOutput, oluşturulan XrSpace öğesinin döndürüldüğü bir herkese açık kullanıcı adına işaretçidir.

Herhangi bir zamanda ankrajın hem konumu hem de yönü izlenir veya izlenmez. Bu, uygulama anchorOutput için xrLocateSpace veya xrLocateSpaces'i çağırdığında hem XR_SPACE_LOCATION_POSITION_TRACKED_BIT hem de XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT'nin ayarlanması veya silinmesi gerektiği anlamına gelir.

Uygulama, xrDestroySpace işlevini kullanarak döndürülen XrSpace'i silmek zorundadır.

  • Sistem sabitlemeleri desteklemiyorsa XR_ERROR_FEATURE_UNSUPPORTED döndürülmelidir.
  • Belirli bir ankraj eki desteklenmiyorsa XR_ERROR_TRACKABLE_TYPE_NOT_SUPPORTED_ANDROID döndürülmelidir.

Geçerli Kullanım (Dolayı)

İade Kodları

Başarılı

  • XR_SUCCESS
  • XR_SESSION_LOSS_PENDING

Hata

  • XR_ERROR_FUNCTION_UNSUPPORTED
  • XR_ERROR_TRACKABLE_TYPE_NOT_SUPPORTED_ANDROID
  • XR_ERROR_VALIDATION_FAILURE
  • XR_ERROR_RUNTIME_FAILURE
  • XR_ERROR_HANDLE_INVALID
  • XR_ERROR_INSTANCE_LOST
  • XR_ERROR_SESSION_LOST
  • XR_ERROR_LIMIT_REACHED
  • XR_ERROR_POSE_INVALID
  • XR_ERROR_TIME_INVALID
  • XR_ERROR_OUT_OF_MEMORY

XrAnchorSpaceCreateInfoANDROID yapısı şu şekilde tanımlanır:

typedef struct XrAnchorSpaceCreateInfoANDROID {
    XrStructureType       type;
    void*                 next;
    XrSpace               space;
    XrTime                time;
    XrPosef               pose;
    XrTrackableANDROID    trackable;
} XrAnchorSpaceCreateInfoANDROID;

Üye Açıklamaları

  • type, bu yapının XrStructureType değeridir.
  • next, NULL veya bir yapı zincirindeki sonraki yapının işaretçisidir. Temel OpenXR'da veya bu uzantıda böyle bir yapı tanımlanmamıştır.
  • space, ankrajın oluşturulacağı XrSpace'tir.
  • time, ana öğenin XrTime değeridir.
  • pose, ankrajın XrPosef değeridir.
  • trackable, ankrajın ekleneceği XrTrackableANDROID öğesidir. Uzamsal ankraj oluşturmak XR_NULL_TRACKABLE_ANDROID olabilir.

Geçerli Kullanım (Dolayı)

Tüm takip edilebilir öğeleri almayla ilgili örnek kod

Aşağıdaki örnek kodda, belirli bir türdeki tüm izlenebilir öğelerin nasıl alınacağı gösterilmektedir.

XrSession session; // previously initialized

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

XrTrackableTrackerCreateInfoANDROID createInfo{XR_TYPE_TRACKABLE_TRACKER_CREATE_INFO_ANDROID};
createInfo.trackableType = XR_TRACKABLE_TYPE_PLANE_ANDROID;
XrTrackableTrackerANDROID planeTrackableTracker;
XrResult result = xrCreateTrackableTrackerANDROID(
  session,
  &createInfo,
  &planeTrackableTracker);
if (result != XR_SUCCESS) { /* Handle failures. */ }

uint32_t trackableCountOutput = 0;
std::vector<XrTrackableANDROID> allPlaneTrackables;

// Query the number of trackables available.
result = xrGetAllTrackablesANDROID(
  planeTrackableTracker,
  0,
  &trackableCountOutput,
  nullptr
);

if (result == XR_SUCCESS) {
  allPlaneTrackables.resize(trackableCountOutput, XR_NULL_HANDLE);

  // Fetch the actual trackable handles in the appropriately resized array.
  result = xrGetAllTrackablesANDROID(
    planeTrackableTracker,
    trackableCountOutput,
    &trackableCountOutput,
    allPlaneTrackables.data());

  if (result == XR_SUCCESS) {
    for (XrTrackableANDROID trackable : allPlaneTrackables) {
      // You now have all trackables of the specified type.
    }
  }
}

// Release trackable tracker.
result = xrDestroyTrackableTrackerANDROID(planeTrackableTracker);

İzlenebilir uçak almak için örnek kod

Aşağıdaki örnek kodda, isabet sonucu XR_ANDROID_raycast veya xrGetTrackablesANDROID'den elde edilen mevcut bir XrTrackableANDROID'den nasıl izlenebilir bir düzlem alınacağı gösterilmektedir.

XrTrackableTrackerANDROID planeTracker; // previously created

// The function pointers are previously initialized using xrGetInstanceProcAddr.
PFN_xrGetTrackablePlaneANDROID xrGetTrackablePlaneANDROID; // previously initialized

XrTime updateTime; // Time used for the current frame's simulation update.
XrSpace appSpace; // Space created for XR_REFERENCE_SPACE_TYPE_LOCAL.
XrTrackableANDROID planeTrackable; // Acquired from a hit result or getTrackables().

XrTrackableGetInfoANDROID planeGetInfo;
planeGetInfo.type = XR_TYPE_TRACKABLE_GET_INFO_ANDROID;
planeGetInfo.next = nullptr;
planeGetInfo.trackable = planeTrackable;
planeGetInfo.space = appSpace;
planeGetInfo.time = updateTime;

XrTrackablePlaneANDROID plane = { XR_TYPE_TRACKABLE_PLANE_ANDROID };
result = xrGetTrackablePlaneANDROID(
  planeTracker,
  &planeGetInfo,
  &plane
);

if (result == XR_SUCCESS) {
  // Plane tracking state, center pose, extents, type now available in plane.
}

Sabitleme alanı oluşturmaya yönelik örnek kod

Aşağıdaki örnek kodda, bir izlenebilir öğeye bağlı bir ankraj alanı oluşturma işlemi gösterilmektedir.

XrSession session; // Created at app startup.
XrTime updateTime; // Time used for the current frame's simulation update.
XrSpace appSpace; // Space created for XR_REFERENCE_SPACE_TYPE_LOCAL.
XrTrackableANDROID planeTrackable; // Acquired from a hit result or getTrackables().

// Create an anchor at (2, 2, 2) world-coordinates.
XrAnchorSpaceCreateInfoANDROID spatialAnchorCreateInfo;
spatialAnchorCreateInfo.type = XR_TYPE_ANCHOR_SPACE_CREATE_INFO_ANDROID;
spatialAnchorCreateInfo.next = nullptr;
spatialAnchorCreateInfo.space = appSpace;
spatialAnchorCreateInfo.time = updateTime;
spatialAnchorCreateInfo.pose = { { 0, 0, 0, 1 }, { 2, 2, 2 } };

XrSpace spatialAnchor = XR_NULL_HANDLE;
XrResult result = xrCreateAnchorSpaceANDROID(
  session,
  &spatialAnchorCreateInfo,
  &spatialAnchor
);

// Create an anchor attached to a trackable.
XrTrackablePlane plane = ...;
XrAnchorSpaceCreateInfoANDROID trackableAnchorCreateInfo;
trackableAnchorCreateInfo.type = XR_TYPE_ANCHOR_SPACE_CREATE_INFO_ANDROID;
trackableAnchorCreateInfo.next = nullptr;
trackableAnchorCreateInfo.space = appState;
trackableAnchorCreateInfo.pose = plane.centerPose;
trackableAnchorCreateInfo.trackable = planeTrackable;

XrSpace trackableAnchor = XR_NULL_HANDLE;
XrResult result = xrCreateAnchorSpaceANDROID(
  session,
  &trackableAnchorCreateInfo,
  &trackableAnchor
);
while (true) {
  // app update loop
  // ...

  // Get the current location of the anchor's space w.r.t the world.
  XrSpaceLocation anchorLocation = { XR_TYPE_SPACE_LOCATION };
  result = xrLocateSpace(trackableAnchor, appSpace, updateTime, &anchorLocation);

  if (anchor.trackingState == XR_TRACKING_STATE_TRACKING_ANDROID) {
    // Update anchor pose.
    doDrawingForAnchor(anchorLocation.pose);
  } else {
    // ...
  }
}

// Cleanup - destroy the space, detatch the anchor so its no longer tracked by the
// runtime and then release all resources held by it.
xrDestroySpace(spatialAnchor);
xrDestroySpace(trackableAnchor);

Yeni Temel Türleri

Yeni Nesne Türleri

Yeni Enum Constants

XrStructureType dizini aşağıdakilerle genişletildi:

  • XR_TYPE_TRACKABLE_GET_INFO_ANDROID
  • XR_TYPE_ANCHOR_SPACE_CREATE_INFO_ANDROID
  • XR_TYPE_TRACKABLE_PLANE_ANDROID
  • XR_TYPE_TRACKABLE_TRACKER_CREATE_INFO_ANDROID

XrObjectType dizini aşağıdakilerle genişletildi:

  • XR_OBJECT_TYPE_TRACKABLE_TRACKER_ANDROID

XrResult dizini şu şekilde genişletildi:

  • XR_ERROR_MISMATCHING_TRACKABLE_TYPE_ANDROID
  • XR_ERROR_TRACKABLE_TYPE_NOT_SUPPORTED_ANDROID

Yeni Sıralamalar

Yeni Yapılar

Yeni İşlevler

Sorunlar

Sürüm Geçmişi

  • Düzeltme 1, 27.09.2024 (Kenny Vercaemer)
    • İlk uzantı açıklaması.