Namensstring
XR_ANDROID_composition_layer_passthrough_mesh
Erweiterungstyp
Instanzerweiterung
Registrierte Erweiterungsnummer
463
Revision
1
Erweiterungs- und Versionsabhängigkeiten
Datum der letzten Änderung
2024-09-18
IP-Status
Es sind keine Ansprüche aufgrund von Urheberrechten bekannt.
Mitwirkende
Grant Yoshida, Google
Kevin Moule, Google
Vasiliy Baranov, Google
Peter Chen, Google
Levana Chen, Google
Übersicht
Bei Geräten, die mehrere Umgebungsmischungsmodi unterstützen, kann das System Passthrough-Konfigurationen bereitstellen, um Nutzern ihre physische Umgebung in einer immersiven Ansicht zu zeigen.
Mit dieser Erweiterung können Anwendungen Passthrough-Texturen über eine zusätzliche Kompositionierungsebene XrCompositionLayerPassthroughANDROID auf beliebige Geometrie projizieren.
Die Eigenschaften der Passthrough-Ebene werden durch die folgenden Parameter angegeben, in denen die Projektion durch XrPassthroughLayerANDROID dargestellt wird.
  XrPosef                      pose;
    XrVector3f                   scale;
    float                        opacity;
    XrPassthroughLayerANDROID    layer;
Für die Vollbildweiterleitung können Anwendungen den Umgebungsblendmodus verwenden.
Systemkapazität prüfen
Eine Anwendung kann prüfen, ob das System ein Passthrough-Mesh für die Kompositionebene unterstützt, indem sie beim Aufruf von xrGetSystemProperties eine XrSystemPassthroughLayerPropertiesANDROID-Struktur an die XrSystemProperties-Struktur anhängt.
typedef struct XrSystemPassthroughLayerPropertiesANDROID {
    XrStructureType    type;
    void*              next;
    XrBool32           supportsPassthroughLayer;
    uint32_t           maxMeshIndexCount;
    uint32_t           maxMeshVertexCount;
} XrSystemPassthroughLayerPropertiesANDROID;
Beschreibungen von Mitgliedern
- typeist der XrStructureType dieser Struktur.
- nextist- NULLoder ein Zeiger auf die nächste Struktur in einer Strukturkette. Solche Strukturen sind in OpenXR oder dieser Erweiterung nicht definiert.
- supportsPassthroughLayerist ein- XrBool32, das angibt, ob das aktuelle System das Passthrough-Mesh der Kompositionslagen unterstützt.
- maxMeshIndexCountist ein- uint32_tgibt die maximale Anzahl von Indizes zurück, die für ein Passthrough-Mesh akzeptiert werden.
- maxMeshVertexCountist ein- uint32_tgibt die maximale Anzahl von Spitzen zurück, die für ein Passthrough-Mesh akzeptiert werden.
Wenn supportsPassthroughLayer XR_FALSE zurückgibt, unterstützt das System kein Passthrough-Mesh für die Kompositionebene und erhält daher XR_ERROR_FEATURE_UNSUPPORTED von xrCreatePassthroughLayerANDROID. In der Anwendung sollte kein Passthrough-Mesh für die Kompositionslagen verwendet werden, wenn supportsPassthroughLayer = XR_FALSE ist.
Wenn supportsPassthroughLayer XR_TRUE zurückgibt, unterstützt das System das Passthrough-Mesh der Kompositionebene. In diesem Fall geben maxMeshIndexCount und maxMeshVertexCount eine positive Zahl zurück. Eine Anwendung sollte maxMeshIndexCount und maxMeshVertexCount als maximale Werte verwenden, um Passthrough-Meshes beim Aufrufen von xrCreatePassthroughLayerANDROID und xrSetPassthroughLayerMeshANDROID festzulegen. Andernfalls wird möglicherweise XR_ERROR_MESH_DATA_LIMIT_EXCEEDED_ANDROID zurückgegeben, um anzugeben, dass die Mesh-Daten das unterstützte Limit überschreiten.
Gültige Verwendung (implizit)
- Die Erweiterung XR_ANDROID_composition_layer_passthrough_meshmuss aktiviert sein, bevor XrSystemPassthroughLayerPropertiesANDROID verwendet werden kann.
- typemuss- XR_TYPE_SYSTEM_PASSTHROUGH_LAYER_PROPERTIES_ANDROIDsein.
- nextmuss- NULLoder ein gültiger Zeiger auf die nächste Struktur in einer Strukturkette sein.
Zusammensetzung der Passthrough-Ebene
XrCompositionLayerPassthroughANDROID enthält die Informationen, die zum Rendern einer Passthrough-Textur auf einem Dreiecksnetz beim Aufrufen von xrEndFrame erforderlich sind. XrCompositionLayerPassthroughANDROID ist ein Aliastyp für die Basisstruktur XrCompositionLayerBaseHeader, die in XrFrameEndInfo verwendet wird.
typedef struct XrCompositionLayerPassthroughANDROID {
    XrStructureType              type;
    const void*                  next;
    XrCompositionLayerFlags      layerFlags;
    XrSpace                      space;
    XrPosef                      pose;
    XrVector3f                   scale;
    float                        opacity;
    XrPassthroughLayerANDROID    layer;
} XrCompositionLayerPassthroughANDROID;
Beschreibungen von Mitgliedern
- typeist der XrStructureType dieser Struktur.
- nextist- NULLoder ein Zeiger auf die nächste Struktur in einer Strukturkette. Solche Strukturen sind in OpenXR oder dieser Erweiterung nicht definiert.
- layerFlagsist eine Bitmaske von XrCompositionLayerFlags, die Flags beschreibt, die auf die Ebene angewendet werden sollen.
- spaceist der XrSpace, in dem die- posedes Ebenen-Meshes im Zeitverlauf ausgewertet wird.
- poseist ein- XrPosef, das die Position und Ausrichtung des Ebenen-Mesh im Referenzrahmen der- spacedefiniert.
- scaleist eine- XrVector3f, die den Maßstab des Ebenen-Meshes definiert.
- opacityist eine- float, die die Deckkraft der Transparenttextur im Bereich [0, 1] definiert.
- layerist die XrPassthroughLayerANDROID, die zuvor mit xrCreatePassthroughLayerANDROID erstellt wurde.
Die Anwendung kann eine XrCompositionLayerPassthroughANDROID-Struktur mit der erstellten layer und den entsprechenden Meshes von XrPassthroughLayerMeshANDROID erstellen.
Ein Verweis auf XrCompositionLayerPassthroughANDROID kann in xrEndFrame als Verweis auf die Basisstruktur XrCompositionLayerBaseHeader in der ausgewählten Ebenenreihenfolge gesendet werden, um die Runtime aufzufordern, eine Passthrough-Ebene in die endgültige Frame-Ausgabe einzufügen.
Gültige Verwendung (implizit)
- Die Erweiterung XR_ANDROID_composition_layer_passthrough_meshmuss aktiviert sein, bevor XrCompositionLayerPassthroughANDROID verwendet werden kann.
- typemuss- XR_TYPE_COMPOSITION_LAYER_PASSTHROUGH_ANDROIDsein.
- nextmuss- NULLoder ein gültiger Zeiger auf die nächste Struktur in einer Strukturkette sein.
- layerFlagsmuss- 0oder eine gültige Kombination von XrCompositionLayerFlagBits-Werten sein
- spacemuss ein gültiger XrSpace-Handle sein
- layermuss ein gültiger XrPassthroughLayerANDROID-Handle sein.
- Sowohl layerals auchspacemüssen in derselben XrSession erstellt, zugewiesen oder abgerufen worden sein.
Passthrough-Ebenen-Handle erstellen
Der Handle XrPassthroughLayerANDROID stellt eine Passthrough-Ebene dar, die das Verhalten von XrCompositionLayerPassthroughANDROID definiert.
XR_DEFINE_HANDLE(XrPassthroughLayerANDROID)
Eine Anwendung kann einen XrPassthroughLayerANDROID-Handle erstellen, indem sie xrCreatePassthroughLayerANDROID aufruft. Der zurückgegebene XrPassthroughLayerANDROID-Handle kann anschließend in API-Aufrufen verwendet werden.
XrResult xrCreatePassthroughLayerANDROID(
    XrSession                                   session,
    const XrPassthroughLayerCreateInfoANDROID*  createInfo,
    XrPassthroughLayerANDROID*                  layer);
Parameterbeschreibungen
- sessionist eine XrSession, für die die Passthrough-Ebene erstellt wird.
- createInfoist ein Verweis auf eine XrPassthroughLayerCreateInfoANDROID-Struktur, die die anfänglichen Parameter der Passthrough-Ebene angibt. Dieses Feld kann auch mit einer XrPassthroughLayerMeshANDROID-Struktur verknüpft werden, um das Mesh gleichzeitig festzulegen.
- layerist ein Verweis auf einen Handle, über den die erstellte XrPassthroughLayerANDROID zurückgegeben wird.
Die Anwendung muss die Anzahl der Passthrough-Mesh-Indexe in den XrPassthroughLayerCreateInfoANDROID::vertexCapacity und XrPassthroughLayerCreateInfoANDROID::indexCapacity kleiner oder gleich den Maximalwerten angeben, die von XrSystemPassthroughLayerPropertiesANDROID::maxMeshIndexCount und XrSystemPassthroughLayerPropertiesANDROID::maxMeshVertexCount beim Aufruf von xrGetSystemProperties zurückgegeben werden. xrCreatePassthroughLayerANDROID gibt einen XR_ERROR_MESH_DATA_LIMIT_EXCEEDED_ANDROID-Fehler zurück, wenn die Anzahl der von createInfo definierten Mesh-Indexe größer als die Maximalwerte ist.
Der Handle XrPassthroughLayerANDROID muss schließlich mit der Funktion xrDestroyPassthroughLayerANDROID freigegeben werden.
Gültige Verwendung (implizit)
- Die Erweiterung XR_ANDROID_composition_layer_passthrough_meshmuss aktiviert sein, bevor xrCreatePassthroughLayerANDROID aufgerufen wird.
- sessionmuss ein gültiger XrSession-Alias sein.
- createInfomuss ein Verweis auf eine gültige XrPassthroughLayerCreateInfoANDROID-Struktur sein.
- layermuss ein Verweis auf einen XrPassthroughLayerANDROID-Handle sein.
Rückgabecodes
- 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_SIZE_INSUFFICIENT
- XR_ERROR_MESH_DATA_LIMIT_EXCEEDED_ANDROID
Die Struktur XrPassthroughLayerCreateInfoANDROID ist so definiert:
typedef struct XrPassthroughLayerCreateInfoANDROID {
    XrStructureType    type;
    const void*        next;
    uint32_t           vertexCapacity;
    uint32_t           indexCapacity;
} XrPassthroughLayerCreateInfoANDROID;
Beschreibungen von Mitgliedern
- typeist der XrStructureType dieser Struktur.
- nextist NULL oder ein Zeiger auf die nächste Struktur in einer Strukturkette. XrPassthroughLayerMeshANDROID kann in der nächsten Kette angegeben werden, um beim Aufruf von xrCreatePassthroughLayerANDROID ein Anfangs-Mesh für die Passthrough-Ebene anzugeben.
- vertexCapacityist ein- uint32_t, das die maximale Kapazität des Vertex-Buffers für das Mesh dieser Ebene darstellt. Wenn nichts angegeben ist, ist es- 0. Falls angegeben, muss XrPassthroughLayerMeshANDROID::vertexCount jedes Mesh, das für diese Ebene festgelegt ist, kleiner oder gleich- vertexCapacitysein.
- indexCapacityist ein- uint32_t, das die maximale Kapazität des Indexpuffers für das Mesh dieser Ebene darstellt, oder- 0, wenn nicht angegeben. Falls angegeben, muss XrPassthroughLayerMeshANDROID::indexCount eines für diese Ebene festgelegten Mesh kleiner oder gleich- indexCapacitysein.
Gültige Verwendung (implizit)
- Die XR_ANDROID_composition_layer_passthrough_mesh-Erweiterung muss aktiviert sein, bevor XrPassthroughLayerCreateInfoANDROID verwendet werden kann.
- typemuss- XR_TYPE_PASSTHROUGH_LAYER_CREATE_INFO_ANDROIDsein.
- nextmuss- NULLoder ein gültiger Zeiger auf die nächste Struktur in einer Strukturkette sein. Weitere Informationen finden Sie unter XrPassthroughLayerMeshANDROID.
Eine Anwendung kann die Funktion xrDestroyPassthroughLayerANDROID verwenden, um die Durchlaufebene und die zugrunde liegenden Ressourcen freizugeben.
XrResult xrDestroyPassthroughLayerANDROID(
    XrPassthroughLayerANDROID                   layer);
Parameterbeschreibungen
- layerist die zu löschende XrPassthroughLayerANDROID.
Gültige Verwendung (implizit)
- Die XR_ANDROID_composition_layer_passthrough_mesh-Erweiterung muss aktiviert sein, bevorxrDestroyPassthroughLayerANDROIDaufgerufen wird.
- layermuss ein gültiger XrPassthroughLayerANDROID-Handle sein.
Threadsicherheit
- Der Zugriff auf layerund alle untergeordneten Handles muss extern synchronisiert werden.
Rückgabecodes
- XR_SUCCESS
- XR_ERROR_FUNCTION_UNSUPPORTED
- XR_ERROR_RUNTIME_FAILURE
- XR_ERROR_HANDLE_INVALID
Mesh für die Passthrough-Ebene festlegen
Eine Anwendung kann die Funktion xrSetPassthroughLayerMeshANDROID verwenden, um das Mesh für eine standortunabhängige Ebene festzulegen.
XrResult xrSetPassthroughLayerMeshANDROID(
    XrPassthroughLayerANDROID                   layer,
    const XrPassthroughLayerMeshANDROID*        mesh);
Parameterbeschreibungen
- layerist ein XrPassthroughLayerANDROID-Handle, der mit der angegebenen- meshaktualisiert werden soll.- meshist ein Verweis auf eine XrPassthroughLayerMeshANDROID-Struktur, die die Informationen zum Mesh angibt.
 
Die Anwendung muss die Anzahl der Passthrough-Mesh-Indexe in den Variablen XrPassthroughLayerMeshANDROID::vertexCount und XrPassthroughLayerMeshANDROID::indexCount so angeben, dass sie kleiner oder gleich den Maximalwerten ist, die von XrSystemPassthroughLayerPropertiesANDROID::maxMeshIndexCount und XrSystemPassthroughLayerPropertiesANDROID::maxMeshVertexCount beim Aufruf von xrGetSystemProperties zurückgegeben werden. Wenn die Anzahl der Mesh-Indexe, die durch mesh von xrSetPassthroughLayerMeshANDROID angegeben wird, größer als die maximalen Werte ist, wird XR_ERROR_MESH_DATA_LIMIT_EXCEEDED_ANDROID zurückgegeben.
Wenn die Mesh-Bufferkapazität durch XrPassthroughLayerCreateInfoANDROID::vertexCapacity und XrPassthroughLayerCreateInfoANDROID::indexCapacity beim Erstellen der layer mit xrCreatePassthroughLayerANDROID angegeben wird, wird bei xrSetPassthroughLayerMeshANDROID der Fehler XR_ERROR_SIZE_INSUFFICIENT zurückgegeben, wenn die Anzahl der von mesh definierten Mesh-Indexe größer als die Kapazität ist.
Gültige Verwendung (implizit)
- Die XR_ANDROID_composition_layer_passthrough_mesh-Erweiterung muss aktiviert sein, bevor xrSetPassthroughLayerMeshANDROID aufgerufen wird.
- layermuss ein gültiger XrPassthroughLayerANDROID-Handle sein.
- meshmuss ein Verweis auf eine gültige XrPassthroughLayerMeshANDROID-Struktur sein.
Rückgabecodes
- 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_SIZE_INSUFFICIENT
- XR_ERROR_MESH_DATA_LIMIT_EXCEEDED_ANDROID
Die Struktur XrPassthroughLayerMeshANDROID ist so definiert:
typedef struct XrPassthroughLayerMeshANDROID {
    XrStructureType          type;
    const void*              next;
    XrWindingOrderANDROID    windingOrder;
    uint32_t                 vertexCount;
    const XrVector3f*        vertices;
    uint32_t                 indexCount;
    const uint16_t*          indices;
} XrPassthroughLayerMeshANDROID;
Beschreibungen von Mitgliedern
- typeist der XrStructureType dieser Struktur.
- nextist- NULLoder ein Zeiger auf die nächste Struktur in einer Strukturkette.
- windingOrderist die XrWindingOrderANDROID der Mesh-Dreiecke, die beim Rendern des Mesh für das Culling von Rückseiten verwendet wird.
- vertexCountist eine- uint32_t, die die Anzahl der Eckpunkte im Mesh angibt. Wenn XrPassthroughLayerCreateInfoANDROID::vertexCapacity angegeben ist, muss- vertexCountkleiner oder gleich- vertexCapacitysein.- verticesist ein Verweis auf ein Array von- XrVector3f, das die Knotenpositionen des Dreiecksnetzes enthält.
 
- indexCountist eine- uint32_t, die die Anzahl der Indizes im Dreiecksnetz angibt. Die letzten- indexCount % 3Indexe (falls vorhanden) werden nicht dargestellt. Wenn XrPassthroughLayerCreateInfoANDROID::indexCapacity angegeben ist, muss- indexCountkleiner oder gleich- indexCapacitysein.
- indicesist ein Verweis auf ein Array von- uint16_t, das die Indizes des Dreiecksnetzes enthält.
Gültige Verwendung (implizit)
- Die Erweiterung XR_ANDROID_composition_layer_passthrough_meshmuss aktiviert sein, bevor XrPassthroughLayerMeshANDROID verwendet werden kann.
- typemuss- XR_TYPE_PASSTHROUGH_LAYER_MESH_ANDROIDsein.
- nextmuss- NULLoder ein gültiger Zeiger auf die nächste Struktur in einer Strukturkette sein.
- windingOrdermuss ein gültiger Wert für XrWindingOrderANDROID sein
- Wenn vertexCountnicht0, verticesist, muss es sich um einen Verweis auf ein Array vonvertexCountXrVector3f-Strukturen handeln.
- Wenn indexCountnicht0, indicesist, muss es ein Verweis auf ein Array vonindexCount uint16_t-Werten sein.
Die Aufzählung XrWindingOrderANDROID gibt die Windungsreihenfolge der Dreiecke eines Mesh an, die von der Laufzeit für das Backface-Culling beim Rendern des Mesh der Durchlassebene verwendet wird.
typedef enum XrWindingOrderANDROID {
    XR_WINDING_ORDER_UNKNOWN_ANDROID = 0,
    XR_WINDING_ORDER_CW_ANDROID = 1,
    XR_WINDING_ORDER_CCW_ANDROID = 2
} XrWindingOrderANDROID;
Beschreibungen der Aufzählungen
- XR_WINDING_ORDER_UNKNOWN_ANDROID– Die Windungsreihenfolge der Dreiecke des Netzes ist nicht bekannt.
- XR_WINDING_ORDER_CW_ANDROID– Die Windungsreihenfolge der Dreiecke des Netzes verläuft im Uhrzeigersinn.
- XR_WINDING_ORDER_CCW_ANDROID– Die Windungsreihenfolge der Dreiecke des Netzes verläuft gegen den Uhrzeigersinn.
Beispielcode für die Zusammensetzung von Durchlassebenen
Im folgenden Beispielcode wird gezeigt, wie du eine Durchlaufebene erstellst und sie beim Compositing verwendest.
XrInstance instance; // previously initialized
XrSystemId systemId; // previously initialized
XrSession session; // previously initialized
XrSpace space; // previously initialized
// The function pointers are previously initialized using xrGetInstanceProcAddr.
PFN_xrCreatePassthroughLayerANDROID xrCreatePassthroughLayerANDROID; // previously initialized
PFN_xrDestroyPassthroughLayerANDROID xrDestroyPassthroughLayerANDROID; // previously initialized
PFN_xrSetPassthroughLayerMeshANDROID xrSetPassthroughLayerMeshANDROID; // previously initialized
// Inspect passthrough mesh system properties
XrSystemPassthroughLayerPropertiesANDROID passthroughLayerSystemProperties{
  XR_TYPE_SYSTEM_PASSTHROUGH_LAYER_PROPERTIES_ANDROID};
XrSystemProperties systemProperties{
  XR_TYPE_SYSTEM_PROPERTIES, &passthroughLayerSystemProperties};
CHK_XR(xrGetSystemProperties(instance, systemId, &systemProperties));
if (!passthroughLayerSystemProperties.supportsPassthroughLayer) {
    // the system does not support composite layer passthrough mesh.
    return;
}
// The initial mesh for the layer.
XrPassthroughLayerMeshANDROID mesh = {
  .type = XR_TYPE_PASSTHROUGH_LAYER_MESH_ANDROID,
  .windingOrder = XR_WINDING_ORDER_CW_ANDROID,
  .vertexCount = 4,
  .vertices = {
    { 0, 0, 0 }, { 0, 1, 0 }, { 1, 1, 0 }, { 1, 0, 0 }
  },
  .indexCount = 6,
  .indices = {
    0, 1, 2,
    0, 2, 3
  },
};
// Create the layer. Layers are expected to persist across frames.
XrPassthroughLayerCreateInfoANDROID create_info = {
  .type = XR_TYPE_PASSTHROUGH_LAYER_CREATE_INFO_ANDROID,
  .next = &mesh,
  .vertexCapacity = 0,
  .indexCapacity = 0,
};
XrPassthroughLayerANDROID layer;
CHK_XR(xrCreatePassthroughLayerANDROID(session, &create_info, &layer));
// Create a composition layer. Composition layers are submitted per frame.
XrCompositionLayerPassthroughANDROID passthrough_layer = {
  .type = XR_TYPE_COMPOSITION_LAYER_PASSTHROUGH_ANDROID,
  .next = nullptr,
  .layerFlags = 0,
  .space = space,
  .pose = {
    .orientation = { 0.0f, 0.0f, 0.0f, 1.0f }
    .position = { 0.0f, 0.0f, 0.0f }
  },
  .scale = { 1.0f, 1.0f, 1.0f },
  .opacity = 1.0f,
  .layer = layer
};
while (1) {
    // ...
    // For every frame in frame loop
    // ...
    // Submit composition layer in xrEndFrame.
    std::vector<XrCompositionLayerBaseHeader*> layers = {
        ...,
        &passthrough_layer,
        ...,
    };
    XrFrameEndInfo end_frame_info = { XR_TYPE_FRAME_END_INFO, nullptr };
    end_frame_info.layerCount = (uint32_t)layers.size();
    end_frame_info.layers = layers.data();
    CHK_XR(xrEndFrame(session, &end_frame_info));
    // Update the layer. Results can be seen the next time a passthrough composition
    // layer is submitted.
    mesh.indexCount = 9;
    const uint16_t new_index_buffer[] = {
        0, 1, 2,
        0, 2, 3,
        0, 1, 2
    };
    mesh.indexBuffer = &new_index_buffer[0];
    CHK_XR(xrSetPassthroughLayerMeshANDROID(&layer, &mesh));
    // ...
    // Finish frame loop
    // ...
}
// Clean up.
CHK_XR(xrDestroyPassthroughLayerANDROID(layer));
Neue Objekttypen
Neue Enum-Konstanten
Die Aufzählung XrObjectType wurde um Folgendes erweitert:
- XR_OBJECT_TYPE_PASSTHROUGH_LAYER_ANDROID
Die Aufzählung XrStructureType wurde um folgende Elemente erweitert:
- XR_TYPE_PASSTHROUGH_LAYER_CREATE_INFO_ANDROID
- XR_TYPE_PASSTHROUGH_LAYER_MESH_ANDROID
- XR_TYPE_COMPOSITION_LAYER_PASSTHROUGH_ANDROID
- XR_TYPE_SYSTEM_PASSTHROUGH_LAYER_PROPERTIES_ANDROID
Die Aufzählung XrResult wurde um Folgendes erweitert:
- XR_ERROR_MESH_DATA_LIMIT_EXCEEDED_ANDROID
Neue Enums
Neue Strukturen
- XrPassthroughLayerCreateInfoANDROID
- XrPassthroughLayerMeshANDROID
- XrCompositionLayerPassthroughANDROID
- XrSystemPassthroughLayerPropertiesANDROID
Neue Funktionen
- xrCreatePassthroughLayerANDROID
- xrDestroyPassthroughLayerANDROID
- xrSetPassthroughLayerMeshANDROID
Probleme
Versionsverlauf
- Revision 1, 2024-09-11 (Levana Chen)
- Erste Beschreibung der Erweiterung
 
OpenXR™ und das OpenXR-Logo sind Marken der Khronos Group Inc. und sind als Marke in China, der Europäischen Union, Japan und dem Vereinigten Königreich eingetragen.
