XR_EXT_spatial_mesh_tracking

Name String

XR_EXT_spatial_mesh_tracking

Tipo de extensión

Extensión de instancia

Número de extensión registrado

784

Revisión

1

Estado de ratificación

No ratificado

Dependencias de extensiones y versiones

XR_EXT_spatial_entity

Colaboradores

Nihav Jain, Google
Natalie Fleury, Meta
Yuichi Taguchi, Meta
Ron Bessems, Meta
Yin Li, Microsoft
Jimmy Alamparambil, ByteDance
Zhipeng Liu, ByteDance
Jun Yan, ByteDance

Descripción general

Esta extensión se basa en XR_EXT_spatial_entity y define las capacidades espaciales para hacer un seguimiento de la malla de triángulos del entorno. La malla de triángulos que proporciona la capacidad definida en esta extensión está diseñada para que las aplicaciones la usen para determinar las colisiones del contenido virtual con el entorno.

Capacidad de seguimiento de malla espacial

Esta extensión define XR_SPATIAL_CAPABILITY_MESH_TRACKING_EXT como una capacidad espacial para hacer un seguimiento de la malla de triángulos del entorno. Esta función no abarca el seguimiento de la malla de entidades, como planos y objetos, y, en su lugar, debe indicarse mediante la enumeración del componente XR_SPATIAL_COMPONENT_TYPE_MESH_3D_EXT para las funciones respectivas de las que se hace un seguimiento de esas entidades.

XR_SPATIAL_CAPABILITY_MESH_TRACKING_EXT se usa para proporcionar una malla hermética y no hermética a la aplicación, según las capacidades del entorno de ejecución y la configuración que seleccione la aplicación.

Una malla hermética es aquella en la que se rellenaron los espacios vacíos y las regiones no escaneadas de todos los tamaños, y forma una malla ajustada dentro de un determinado bloque volumétrico. Como sugiere el nombre, si una aplicación llena de agua una malla hermética, no debería haber agua que se filtre fuera del volumen hermético. Hacer que una malla escaneada sea hermética suele requerir un procesamiento muy alto, aunque algunos entornos de ejecución compensan ese costo procesando la malla de antemano.

Asistencia del entorno de ejecución

Si el entorno de ejecución admite el seguimiento de la malla de triángulos del entorno, debe indicarlo enumerando XR_SPATIAL_CAPABILITY_MESH_TRACKING_EXT en xrEnumerateSpatialCapabilitiesEXT .

Existen 3 capacidades posibles de un entorno de ejecución que admite XR_SPATIAL_CAPABILITY_MESH_TRACKING_EXT:

Configuración

La estructura XrSpatialCapabilityConfigurationMeshTrackingEXT se define de la siguiente manera:

typedef struct XrSpatialCapabilityConfigurationMeshTrackingEXT {
    XrStructureType                     type;
    const void*                         next;
    XrSpatialCapabilityEXT              capability;
    uint32_t                            enabledComponentCount;
    const XrSpatialComponentTypeEXT*    enabledComponents;
} XrSpatialCapabilityConfigurationMeshTrackingEXT;

Descripciones de los miembros

  • type es el XrStructureType de esta estructura.
  • next es NULL o un puntero a la siguiente estructura en una cadena de estructuras.
  • capability es un XrSpatialCapabilityEXT y debe ser XR_SPATIAL_CAPABILITY_MESH_TRACKING_EXT .
  • enabledComponentCount es un uint32_t que describe el recuento de elementos en el array enabledComponents.
  • enabledComponents es un puntero a un array de XrSpatialComponentTypeEXT .

Las aplicaciones pueden habilitar la capacidad espacial XR_SPATIAL_CAPABILITY_MESH_TRACKING_EXT incluyendo un puntero a una estructura XrSpatialCapabilityConfigurationMeshTrackingEXT en XrSpatialContextCreateInfoEXT :: capabilityConfigs .

El entorno de ejecución debe devolver XR_ERROR_VALIDATION_FAILURE si capability no es XR_SPATIAL_CAPABILITY_MESH_TRACKING_EXT .

Uso válido (implícito)

Cómo hacer un seguimiento de una malla hermética

La estructura XrSpatialFeatureTrackWatertightMeshEXT se define de la siguiente manera:

typedef struct XrSpatialFeatureTrackWatertightMeshEXT {
    XrStructureType    type;
    const void*        next;
    XrBool32           enableWatertightMeshTracking;
} XrSpatialFeatureTrackWatertightMeshEXT;

Descripciones de los miembros

  • type es el XrStructureType de esta estructura.
  • next es NULL o un puntero a la siguiente estructura en una cadena de estructuras.
  • enableWatertightMeshTracking indica si el entorno de ejecución debe calcular una malla hermética para el entorno analizado.

Los entornos de ejecución que admiten el seguimiento de mallas herméticas deben enumerar XR_SPATIAL_CAPABILITY_FEATURE_TRACK_WATERTIGHT_MESH_EXT en xrEnumerateSpatialCapabilityFeaturesEXT . La función XR_SPATIAL_CAPABILITY_FEATURE_TRACK_WATERTIGHT_MESH_EXT permite que las aplicaciones habiliten de forma opcional el seguimiento de mallas herméticas y que acepten de forma explícita cualquier procesamiento adicional en el que pueda incurrir la generación de mallas herméticas.

Si xrEnumerateSpatialCapabilityFeaturesEXT enumera XR_SPATIAL_CAPABILITY_FEATURE_TRACK_WATERTIGHT_MESH_EXT para una capacidad determinada, la aplicación puede encadenar XrSpatialFeatureTrackWatertightMeshEXT a la estructura de configuración correspondiente de esa capacidad para indicar si desea que la malla con seguimiento sea hermética o no. Si la aplicación establece enableWatertightMeshTracking en XR_TRUE , el entorno de ejecución debe calcular y proporcionar a la aplicación una malla hermética del entorno. Si la aplicación establece enableWatertightMeshTracking en XR_FALSE, es posible que la malla con seguimiento sea hermética si el entorno de ejecución solo admite el seguimiento de mallas herméticas, p.ej., en los casos en que el entorno de ejecución proporciona una malla procesada de un entorno escaneado previamente.

Uso válido (implícito)

Flujo de la aplicación

En el siguiente diagrama, se muestra cómo una aplicación puede configurar el contexto espacial si quiere hacer un seguimiento de una malla hermética del entorno.

Sí

Sí

La app necesita una malla hermética de

La app necesita…

Sí

Sí

No

No

El entorno de ejecución
admite la capacidad de "seguimiento de malla"

Entorno de ejecución…

Sí

Sí

No

No

El entorno de ejecución
admite la función "seguimiento de malla hermética"

Entorno de ejecución…

La app crea un contexto espacial con la "capacidad de seguimiento de malla" Y la función "seguimiento de malla hermética"

La app crea un espacio…

La app controla la falta de compatibilidad con funciones en el entorno de ejecución actual

La app controla la falta de…

La app procesa la malla registrada para crear una malla hermética, tal vez con la ayuda del usuario para parchar los agujeros en la malla.

La app procesa la tr... El texto no es SVG, por lo que no se puede mostrar

Figura 29. Flujo de la app para solicitar una malla hermética

Componentes garantizados

Un entorno de ejecución que admita XR_SPATIAL_CAPABILITY_MESH_TRACKING_EXT debe proporcionar los siguientes componentes espaciales como componentes garantizados de todas las entidades descubiertas por esta función y debe enumerarlos en xrEnumerateSpatialCapabilityComponentTypesEXT :

  • XR_SPATIAL_COMPONENT_TYPE_BOUNDED_3D_EXT
  • XR_SPATIAL_COMPONENT_TYPE_MESH_3D_EXT
Componente 3D delimitado

El componente 3D delimitado proporciona el centro y las extensiones de la entidad en la que se encuentra. Los datos que proporciona este componente facilitan que las aplicaciones eliminen las entidades que están fuera de su tronco de vista.

Consulta Bounded 3D para obtener más detalles.

Componente de malla 3D

El componente de malla 3D proporciona la malla 3D de la entidad en la que se encuentra. Consulta Malla 3D para obtener más detalles.

Segmentación volumétrica (división en fragmentos)

El entorno de ejecución puede segmentar la malla en bloques volumétricos (fragmentos) para que las aplicaciones puedan descartar con mayor facilidad los bloques de malla que se encuentran fuera de su tronco de vista. En ese caso, el entorno de ejecución debe tratar cada bloque volumétrico como una entidad independiente y tener el conjunto de componentes garantizados en cada una de esas entidades (bloque volumétrico). Si el entorno de ejecución proporciona una malla hermética de esta manera, cada bloque volumétrico individual no es hermético, pero un grupo de bloques juntos forman una malla hermética. En ese caso, el entorno de ejecución debe agregar el componente XR_SPATIAL_COMPONENT_TYPE_PARENT_EXT en cada entidad (bloque volumétrico), y el valor de la entidad principal en los bloques que forman una malla hermética debe ser el mismo. Esto permite que la aplicación identifique qué fragmentos forman una malla hermética.

Las mallas de los bloques volumétricos adyacentes pueden compartir vértices, pero los triángulos de un bloque volumétrico no deben superponerse con los triángulos de su volumen adyacente.

Componentes opcionales

Normales de la malla

Datos de componentes

XR_SPATIAL_COMPONENT_TYPE_MESH_3D_NORMALS_EXT usa XrSpatialBufferEXT para sus datos. XrSpatialBufferEXT :: bufferId representa el búfer que contiene las normales de vértices de la malla de la entidad en la que se encuentra este componente. XrSpatialBufferEXT :: bufferType debe ser XR_SPATIAL_BUFFER_TYPE_VECTOR3F_EXT . Una entidad que tiene XR_SPATIAL_COMPONENT_TYPE_MESH_3D_NORMALS_EXT también debe tener XR_SPATIAL_COMPONENT_TYPE_MESH_3D_EXT. Las normales que proporciona este componente deben corresponder a los vértices proporcionados en XrSpatialMeshDataEXT :: vertexBuffer del componente XR_SPATIAL_COMPONENT_TYPE_MESH_3D_EXT.

Estructura de la lista de componentes para consultar datos

La estructura XrSpatialComponentMesh3DNormalsListEXT se define de la siguiente manera:

typedef struct XrSpatialComponentMesh3DNormalsListEXT {
    XrStructureType        type;
    void*                  next;
    uint32_t               meshNormalsCount;
    XrSpatialBufferEXT*    meshNormals;
} XrSpatialComponentMesh3DNormalsListEXT;

Descripciones de los miembros

  • type es el XrStructureType de esta estructura.
  • next es NULL o un puntero a la siguiente estructura en una cadena de estructuras. No se definen tales estructuras en OpenXR principal ni en esta extensión.
  • meshNormalsCount es un uint32_t que describe el recuento de elementos en el array meshNormals.
  • meshNormals es un array de XrVector3f .

El entorno de ejecución debe devolver XR_ERROR_VALIDATION_FAILURE de xrQuerySpatialComponentDataEXT si XrSpatialComponentMesh3DNormalsListEXT está en la siguiente cadena de XrSpatialComponentDataQueryResultEXT :: next, pero XrSpatialComponentDataQueryConditionEXT :: componentTypeCount no es cero y XR_SPATIAL_COMPONENT_TYPE_MESH_3D_NORMALS_EXT no se incluye en XrSpatialComponentDataQueryConditionEXT :: componentTypes .

El entorno de ejecución debe devolver XR_ERROR_SIZE_INSUFFICIENT de xrQuerySpatialComponentDataEXT si meshNormalsCount es menor que XrSpatialComponentDataQueryResultEXT :: entityIdCountOutput .

Uso válido (implícito)

Configuración

Si XR_SPATIAL_COMPONENT_TYPE_MESH_3D_NORMALS_EXT se enumera en XrSpatialCapabilityComponentTypesEXT :: componentTypes para alguna función, la aplicación puede habilitarla incluyendo la enumeración en la lista XrSpatialCapabilityConfigurationBaseHeaderEXT :: enabledComponents. Este componente no requiere ninguna configuración especial para incluirse en la siguiente cadena de XrSpatialCapabilityConfigurationBaseHeaderEXT . Sin embargo, se recomienda que las aplicaciones usen este componente y sus datos junto con el componente XR_SPATIAL_COMPONENT_TYPE_MESH_3D_EXT.

Etiquetas semánticas de malla

typedef enum XrSpatialMeshSemanticLabelEXT {
    XR_SPATIAL_MESH_SEMANTIC_LABEL_UNCATEGORIZED_EXT = 1,
    XR_SPATIAL_MESH_SEMANTIC_LABEL_FLOOR_EXT = 2,
    XR_SPATIAL_MESH_SEMANTIC_LABEL_WALL_EXT = 3,
    XR_SPATIAL_MESH_SEMANTIC_LABEL_CEILING_EXT = 4,
    XR_SPATIAL_MESH_SEMANTIC_LABEL_TABLE_EXT = 5,
    XR_SPATIAL_MESH_SEMANTIC_LABEL_CHAIR_EXT = 6,
    XR_SPATIAL_MESH_SEMANTIC_LABEL_SOFA_EXT = 7,
    XR_SPATIAL_MESH_SEMANTIC_LABEL_BED_EXT = 8,
    XR_SPATIAL_MESH_SEMANTIC_LABEL_MAX_ENUM_EXT = 0x7FFFFFFF
} XrSpatialMeshSemanticLabelEXT;

La enumeración XrSpatialMeshSemanticLabelEXT describe un conjunto de etiquetas semánticas para una malla. Diferentes componentes espaciales lo usan para dar significado a los valores uint8_t de un XrSpatialBufferEXT para etiquetas semánticas por vértice o por triángulo. Consulta Etiquetas semánticas de vértices de malla y Etiquetas semánticas de triángulos de malla

Las extensiones que quieran ampliar este conjunto de etiquetas semánticas o agregar su propio conjunto nuevo para mallas deben seguir los lineamientos que se indican en Lineamientos de diseño y extensión de etiquetas semánticas .

Descripción de enum

XR_SPATIAL_MESH_SEMANTIC_LABEL_UNCATEGORIZED_EXT

El entorno de ejecución no pudo clasificar el vértice ni el triángulo.

XR_SPATIAL_MESH_SEMANTIC_LABEL_FLOOR_EXT

El vértice o el triángulo se asigna a un piso.

XR_SPATIAL_MESH_SEMANTIC_LABEL_WALL_EXT

El vértice o triángulo se asigna a una pared.

XR_SPATIAL_MESH_SEMANTIC_LABEL_CEILING_EXT

El vértice o triángulo se asigna a un techo.

XR_SPATIAL_MESH_SEMANTIC_LABEL_TABLE_EXT

El vértice o triángulo se asigna a una tabla.

XR_SPATIAL_MESH_SEMANTIC_LABEL_CHAIR_EXT

El vértice o triángulo se asigna a una silla.

XR_SPATIAL_MESH_SEMANTIC_LABEL_SOFA_EXT

El vértice o triángulo se asigna a un sofá.

XR_SPATIAL_MESH_SEMANTIC_LABEL_BED_EXT

El vértice o triángulo se asigna a una cama.

Etiquetas semánticas de vértices de malla

Descripción general de los componentes

XR_SPATIAL_COMPONENT_TYPE_MESH_3D_VERTEX_SEMANTIC_LABELS_EXT proporciona una sola etiqueta semántica para cada vértice de la malla de una entidad espacial.

Datos de componentes

XR_SPATIAL_COMPONENT_TYPE_MESH_3D_VERTEX_SEMANTIC_LABELS_EXT usa XrSpatialBufferEXT para sus datos. XrSpatialBufferEXT :: bufferId representa el búfer que contiene las etiquetas semánticas de vértices de la malla de la entidad en la que se encuentra este componente. XrSpatialBufferEXT :: bufferType debe ser XR_SPATIAL_BUFFER_TYPE_UINT8_EXT . Los valores del búfer corresponden a los valores de la enumeración XrSpatialMeshSemanticLabelEXT. Una entidad que tiene XR_SPATIAL_COMPONENT_TYPE_MESH_3D_VERTEX_SEMANTIC_LABELS_EXT también debe tener el componente XR_SPATIAL_COMPONENT_TYPE_MESH_3D_EXT. Las etiquetas semánticas que proporciona este componente deben corresponder a los vértices proporcionados en XrSpatialMeshDataEXT :: vertexBuffer del componente XR_SPATIAL_COMPONENT_TYPE_MESH_3D_EXT. Esto implica que la etiqueta semántica en un índice determinado de los datos del búfer espacial que proporciona este componente corresponde al vértice en el mismo índice que proporciona XrSpatialMeshDataEXT :: vertexBuffer . Esto también implica que xrGetSpatialBufferUint8EXT :: bufferCountOutput debe ser el mismo valor para el búfer de etiquetas semánticas de vértices y XrSpatialMeshDataEXT :: vertexBuffer .

Estructura de la lista de componentes para consultar datos

La estructura XrSpatialComponentMesh3DVertexSemanticLabelsListEXT se define de la siguiente manera:

typedef struct XrSpatialComponentMesh3DVertexSemanticLabelsListEXT {
    XrStructureType        type;
    void*                  next;
    uint32_t               meshSemanticLabelsCount;
    XrSpatialBufferEXT*    meshSemanticLabels;
} XrSpatialComponentMesh3DVertexSemanticLabelsListEXT;

Descripciones de los miembros

  • type es el XrStructureType de esta estructura.
  • next es NULL o un puntero a la siguiente estructura en una cadena de estructuras. No se definen tales estructuras en OpenXR principal ni en esta extensión.
  • meshSemanticLabelsCount es un uint32_t que describe el recuento de elementos en el array meshSemanticLabels.
  • meshSemanticLabels es un array de XrSpatialBufferEXT .

El entorno de ejecución debe devolver XR_ERROR_VALIDATION_FAILURE de xrQuerySpatialComponentDataEXT si XrSpatialComponentMesh3DVertexSemanticLabelsListEXT está en la siguiente cadena de XrSpatialComponentDataQueryResultEXT :: next, pero XrSpatialComponentDataQueryConditionEXT :: componentTypeCount no es cero y XR_SPATIAL_COMPONENT_TYPE_MESH_3D_VERTEX_SEMANTIC_LABELS_EXT no se incluye en XrSpatialComponentDataQueryConditionEXT :: componentTypes .

El entorno de ejecución debe devolver XR_ERROR_SIZE_INSUFFICIENT de xrQuerySpatialComponentDataEXT si meshSemanticLabelsCount es menor que XrSpatialComponentDataQueryResultEXT :: entityIdCountOutput .

Uso válido (implícito)

Configuración

Si XR_SPATIAL_COMPONENT_TYPE_MESH_3D_VERTEX_SEMANTIC_LABELS_EXT se enumera en XrSpatialCapabilityComponentTypesEXT :: componentTypes para alguna función, la aplicación puede habilitarla incluyendo la enumeración en la lista XrSpatialCapabilityConfigurationBaseHeaderEXT :: enabledComponents. Este componente no requiere ninguna configuración especial para incluirse en la siguiente cadena de XrSpatialCapabilityConfigurationBaseHeaderEXT . Sin embargo, se recomienda que las aplicaciones usen este componente y sus datos junto con el componente XR_SPATIAL_COMPONENT_TYPE_MESH_3D_EXT. Este componente no se puede habilitar junto con XR_SPATIAL_COMPONENT_TYPE_MESH_3D_TRIANGLE_SEMANTIC_LABELS_EXT . Si una aplicación agrega XR_SPATIAL_COMPONENT_TYPE_MESH_3D_VERTEX_SEMANTIC_LABELS_EXT y XR_SPATIAL_COMPONENT_TYPE_MESH_3D_TRIANGLE_SEMANTIC_LABELS_EXT a XrSpatialCapabilityConfigurationBaseHeaderEXT :: enabledComponents , el entorno de ejecución debe devolver XR_ERROR_SPATIAL_CAPABILITY_CONFIGURATION_INVALID_EXT . El entorno de ejecución también debe devolver XR_ERROR_SPATIAL_CAPABILITY_CONFIGURATION_INVALID_EXT si la aplicación intenta habilitar ambos componentes en XrSpatialContextEXT independientes.

Etiquetas semánticas de triángulos de malla

Descripción general de los componentes

XR_SPATIAL_COMPONENT_TYPE_MESH_3D_TRIANGLE_SEMANTIC_LABELS_EXT proporciona una sola etiqueta semántica para cada triángulo de la malla de una entidad espacial.

Datos de componentes

XR_SPATIAL_COMPONENT_TYPE_MESH_3D_TRIANGLE_SEMANTIC_LABELS_EXT usa XrSpatialBufferEXT para sus datos. XrSpatialBufferEXT :: bufferId representa el búfer que contiene las etiquetas semánticas de triángulo de la malla de la entidad en la que se encuentra este componente. XrSpatialBufferEXT :: bufferType debe ser XR_SPATIAL_BUFFER_TYPE_UINT8_EXT . Los valores del búfer corresponden a los valores de la enumeración XrSpatialMeshSemanticLabelEXT. Una entidad que tiene XR_SPATIAL_COMPONENT_TYPE_MESH_3D_TRIANGLE_SEMANTIC_LABELS_EXT también debe tener el componente XR_SPATIAL_COMPONENT_TYPE_MESH_3D_EXT. Las etiquetas semánticas que proporciona este componente deben corresponder a los triángulos que se proporcionan en el XrSpatialMeshDataEXT del componente XR_SPATIAL_COMPONENT_TYPE_MESH_3D_EXT. El recuento de elementos del búfer espacial que contiene las etiquetas semánticas de triángulos es el recuento de elementos de XrSpatialMeshDataEXT :: indexBuffer dividido por 3. Esto implica que la etiqueta semántica en un índice determinado de los datos del búfer espacial proporcionados por este componente corresponde al triángulo representado por [index * 3], [index * 3 + 1], [index * 3 + 2] en XrSpatialMeshDataEXT :: indexBuffer .

Estructura de la lista de componentes para consultar datos

La estructura XrSpatialComponentMesh3DTriangleSemanticLabelsListEXT se define de la siguiente manera:

typedef struct XrSpatialComponentMesh3DTriangleSemanticLabelsListEXT {
    XrStructureType        type;
    void*                  next;
    uint32_t               meshSemanticLabelsCount;
    XrSpatialBufferEXT*    meshSemanticLabels;
} XrSpatialComponentMesh3DTriangleSemanticLabelsListEXT;

Descripciones de los miembros

  • type es el XrStructureType de esta estructura.
  • next es NULL o un puntero a la siguiente estructura en una cadena de estructuras. No se definen tales estructuras en OpenXR principal ni en esta extensión.
  • meshSemanticLabelsCount es un uint32_t que describe el recuento de elementos en el array meshSemanticLabels.
  • meshSemanticLabels es un array de XrSpatialBufferEXT .

El entorno de ejecución debe devolver XR_ERROR_VALIDATION_FAILURE de xrQuerySpatialComponentDataEXT si XrSpatialComponentMesh3DTriangleSemanticLabelsListEXT está en la siguiente cadena de XrSpatialComponentDataQueryResultEXT :: next, pero XrSpatialComponentDataQueryConditionEXT :: componentTypeCount no es cero y XR_SPATIAL_COMPONENT_TYPE_MESH_3D_TRIANGLE_SEMANTIC_LABELS_EXT no se incluye en XrSpatialComponentDataQueryConditionEXT :: componentTypes .

El entorno de ejecución debe devolver XR_ERROR_SIZE_INSUFFICIENT de xrQuerySpatialComponentDataEXT si meshSemanticLabelsCount es menor que XrSpatialComponentDataQueryResultEXT :: entityIdCountOutput .

Uso válido (implícito)

Configuración

Si XR_SPATIAL_COMPONENT_TYPE_MESH_3D_TRIANGLE_SEMANTIC_LABELS_EXT se enumera en XrSpatialCapabilityComponentTypesEXT :: componentTypes para alguna función, la aplicación puede habilitarla incluyendo la enumeración en la lista XrSpatialCapabilityConfigurationBaseHeaderEXT :: enabledComponents. Este componente no requiere ninguna configuración especial para incluirse en la siguiente cadena de XrSpatialCapabilityConfigurationBaseHeaderEXT . Sin embargo, se recomienda que las aplicaciones usen este componente y sus datos junto con el componente XR_SPATIAL_COMPONENT_TYPE_MESH_3D_EXT. Este componente no se puede habilitar junto con XR_SPATIAL_COMPONENT_TYPE_MESH_3D_VERTEX_SEMANTIC_LABELS_EXT . Si una aplicación agrega XR_SPATIAL_COMPONENT_TYPE_MESH_3D_VERTEX_SEMANTIC_LABELS_EXT y XR_SPATIAL_COMPONENT_TYPE_MESH_3D_TRIANGLE_SEMANTIC_LABELS_EXT a XrSpatialCapabilityConfigurationBaseHeaderEXT :: enabledComponents , el entorno de ejecución debe devolver XR_ERROR_SPATIAL_CAPABILITY_CONFIGURATION_INVALID_EXT . El entorno de ejecución también debe devolver XR_ERROR_SPATIAL_CAPABILITY_CONFIGURATION_INVALID_EXT si la aplicación intenta habilitar ambos componentes en XrSpatialContextEXT independientes.

Estructuras nuevas

Enums nuevas

Nuevas constantes de enum

  • XR_EXT_SPATIAL_MESH_TRACKING_EXTENSION_NAME
  • XR_EXT_spatial_mesh_tracking_SPEC_VERSION
  • Extiende XrSpatialCapabilityEXT :

    • XR_SPATIAL_CAPABILITY_MESH_TRACKING_EXT
  • Extensión de XrSpatialCapabilityFeatureEXT :

    • XR_SPATIAL_CAPABILITY_FEATURE_TRACK_WATERTIGHT_MESH_EXT
  • Extiende XrSpatialComponentTypeEXT :

    • XR_SPATIAL_COMPONENT_TYPE_MESH_3D_NORMALS_EXT
    • XR_SPATIAL_COMPONENT_TYPE_MESH_3D_TRIANGLE_SEMANTIC_LABELS_EXT
    • XR_SPATIAL_COMPONENT_TYPE_MESH_3D_VERTEX_SEMANTIC_LABELS_EXT
  • Extiende XrStructureType :

    • XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_MESH_TRACKING_EXT
    • XR_TYPE_SPATIAL_COMPONENT_MESH_3D_NORMALS_LIST_EXT
    • XR_TYPE_SPATIAL_COMPONENT_MESH_3D_TRIANGLE_SEMANTIC_LABELS_LIST_EXT
    • XR_TYPE_SPATIAL_COMPONENT_MESH_3D_VERTEX_SEMANTIC_LABELS_LIST_EXT
    • XR_TYPE_SPATIAL_FEATURE_TRACK_WATERTIGHT_MESH_EXT

Problemas

Historial de versiones

  • Revisión 1, 2 de noviembre de 2025 (Nihav Jain, Google)

    • Descripción inicial de la extensión