Scene understanding provides applications with a structured, high-level representation of the planes, meshes, and objects in the user’s environment, enabling the development of spatially-aware applications.
The application requests computation of a scene, receiving the list of scene components observed in the environment around the user. These scene components contain information such as:
The application can use this information to reason about the structure and location of the environment, to place holograms on surfaces, or render clues for grounding objects.
An application typically uses this extension in the following steps:
XrSceneObserverMSFT handle to manage the system resource of the scene understanding compute.ComputeNewSceneMSFT with XrSceneBoundsMSFT to specify the scan range and a list of XrSceneComputeFeatureMSFT features.GetSceneComputeStateMSFT.XrSceneMSFT handle to the result by calling CreateSceneMSFT.GetSceneComponentsMSFT.LocateSceneComponentsMSFT.| Modifier and Type | Field and Description |
|---|---|
| public static final int | XR_ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT
Extends |
| public static final int | XR_ERROR_SCENE_COMPONENT_ID_INVALID_MSFT
Extends |
| public static final int | XR_ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFT
Extends |
| public static final int | XR_ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFT
Extends |
| public static final int | XR_ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFT
Extends |
| public static final int | XR_ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFT
Extends |
| public static final int | XR_MESH_COMPUTE_LOD_COARSE_MSFT
XrMeshComputeLodMSFT - Mesh compute level of detail enumeration Enumerant Descriptions
|
| public static final int | XR_MESH_COMPUTE_LOD_FINE_MSFT
XrMeshComputeLodMSFT - Mesh compute level of detail enumeration Enumerant Descriptions
|
| public static final int | XR_MESH_COMPUTE_LOD_MEDIUM_MSFT
XrMeshComputeLodMSFT - Mesh compute level of detail enumeration Enumerant Descriptions
|
| public static final int | XR_MESH_COMPUTE_LOD_UNLIMITED_MSFT
XrMeshComputeLodMSFT - Mesh compute level of detail enumeration Enumerant Descriptions
|
| public static final String | XR_MSFT_SCENE_UNDERSTANDING_EXTENSION_NAME
The extension name. |
| public static final int | XR_MSFT_scene_understanding_SPEC_VERSION
The extension specification version. |
| public static final int | XR_OBJECT_TYPE_SCENE_MSFT
Extends |
| public static final int | XR_OBJECT_TYPE_SCENE_OBSERVER_MSFT
Extends |
| public static final int | XR_SCENE_COMPONENT_TYPE_COLLIDER_MESH_MSFT
XrSceneComponentTypeMSFT - Scene component type Enumerant Descriptions
|
| public static final int | XR_SCENE_COMPONENT_TYPE_INVALID_MSFT
XrSceneComponentTypeMSFT - Scene component type Enumerant Descriptions
|
| public static final int | XR_SCENE_COMPONENT_TYPE_OBJECT_MSFT
XrSceneComponentTypeMSFT - Scene component type Enumerant Descriptions
|
| public static final int | XR_SCENE_COMPONENT_TYPE_PLANE_MSFT
XrSceneComponentTypeMSFT - Scene component type Enumerant Descriptions
|
| public static final int | XR_SCENE_COMPONENT_TYPE_VISUAL_MESH_MSFT
XrSceneComponentTypeMSFT - Scene component type Enumerant Descriptions
|
| public static final int | XR_SCENE_COMPUTE_CONSISTENCY_OCCLUSION_OPTIMIZED_MSFT
XrSceneComputeConsistencyMSFT - Scene compute consistency Enumerant Descriptions
|
| public static final int | XR_SCENE_COMPUTE_CONSISTENCY_SNAPSHOT_COMPLETE_MSFT
XrSceneComputeConsistencyMSFT - Scene compute consistency Enumerant Descriptions
|
| public static final int | XR_SCENE_COMPUTE_CONSISTENCY_SNAPSHOT_INCOMPLETE_FAST_MSFT
XrSceneComputeConsistencyMSFT - Scene compute consistency Enumerant Descriptions
|
| public static final int | XR_SCENE_COMPUTE_FEATURE_COLLIDER_MESH_MSFT
XrSceneComputeFeatureMSFT - Scene compute feature Enumerant Descriptions
|
| public static final int | XR_SCENE_COMPUTE_FEATURE_PLANE_MESH_MSFT
XrSceneComputeFeatureMSFT - Scene compute feature Enumerant Descriptions
|
| public static final int | XR_SCENE_COMPUTE_FEATURE_PLANE_MSFT
XrSceneComputeFeatureMSFT - Scene compute feature Enumerant Descriptions
|
| public static final int | XR_SCENE_COMPUTE_FEATURE_VISUAL_MESH_MSFT
XrSceneComputeFeatureMSFT - Scene compute feature Enumerant Descriptions
|
| public static final int | XR_SCENE_COMPUTE_STATE_COMPLETED_MSFT
XrSceneComputeStateMSFT - Scene compute state type Enumerant Descriptions
|
| public static final int | XR_SCENE_COMPUTE_STATE_COMPLETED_WITH_ERROR_MSFT
XrSceneComputeStateMSFT - Scene compute state type Enumerant Descriptions
|
| public static final int | XR_SCENE_COMPUTE_STATE_NONE_MSFT
XrSceneComputeStateMSFT - Scene compute state type Enumerant Descriptions
|
| public static final int | XR_SCENE_COMPUTE_STATE_UPDATING_MSFT
XrSceneComputeStateMSFT - Scene compute state type Enumerant Descriptions
|
| public static final int | XR_SCENE_OBJECT_TYPE_BACKGROUND_MSFT
XrSceneObjectTypeMSFT - Scene object type Enumerant Descriptions
|
| public static final int | XR_SCENE_OBJECT_TYPE_CEILING_MSFT
XrSceneObjectTypeMSFT - Scene object type Enumerant Descriptions
|
| public static final int | XR_SCENE_OBJECT_TYPE_FLOOR_MSFT
XrSceneObjectTypeMSFT - Scene object type Enumerant Descriptions
|
| public static final int | XR_SCENE_OBJECT_TYPE_INFERRED_MSFT
XrSceneObjectTypeMSFT - Scene object type Enumerant Descriptions
|
| public static final int | XR_SCENE_OBJECT_TYPE_PLATFORM_MSFT
XrSceneObjectTypeMSFT - Scene object type Enumerant Descriptions
|
| public static final int | XR_SCENE_OBJECT_TYPE_UNCATEGORIZED_MSFT
XrSceneObjectTypeMSFT - Scene object type Enumerant Descriptions
|
| public static final int | XR_SCENE_OBJECT_TYPE_WALL_MSFT
XrSceneObjectTypeMSFT - Scene object type Enumerant Descriptions
|
| public static final int | XR_SCENE_PLANE_ALIGNMENT_TYPE_HORIZONTAL_MSFT
XrScenePlaneAlignmentTypeMSFT - Scene plane alignment type Enumerant Descriptions
|
| public static final int | XR_SCENE_PLANE_ALIGNMENT_TYPE_NON_ORTHOGONAL_MSFT
XrScenePlaneAlignmentTypeMSFT - Scene plane alignment type Enumerant Descriptions
|
| public static final int | XR_SCENE_PLANE_ALIGNMENT_TYPE_VERTICAL_MSFT
XrScenePlaneAlignmentTypeMSFT - Scene plane alignment type Enumerant Descriptions
|
| public static final int | XR_TYPE_NEW_SCENE_COMPUTE_INFO_MSFT
Extends |
| public static final int | XR_TYPE_SCENE_COMPONENT_LOCATIONS_MSFT
Extends |
| public static final int | XR_TYPE_SCENE_COMPONENT_PARENT_FILTER_INFO_MSFT
Extends |
| public static final int | XR_TYPE_SCENE_COMPONENTS_GET_INFO_MSFT
Extends |
| public static final int | XR_TYPE_SCENE_COMPONENTS_LOCATE_INFO_MSFT
Extends |
| public static final int | XR_TYPE_SCENE_COMPONENTS_MSFT
Extends |
| public static final int | XR_TYPE_SCENE_CREATE_INFO_MSFT
Extends |
| public static final int | XR_TYPE_SCENE_MESH_BUFFERS_GET_INFO_MSFT
Extends |
| public static final int | XR_TYPE_SCENE_MESH_BUFFERS_MSFT
Extends |
| public static final int | XR_TYPE_SCENE_MESH_INDICES_UINT16_MSFT
Extends |
| public static final int | XR_TYPE_SCENE_MESH_INDICES_UINT32_MSFT
Extends |
| public static final int | XR_TYPE_SCENE_MESH_VERTEX_BUFFER_MSFT
Extends |
| public static final int | XR_TYPE_SCENE_MESHES_MSFT
Extends |
| public static final int | XR_TYPE_SCENE_OBJECT_TYPES_FILTER_INFO_MSFT
Extends |
| public static final int | XR_TYPE_SCENE_OBJECTS_MSFT
Extends |
| public static final int | XR_TYPE_SCENE_OBSERVER_CREATE_INFO_MSFT
Extends |
| public static final int | XR_TYPE_SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFT
Extends |
| public static final int | XR_TYPE_SCENE_PLANES_MSFT
Extends |
| public static final int | XR_TYPE_VISUAL_MESH_COMPUTE_LOD_INFO_MSFT
Extends |
| Access | Constructor and Description |
|---|---|
| protected |
| Modifier and Type | Method and Description |
|---|---|
| public static int | nxrComputeNewSceneMSFT(XrSceneObserverMSFT sceneObserver, long computeInfo)
Unsafe version of: |
| public static int | nxrCreateSceneMSFT(XrSceneObserverMSFT sceneObserver, long createInfo, long scene)
Unsafe version of: |
| public static int | nxrCreateSceneObserverMSFT(XrSession session, long createInfo, long sceneObserver)
Unsafe version of: |
| public static int | nxrEnumerateSceneComputeFeaturesMSFT(XrInstance instance, long systemId, int
the capacity of the array, or 0 to indicate a request to retrieve the required capacity. featureCapacityInput, long featureCountOutput, long features)Unsafe version of: |
| public static int | nxrGetSceneComponentsMSFT(XrSceneMSFT scene, long getInfo, long components)
Unsafe version of: |
| public static int | nxrGetSceneComputeStateMSFT(XrSceneObserverMSFT sceneObserver, long state)
Unsafe version of: |
| public static int | nxrGetSceneMeshBuffersMSFT(XrSceneMSFT scene, long getInfo, long buffers)
Unsafe version of: |
| public static int | nxrLocateSceneComponentsMSFT(XrSceneMSFT scene, long locateInfo, long locations)
Unsafe version of: |
| public static int | xrComputeNewSceneMSFT(XrSceneObserverMSFT
a handle to an sceneObserver, XrNewSceneComputeInfoMSFT XrSceneObserverMSFT.a pointer to an computeInfo)XrNewSceneComputeInfoMSFT structure.Compute new scene. |
| public static int | xrCreateSceneMSFT(XrSceneObserverMSFT
a handle to an sceneObserver, XrSceneCreateInfoMSFT XrSceneObserverMSFT.exists for extensibility purposes, it is createInfo, PointerBuffer NULL or a pointer to a valid XrSceneCreateInfoMSFT structure.the returned scene)XrSceneMSFT handle.Create a scene handle. |
| public static int | xrCreateSceneObserverMSFT(XrSession
an session, XrSceneObserverCreateInfoMSFT XrSession in which the scene observer will be active.exists for extensibility purposes, it is createInfo, PointerBuffer NULL or a pointer to a valid XrSceneObserverCreateInfoMSFT structure.the returned sceneObserver)XrSceneObserverMSFT handle.Create a scene observer handle. |
| public static int | xrDestroySceneMSFT(XrSceneMSFT
an scene)XrSceneMSFT previously created by CreateSceneMSFT.Destroy a scene handle. |
| public static int | xrDestroySceneObserverMSFT(XrSceneObserverMSFT
an sceneObserver)XrSceneObserverMSFT previously created by CreateSceneObserverMSFT.Destroy a scene observer handle. |
| public static int | xrEnumerateSceneComputeFeaturesMSFT(XrInstance
a handle to an instance, long XrInstance.the systemId, IntBuffer XrSystemId whose scene compute features will be enumerated.a pointer to the count of scene compute features, or a pointer to the required capacity in the case that featureCountOutput, IntBuffer featureCapacityInput is insufficient.an array of features)XrSceneComputeFeatureMSFT.Enumerates scene compute features. |
| public static int | xrGetSceneComponentsMSFT(XrSceneMSFT
an scene, XrSceneComponentsGetInfoMSFT XrSceneMSFT previously created by CreateSceneMSFT.a pointer to an getInfo, XrSceneComponentsMSFT XrSceneComponentsGetInfoMSFT structure.the components)XrSceneComponentsMSFT output structure.Get scene components from a scene. |
| public static int | xrGetSceneComputeStateMSFT(XrSceneObserverMSFT
a handle to an sceneObserver, IntBuffer XrSceneObserverMSFT.the returned state)XrSceneComputeStateMSFT value.Get the scene compute state. |
| public static int | xrGetSceneMeshBuffersMSFT(XrSceneMSFT
an scene, XrSceneMeshBuffersGetInfoMSFT XrSceneMSFT previously created by CreateSceneMSFT.a pointer to an getInfo, XrSceneMeshBuffersMSFT XrSceneMeshBuffersGetInfoMSFT structure.a pointer to an buffers)XrSceneMeshBuffersMSFT structure for reading a scene mesh buffer.Get scene mesh buffers. |
| public static int | xrLocateSceneComponentsMSFT(XrSceneMSFT
a handle to an scene, XrSceneComponentsLocateInfoMSFT XrSceneMSFT.a pointer to locateInfo, XrSceneComponentLocationsMSFT XrSceneComponentsLocateInfoMSFT describing information to locate scene components.a pointer to locations)XrSceneComponentLocationsMSFT receiving the returned scene component locations.Locate scene components. |