Class MSFTSceneUnderstanding
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 type of the discovered objects (wall, floor, ceiling, or other surface type).
- The planes and their bounds that represent the object.
- The visual and collider triangle meshes that represent the object.
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:
- Create an
XrSceneObserverMSFThandle to manage the system resource of the scene understanding compute. - Start the scene compute by calling
ComputeNewSceneMSFTwithXrSceneBoundsMSFTto specify the scan range and a list ofXrSceneComputeFeatureMSFTfeatures. - Inspect the completion of computation by polling
GetSceneComputeStateMSFT. - Once compute is completed, create an
XrSceneMSFThandle to the result by callingCreateSceneMSFT. - Get properties of scene components using
GetSceneComponentsMSFT. - Locate scene components using
LocateSceneComponentsMSFT.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intExtendsXrResult.static final intExtendsXrResult.static final intExtendsXrResult.static final intExtendsXrResult.static final intExtendsXrResult.static final intExtendsXrResult.static final intXrMeshComputeLodMSFT - Mesh compute level of detail enumerationstatic final intXrMeshComputeLodMSFT - Mesh compute level of detail enumerationstatic final intXrMeshComputeLodMSFT - Mesh compute level of detail enumerationstatic final intXrMeshComputeLodMSFT - Mesh compute level of detail enumerationstatic final StringThe extension name.static final intThe extension specification version.static final intExtendsXrObjectType.static final intExtendsXrObjectType.static final intXrSceneComponentTypeMSFT - Scene component typestatic final intXrSceneComponentTypeMSFT - Scene component typestatic final intXrSceneComponentTypeMSFT - Scene component typestatic final intXrSceneComponentTypeMSFT - Scene component typestatic final intXrSceneComponentTypeMSFT - Scene component typestatic final intXrSceneComputeConsistencyMSFT - Scene compute consistencystatic final intXrSceneComputeConsistencyMSFT - Scene compute consistencystatic final intXrSceneComputeConsistencyMSFT - Scene compute consistencystatic final intXrSceneComputeFeatureMSFT - Scene compute featurestatic final intXrSceneComputeFeatureMSFT - Scene compute featurestatic final intXrSceneComputeFeatureMSFT - Scene compute featurestatic final intXrSceneComputeFeatureMSFT - Scene compute featurestatic final intXrSceneComputeStateMSFT - Scene compute state typestatic final intXrSceneComputeStateMSFT - Scene compute state typestatic final intXrSceneComputeStateMSFT - Scene compute state typestatic final intXrSceneComputeStateMSFT - Scene compute state typestatic final intXrSceneObjectTypeMSFT - Scene object typestatic final intXrSceneObjectTypeMSFT - Scene object typestatic final intXrSceneObjectTypeMSFT - Scene object typestatic final intXrSceneObjectTypeMSFT - Scene object typestatic final intXrSceneObjectTypeMSFT - Scene object typestatic final intXrSceneObjectTypeMSFT - Scene object typestatic final intXrSceneObjectTypeMSFT - Scene object typestatic final intXrScenePlaneAlignmentTypeMSFT - Scene plane alignment typestatic final intXrScenePlaneAlignmentTypeMSFT - Scene plane alignment typestatic final intXrScenePlaneAlignmentTypeMSFT - Scene plane alignment typestatic final intExtendsXrStructureType.static final intExtendsXrStructureType.static final intExtendsXrStructureType.static final intExtendsXrStructureType.static final intExtendsXrStructureType.static final intExtendsXrStructureType.static final intExtendsXrStructureType.static final intExtendsXrStructureType.static final intExtendsXrStructureType.static final intExtendsXrStructureType.static final intExtendsXrStructureType.static final intExtendsXrStructureType.static final intExtendsXrStructureType.static final intExtendsXrStructureType.static final intExtendsXrStructureType.static final intExtendsXrStructureType.static final intExtendsXrStructureType.static final intExtendsXrStructureType.static final intExtendsXrStructureType. -
Method Summary
Modifier and TypeMethodDescriptionstatic intnxrComputeNewSceneMSFT(XrSceneObserverMSFT sceneObserver, long computeInfo) Unsafe version of:ComputeNewSceneMSFTstatic intnxrCreateSceneMSFT(XrSceneObserverMSFT sceneObserver, long createInfo, long scene) Unsafe version of:CreateSceneMSFTstatic intnxrCreateSceneObserverMSFT(XrSession session, long createInfo, long sceneObserver) Unsafe version of:CreateSceneObserverMSFTstatic intnxrEnumerateSceneComputeFeaturesMSFT(org.lwjgl.openxr.XrInstance instance, long systemId, int featureCapacityInput, long featureCountOutput, long features) Unsafe version of:EnumerateSceneComputeFeaturesMSFTstatic intnxrGetSceneComponentsMSFT(XrSceneMSFT scene, long getInfo, long components) Unsafe version of:GetSceneComponentsMSFTstatic intnxrGetSceneComputeStateMSFT(XrSceneObserverMSFT sceneObserver, long state) Unsafe version of:GetSceneComputeStateMSFTstatic intnxrGetSceneMeshBuffersMSFT(XrSceneMSFT scene, long getInfo, long buffers) Unsafe version of:GetSceneMeshBuffersMSFTstatic intnxrLocateSceneComponentsMSFT(XrSceneMSFT scene, long locateInfo, long locations) Unsafe version of:LocateSceneComponentsMSFTstatic intxrComputeNewSceneMSFT(XrSceneObserverMSFT sceneObserver, XrNewSceneComputeInfoMSFT computeInfo) Compute new scene.static intxrCreateSceneMSFT(XrSceneObserverMSFT sceneObserver, @Nullable XrSceneCreateInfoMSFT createInfo, org.lwjgl.PointerBuffer scene) Create a scene handle.static intxrCreateSceneObserverMSFT(XrSession session, @Nullable XrSceneObserverCreateInfoMSFT createInfo, org.lwjgl.PointerBuffer sceneObserver) Create a scene observer handle.static intxrDestroySceneMSFT(XrSceneMSFT scene) Destroy a scene handle.static intxrDestroySceneObserverMSFT(XrSceneObserverMSFT sceneObserver) Destroy a scene observer handle.static intxrEnumerateSceneComputeFeaturesMSFT(org.lwjgl.openxr.XrInstance instance, long systemId, IntBuffer featureCountOutput, @Nullable IntBuffer features) Enumerates scene compute features.static intxrGetSceneComponentsMSFT(XrSceneMSFT scene, XrSceneComponentsGetInfoMSFT getInfo, XrSceneComponentsMSFT components) Get scene components from a scene.static intxrGetSceneComputeStateMSFT(XrSceneObserverMSFT sceneObserver, IntBuffer state) Get the scene compute state.static intxrGetSceneMeshBuffersMSFT(XrSceneMSFT scene, XrSceneMeshBuffersGetInfoMSFT getInfo, XrSceneMeshBuffersMSFT buffers) Get scene mesh buffers.static intxrLocateSceneComponentsMSFT(XrSceneMSFT scene, XrSceneComponentsLocateInfoMSFT locateInfo, XrSceneComponentLocationsMSFT locations) Locate scene components.
-
Field Details
-
XR_MSFT_scene_understanding_SPEC_VERSION
public static final int XR_MSFT_scene_understanding_SPEC_VERSIONThe extension specification version.- See Also:
-
XR_MSFT_SCENE_UNDERSTANDING_EXTENSION_NAME
The extension name.- See Also:
-
XR_OBJECT_TYPE_SCENE_OBSERVER_MSFT
public static final int XR_OBJECT_TYPE_SCENE_OBSERVER_MSFT- See Also:
-
XR_OBJECT_TYPE_SCENE_MSFT
public static final int XR_OBJECT_TYPE_SCENE_MSFT- See Also:
-
XR_TYPE_SCENE_OBSERVER_CREATE_INFO_MSFT
public static final int XR_TYPE_SCENE_OBSERVER_CREATE_INFO_MSFTExtendsXrStructureType.Enum values:
TYPE_SCENE_OBSERVER_CREATE_INFO_MSFTTYPE_SCENE_CREATE_INFO_MSFTTYPE_NEW_SCENE_COMPUTE_INFO_MSFTTYPE_VISUAL_MESH_COMPUTE_LOD_INFO_MSFTTYPE_SCENE_COMPONENTS_MSFTTYPE_SCENE_COMPONENTS_GET_INFO_MSFTTYPE_SCENE_COMPONENT_LOCATIONS_MSFTTYPE_SCENE_COMPONENTS_LOCATE_INFO_MSFTTYPE_SCENE_OBJECTS_MSFTTYPE_SCENE_COMPONENT_PARENT_FILTER_INFO_MSFTTYPE_SCENE_OBJECT_TYPES_FILTER_INFO_MSFTTYPE_SCENE_PLANES_MSFTTYPE_SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFTTYPE_SCENE_MESHES_MSFTTYPE_SCENE_MESH_BUFFERS_GET_INFO_MSFTTYPE_SCENE_MESH_BUFFERS_MSFTTYPE_SCENE_MESH_VERTEX_BUFFER_MSFTTYPE_SCENE_MESH_INDICES_UINT32_MSFTTYPE_SCENE_MESH_INDICES_UINT16_MSFT
- See Also:
-
XR_TYPE_SCENE_CREATE_INFO_MSFT
public static final int XR_TYPE_SCENE_CREATE_INFO_MSFTExtendsXrStructureType.Enum values:
TYPE_SCENE_OBSERVER_CREATE_INFO_MSFTTYPE_SCENE_CREATE_INFO_MSFTTYPE_NEW_SCENE_COMPUTE_INFO_MSFTTYPE_VISUAL_MESH_COMPUTE_LOD_INFO_MSFTTYPE_SCENE_COMPONENTS_MSFTTYPE_SCENE_COMPONENTS_GET_INFO_MSFTTYPE_SCENE_COMPONENT_LOCATIONS_MSFTTYPE_SCENE_COMPONENTS_LOCATE_INFO_MSFTTYPE_SCENE_OBJECTS_MSFTTYPE_SCENE_COMPONENT_PARENT_FILTER_INFO_MSFTTYPE_SCENE_OBJECT_TYPES_FILTER_INFO_MSFTTYPE_SCENE_PLANES_MSFTTYPE_SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFTTYPE_SCENE_MESHES_MSFTTYPE_SCENE_MESH_BUFFERS_GET_INFO_MSFTTYPE_SCENE_MESH_BUFFERS_MSFTTYPE_SCENE_MESH_VERTEX_BUFFER_MSFTTYPE_SCENE_MESH_INDICES_UINT32_MSFTTYPE_SCENE_MESH_INDICES_UINT16_MSFT
- See Also:
-
XR_TYPE_NEW_SCENE_COMPUTE_INFO_MSFT
public static final int XR_TYPE_NEW_SCENE_COMPUTE_INFO_MSFTExtendsXrStructureType.Enum values:
TYPE_SCENE_OBSERVER_CREATE_INFO_MSFTTYPE_SCENE_CREATE_INFO_MSFTTYPE_NEW_SCENE_COMPUTE_INFO_MSFTTYPE_VISUAL_MESH_COMPUTE_LOD_INFO_MSFTTYPE_SCENE_COMPONENTS_MSFTTYPE_SCENE_COMPONENTS_GET_INFO_MSFTTYPE_SCENE_COMPONENT_LOCATIONS_MSFTTYPE_SCENE_COMPONENTS_LOCATE_INFO_MSFTTYPE_SCENE_OBJECTS_MSFTTYPE_SCENE_COMPONENT_PARENT_FILTER_INFO_MSFTTYPE_SCENE_OBJECT_TYPES_FILTER_INFO_MSFTTYPE_SCENE_PLANES_MSFTTYPE_SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFTTYPE_SCENE_MESHES_MSFTTYPE_SCENE_MESH_BUFFERS_GET_INFO_MSFTTYPE_SCENE_MESH_BUFFERS_MSFTTYPE_SCENE_MESH_VERTEX_BUFFER_MSFTTYPE_SCENE_MESH_INDICES_UINT32_MSFTTYPE_SCENE_MESH_INDICES_UINT16_MSFT
- See Also:
-
XR_TYPE_VISUAL_MESH_COMPUTE_LOD_INFO_MSFT
public static final int XR_TYPE_VISUAL_MESH_COMPUTE_LOD_INFO_MSFTExtendsXrStructureType.Enum values:
TYPE_SCENE_OBSERVER_CREATE_INFO_MSFTTYPE_SCENE_CREATE_INFO_MSFTTYPE_NEW_SCENE_COMPUTE_INFO_MSFTTYPE_VISUAL_MESH_COMPUTE_LOD_INFO_MSFTTYPE_SCENE_COMPONENTS_MSFTTYPE_SCENE_COMPONENTS_GET_INFO_MSFTTYPE_SCENE_COMPONENT_LOCATIONS_MSFTTYPE_SCENE_COMPONENTS_LOCATE_INFO_MSFTTYPE_SCENE_OBJECTS_MSFTTYPE_SCENE_COMPONENT_PARENT_FILTER_INFO_MSFTTYPE_SCENE_OBJECT_TYPES_FILTER_INFO_MSFTTYPE_SCENE_PLANES_MSFTTYPE_SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFTTYPE_SCENE_MESHES_MSFTTYPE_SCENE_MESH_BUFFERS_GET_INFO_MSFTTYPE_SCENE_MESH_BUFFERS_MSFTTYPE_SCENE_MESH_VERTEX_BUFFER_MSFTTYPE_SCENE_MESH_INDICES_UINT32_MSFTTYPE_SCENE_MESH_INDICES_UINT16_MSFT
- See Also:
-
XR_TYPE_SCENE_COMPONENTS_MSFT
public static final int XR_TYPE_SCENE_COMPONENTS_MSFTExtendsXrStructureType.Enum values:
TYPE_SCENE_OBSERVER_CREATE_INFO_MSFTTYPE_SCENE_CREATE_INFO_MSFTTYPE_NEW_SCENE_COMPUTE_INFO_MSFTTYPE_VISUAL_MESH_COMPUTE_LOD_INFO_MSFTTYPE_SCENE_COMPONENTS_MSFTTYPE_SCENE_COMPONENTS_GET_INFO_MSFTTYPE_SCENE_COMPONENT_LOCATIONS_MSFTTYPE_SCENE_COMPONENTS_LOCATE_INFO_MSFTTYPE_SCENE_OBJECTS_MSFTTYPE_SCENE_COMPONENT_PARENT_FILTER_INFO_MSFTTYPE_SCENE_OBJECT_TYPES_FILTER_INFO_MSFTTYPE_SCENE_PLANES_MSFTTYPE_SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFTTYPE_SCENE_MESHES_MSFTTYPE_SCENE_MESH_BUFFERS_GET_INFO_MSFTTYPE_SCENE_MESH_BUFFERS_MSFTTYPE_SCENE_MESH_VERTEX_BUFFER_MSFTTYPE_SCENE_MESH_INDICES_UINT32_MSFTTYPE_SCENE_MESH_INDICES_UINT16_MSFT
- See Also:
-
XR_TYPE_SCENE_COMPONENTS_GET_INFO_MSFT
public static final int XR_TYPE_SCENE_COMPONENTS_GET_INFO_MSFTExtendsXrStructureType.Enum values:
TYPE_SCENE_OBSERVER_CREATE_INFO_MSFTTYPE_SCENE_CREATE_INFO_MSFTTYPE_NEW_SCENE_COMPUTE_INFO_MSFTTYPE_VISUAL_MESH_COMPUTE_LOD_INFO_MSFTTYPE_SCENE_COMPONENTS_MSFTTYPE_SCENE_COMPONENTS_GET_INFO_MSFTTYPE_SCENE_COMPONENT_LOCATIONS_MSFTTYPE_SCENE_COMPONENTS_LOCATE_INFO_MSFTTYPE_SCENE_OBJECTS_MSFTTYPE_SCENE_COMPONENT_PARENT_FILTER_INFO_MSFTTYPE_SCENE_OBJECT_TYPES_FILTER_INFO_MSFTTYPE_SCENE_PLANES_MSFTTYPE_SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFTTYPE_SCENE_MESHES_MSFTTYPE_SCENE_MESH_BUFFERS_GET_INFO_MSFTTYPE_SCENE_MESH_BUFFERS_MSFTTYPE_SCENE_MESH_VERTEX_BUFFER_MSFTTYPE_SCENE_MESH_INDICES_UINT32_MSFTTYPE_SCENE_MESH_INDICES_UINT16_MSFT
- See Also:
-
XR_TYPE_SCENE_COMPONENT_LOCATIONS_MSFT
public static final int XR_TYPE_SCENE_COMPONENT_LOCATIONS_MSFTExtendsXrStructureType.Enum values:
TYPE_SCENE_OBSERVER_CREATE_INFO_MSFTTYPE_SCENE_CREATE_INFO_MSFTTYPE_NEW_SCENE_COMPUTE_INFO_MSFTTYPE_VISUAL_MESH_COMPUTE_LOD_INFO_MSFTTYPE_SCENE_COMPONENTS_MSFTTYPE_SCENE_COMPONENTS_GET_INFO_MSFTTYPE_SCENE_COMPONENT_LOCATIONS_MSFTTYPE_SCENE_COMPONENTS_LOCATE_INFO_MSFTTYPE_SCENE_OBJECTS_MSFTTYPE_SCENE_COMPONENT_PARENT_FILTER_INFO_MSFTTYPE_SCENE_OBJECT_TYPES_FILTER_INFO_MSFTTYPE_SCENE_PLANES_MSFTTYPE_SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFTTYPE_SCENE_MESHES_MSFTTYPE_SCENE_MESH_BUFFERS_GET_INFO_MSFTTYPE_SCENE_MESH_BUFFERS_MSFTTYPE_SCENE_MESH_VERTEX_BUFFER_MSFTTYPE_SCENE_MESH_INDICES_UINT32_MSFTTYPE_SCENE_MESH_INDICES_UINT16_MSFT
- See Also:
-
XR_TYPE_SCENE_COMPONENTS_LOCATE_INFO_MSFT
public static final int XR_TYPE_SCENE_COMPONENTS_LOCATE_INFO_MSFTExtendsXrStructureType.Enum values:
TYPE_SCENE_OBSERVER_CREATE_INFO_MSFTTYPE_SCENE_CREATE_INFO_MSFTTYPE_NEW_SCENE_COMPUTE_INFO_MSFTTYPE_VISUAL_MESH_COMPUTE_LOD_INFO_MSFTTYPE_SCENE_COMPONENTS_MSFTTYPE_SCENE_COMPONENTS_GET_INFO_MSFTTYPE_SCENE_COMPONENT_LOCATIONS_MSFTTYPE_SCENE_COMPONENTS_LOCATE_INFO_MSFTTYPE_SCENE_OBJECTS_MSFTTYPE_SCENE_COMPONENT_PARENT_FILTER_INFO_MSFTTYPE_SCENE_OBJECT_TYPES_FILTER_INFO_MSFTTYPE_SCENE_PLANES_MSFTTYPE_SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFTTYPE_SCENE_MESHES_MSFTTYPE_SCENE_MESH_BUFFERS_GET_INFO_MSFTTYPE_SCENE_MESH_BUFFERS_MSFTTYPE_SCENE_MESH_VERTEX_BUFFER_MSFTTYPE_SCENE_MESH_INDICES_UINT32_MSFTTYPE_SCENE_MESH_INDICES_UINT16_MSFT
- See Also:
-
XR_TYPE_SCENE_OBJECTS_MSFT
public static final int XR_TYPE_SCENE_OBJECTS_MSFTExtendsXrStructureType.Enum values:
TYPE_SCENE_OBSERVER_CREATE_INFO_MSFTTYPE_SCENE_CREATE_INFO_MSFTTYPE_NEW_SCENE_COMPUTE_INFO_MSFTTYPE_VISUAL_MESH_COMPUTE_LOD_INFO_MSFTTYPE_SCENE_COMPONENTS_MSFTTYPE_SCENE_COMPONENTS_GET_INFO_MSFTTYPE_SCENE_COMPONENT_LOCATIONS_MSFTTYPE_SCENE_COMPONENTS_LOCATE_INFO_MSFTTYPE_SCENE_OBJECTS_MSFTTYPE_SCENE_COMPONENT_PARENT_FILTER_INFO_MSFTTYPE_SCENE_OBJECT_TYPES_FILTER_INFO_MSFTTYPE_SCENE_PLANES_MSFTTYPE_SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFTTYPE_SCENE_MESHES_MSFTTYPE_SCENE_MESH_BUFFERS_GET_INFO_MSFTTYPE_SCENE_MESH_BUFFERS_MSFTTYPE_SCENE_MESH_VERTEX_BUFFER_MSFTTYPE_SCENE_MESH_INDICES_UINT32_MSFTTYPE_SCENE_MESH_INDICES_UINT16_MSFT
- See Also:
-
XR_TYPE_SCENE_COMPONENT_PARENT_FILTER_INFO_MSFT
public static final int XR_TYPE_SCENE_COMPONENT_PARENT_FILTER_INFO_MSFTExtendsXrStructureType.Enum values:
TYPE_SCENE_OBSERVER_CREATE_INFO_MSFTTYPE_SCENE_CREATE_INFO_MSFTTYPE_NEW_SCENE_COMPUTE_INFO_MSFTTYPE_VISUAL_MESH_COMPUTE_LOD_INFO_MSFTTYPE_SCENE_COMPONENTS_MSFTTYPE_SCENE_COMPONENTS_GET_INFO_MSFTTYPE_SCENE_COMPONENT_LOCATIONS_MSFTTYPE_SCENE_COMPONENTS_LOCATE_INFO_MSFTTYPE_SCENE_OBJECTS_MSFTTYPE_SCENE_COMPONENT_PARENT_FILTER_INFO_MSFTTYPE_SCENE_OBJECT_TYPES_FILTER_INFO_MSFTTYPE_SCENE_PLANES_MSFTTYPE_SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFTTYPE_SCENE_MESHES_MSFTTYPE_SCENE_MESH_BUFFERS_GET_INFO_MSFTTYPE_SCENE_MESH_BUFFERS_MSFTTYPE_SCENE_MESH_VERTEX_BUFFER_MSFTTYPE_SCENE_MESH_INDICES_UINT32_MSFTTYPE_SCENE_MESH_INDICES_UINT16_MSFT
- See Also:
-
XR_TYPE_SCENE_OBJECT_TYPES_FILTER_INFO_MSFT
public static final int XR_TYPE_SCENE_OBJECT_TYPES_FILTER_INFO_MSFTExtendsXrStructureType.Enum values:
TYPE_SCENE_OBSERVER_CREATE_INFO_MSFTTYPE_SCENE_CREATE_INFO_MSFTTYPE_NEW_SCENE_COMPUTE_INFO_MSFTTYPE_VISUAL_MESH_COMPUTE_LOD_INFO_MSFTTYPE_SCENE_COMPONENTS_MSFTTYPE_SCENE_COMPONENTS_GET_INFO_MSFTTYPE_SCENE_COMPONENT_LOCATIONS_MSFTTYPE_SCENE_COMPONENTS_LOCATE_INFO_MSFTTYPE_SCENE_OBJECTS_MSFTTYPE_SCENE_COMPONENT_PARENT_FILTER_INFO_MSFTTYPE_SCENE_OBJECT_TYPES_FILTER_INFO_MSFTTYPE_SCENE_PLANES_MSFTTYPE_SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFTTYPE_SCENE_MESHES_MSFTTYPE_SCENE_MESH_BUFFERS_GET_INFO_MSFTTYPE_SCENE_MESH_BUFFERS_MSFTTYPE_SCENE_MESH_VERTEX_BUFFER_MSFTTYPE_SCENE_MESH_INDICES_UINT32_MSFTTYPE_SCENE_MESH_INDICES_UINT16_MSFT
- See Also:
-
XR_TYPE_SCENE_PLANES_MSFT
public static final int XR_TYPE_SCENE_PLANES_MSFTExtendsXrStructureType.Enum values:
TYPE_SCENE_OBSERVER_CREATE_INFO_MSFTTYPE_SCENE_CREATE_INFO_MSFTTYPE_NEW_SCENE_COMPUTE_INFO_MSFTTYPE_VISUAL_MESH_COMPUTE_LOD_INFO_MSFTTYPE_SCENE_COMPONENTS_MSFTTYPE_SCENE_COMPONENTS_GET_INFO_MSFTTYPE_SCENE_COMPONENT_LOCATIONS_MSFTTYPE_SCENE_COMPONENTS_LOCATE_INFO_MSFTTYPE_SCENE_OBJECTS_MSFTTYPE_SCENE_COMPONENT_PARENT_FILTER_INFO_MSFTTYPE_SCENE_OBJECT_TYPES_FILTER_INFO_MSFTTYPE_SCENE_PLANES_MSFTTYPE_SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFTTYPE_SCENE_MESHES_MSFTTYPE_SCENE_MESH_BUFFERS_GET_INFO_MSFTTYPE_SCENE_MESH_BUFFERS_MSFTTYPE_SCENE_MESH_VERTEX_BUFFER_MSFTTYPE_SCENE_MESH_INDICES_UINT32_MSFTTYPE_SCENE_MESH_INDICES_UINT16_MSFT
- See Also:
-
XR_TYPE_SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFT
public static final int XR_TYPE_SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFTExtendsXrStructureType.Enum values:
TYPE_SCENE_OBSERVER_CREATE_INFO_MSFTTYPE_SCENE_CREATE_INFO_MSFTTYPE_NEW_SCENE_COMPUTE_INFO_MSFTTYPE_VISUAL_MESH_COMPUTE_LOD_INFO_MSFTTYPE_SCENE_COMPONENTS_MSFTTYPE_SCENE_COMPONENTS_GET_INFO_MSFTTYPE_SCENE_COMPONENT_LOCATIONS_MSFTTYPE_SCENE_COMPONENTS_LOCATE_INFO_MSFTTYPE_SCENE_OBJECTS_MSFTTYPE_SCENE_COMPONENT_PARENT_FILTER_INFO_MSFTTYPE_SCENE_OBJECT_TYPES_FILTER_INFO_MSFTTYPE_SCENE_PLANES_MSFTTYPE_SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFTTYPE_SCENE_MESHES_MSFTTYPE_SCENE_MESH_BUFFERS_GET_INFO_MSFTTYPE_SCENE_MESH_BUFFERS_MSFTTYPE_SCENE_MESH_VERTEX_BUFFER_MSFTTYPE_SCENE_MESH_INDICES_UINT32_MSFTTYPE_SCENE_MESH_INDICES_UINT16_MSFT
- See Also:
-
XR_TYPE_SCENE_MESHES_MSFT
public static final int XR_TYPE_SCENE_MESHES_MSFTExtendsXrStructureType.Enum values:
TYPE_SCENE_OBSERVER_CREATE_INFO_MSFTTYPE_SCENE_CREATE_INFO_MSFTTYPE_NEW_SCENE_COMPUTE_INFO_MSFTTYPE_VISUAL_MESH_COMPUTE_LOD_INFO_MSFTTYPE_SCENE_COMPONENTS_MSFTTYPE_SCENE_COMPONENTS_GET_INFO_MSFTTYPE_SCENE_COMPONENT_LOCATIONS_MSFTTYPE_SCENE_COMPONENTS_LOCATE_INFO_MSFTTYPE_SCENE_OBJECTS_MSFTTYPE_SCENE_COMPONENT_PARENT_FILTER_INFO_MSFTTYPE_SCENE_OBJECT_TYPES_FILTER_INFO_MSFTTYPE_SCENE_PLANES_MSFTTYPE_SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFTTYPE_SCENE_MESHES_MSFTTYPE_SCENE_MESH_BUFFERS_GET_INFO_MSFTTYPE_SCENE_MESH_BUFFERS_MSFTTYPE_SCENE_MESH_VERTEX_BUFFER_MSFTTYPE_SCENE_MESH_INDICES_UINT32_MSFTTYPE_SCENE_MESH_INDICES_UINT16_MSFT
- See Also:
-
XR_TYPE_SCENE_MESH_BUFFERS_GET_INFO_MSFT
public static final int XR_TYPE_SCENE_MESH_BUFFERS_GET_INFO_MSFTExtendsXrStructureType.Enum values:
TYPE_SCENE_OBSERVER_CREATE_INFO_MSFTTYPE_SCENE_CREATE_INFO_MSFTTYPE_NEW_SCENE_COMPUTE_INFO_MSFTTYPE_VISUAL_MESH_COMPUTE_LOD_INFO_MSFTTYPE_SCENE_COMPONENTS_MSFTTYPE_SCENE_COMPONENTS_GET_INFO_MSFTTYPE_SCENE_COMPONENT_LOCATIONS_MSFTTYPE_SCENE_COMPONENTS_LOCATE_INFO_MSFTTYPE_SCENE_OBJECTS_MSFTTYPE_SCENE_COMPONENT_PARENT_FILTER_INFO_MSFTTYPE_SCENE_OBJECT_TYPES_FILTER_INFO_MSFTTYPE_SCENE_PLANES_MSFTTYPE_SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFTTYPE_SCENE_MESHES_MSFTTYPE_SCENE_MESH_BUFFERS_GET_INFO_MSFTTYPE_SCENE_MESH_BUFFERS_MSFTTYPE_SCENE_MESH_VERTEX_BUFFER_MSFTTYPE_SCENE_MESH_INDICES_UINT32_MSFTTYPE_SCENE_MESH_INDICES_UINT16_MSFT
- See Also:
-
XR_TYPE_SCENE_MESH_BUFFERS_MSFT
public static final int XR_TYPE_SCENE_MESH_BUFFERS_MSFTExtendsXrStructureType.Enum values:
TYPE_SCENE_OBSERVER_CREATE_INFO_MSFTTYPE_SCENE_CREATE_INFO_MSFTTYPE_NEW_SCENE_COMPUTE_INFO_MSFTTYPE_VISUAL_MESH_COMPUTE_LOD_INFO_MSFTTYPE_SCENE_COMPONENTS_MSFTTYPE_SCENE_COMPONENTS_GET_INFO_MSFTTYPE_SCENE_COMPONENT_LOCATIONS_MSFTTYPE_SCENE_COMPONENTS_LOCATE_INFO_MSFTTYPE_SCENE_OBJECTS_MSFTTYPE_SCENE_COMPONENT_PARENT_FILTER_INFO_MSFTTYPE_SCENE_OBJECT_TYPES_FILTER_INFO_MSFTTYPE_SCENE_PLANES_MSFTTYPE_SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFTTYPE_SCENE_MESHES_MSFTTYPE_SCENE_MESH_BUFFERS_GET_INFO_MSFTTYPE_SCENE_MESH_BUFFERS_MSFTTYPE_SCENE_MESH_VERTEX_BUFFER_MSFTTYPE_SCENE_MESH_INDICES_UINT32_MSFTTYPE_SCENE_MESH_INDICES_UINT16_MSFT
- See Also:
-
XR_TYPE_SCENE_MESH_VERTEX_BUFFER_MSFT
public static final int XR_TYPE_SCENE_MESH_VERTEX_BUFFER_MSFTExtendsXrStructureType.Enum values:
TYPE_SCENE_OBSERVER_CREATE_INFO_MSFTTYPE_SCENE_CREATE_INFO_MSFTTYPE_NEW_SCENE_COMPUTE_INFO_MSFTTYPE_VISUAL_MESH_COMPUTE_LOD_INFO_MSFTTYPE_SCENE_COMPONENTS_MSFTTYPE_SCENE_COMPONENTS_GET_INFO_MSFTTYPE_SCENE_COMPONENT_LOCATIONS_MSFTTYPE_SCENE_COMPONENTS_LOCATE_INFO_MSFTTYPE_SCENE_OBJECTS_MSFTTYPE_SCENE_COMPONENT_PARENT_FILTER_INFO_MSFTTYPE_SCENE_OBJECT_TYPES_FILTER_INFO_MSFTTYPE_SCENE_PLANES_MSFTTYPE_SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFTTYPE_SCENE_MESHES_MSFTTYPE_SCENE_MESH_BUFFERS_GET_INFO_MSFTTYPE_SCENE_MESH_BUFFERS_MSFTTYPE_SCENE_MESH_VERTEX_BUFFER_MSFTTYPE_SCENE_MESH_INDICES_UINT32_MSFTTYPE_SCENE_MESH_INDICES_UINT16_MSFT
- See Also:
-
XR_TYPE_SCENE_MESH_INDICES_UINT32_MSFT
public static final int XR_TYPE_SCENE_MESH_INDICES_UINT32_MSFTExtendsXrStructureType.Enum values:
TYPE_SCENE_OBSERVER_CREATE_INFO_MSFTTYPE_SCENE_CREATE_INFO_MSFTTYPE_NEW_SCENE_COMPUTE_INFO_MSFTTYPE_VISUAL_MESH_COMPUTE_LOD_INFO_MSFTTYPE_SCENE_COMPONENTS_MSFTTYPE_SCENE_COMPONENTS_GET_INFO_MSFTTYPE_SCENE_COMPONENT_LOCATIONS_MSFTTYPE_SCENE_COMPONENTS_LOCATE_INFO_MSFTTYPE_SCENE_OBJECTS_MSFTTYPE_SCENE_COMPONENT_PARENT_FILTER_INFO_MSFTTYPE_SCENE_OBJECT_TYPES_FILTER_INFO_MSFTTYPE_SCENE_PLANES_MSFTTYPE_SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFTTYPE_SCENE_MESHES_MSFTTYPE_SCENE_MESH_BUFFERS_GET_INFO_MSFTTYPE_SCENE_MESH_BUFFERS_MSFTTYPE_SCENE_MESH_VERTEX_BUFFER_MSFTTYPE_SCENE_MESH_INDICES_UINT32_MSFTTYPE_SCENE_MESH_INDICES_UINT16_MSFT
- See Also:
-
XR_TYPE_SCENE_MESH_INDICES_UINT16_MSFT
public static final int XR_TYPE_SCENE_MESH_INDICES_UINT16_MSFTExtendsXrStructureType.Enum values:
TYPE_SCENE_OBSERVER_CREATE_INFO_MSFTTYPE_SCENE_CREATE_INFO_MSFTTYPE_NEW_SCENE_COMPUTE_INFO_MSFTTYPE_VISUAL_MESH_COMPUTE_LOD_INFO_MSFTTYPE_SCENE_COMPONENTS_MSFTTYPE_SCENE_COMPONENTS_GET_INFO_MSFTTYPE_SCENE_COMPONENT_LOCATIONS_MSFTTYPE_SCENE_COMPONENTS_LOCATE_INFO_MSFTTYPE_SCENE_OBJECTS_MSFTTYPE_SCENE_COMPONENT_PARENT_FILTER_INFO_MSFTTYPE_SCENE_OBJECT_TYPES_FILTER_INFO_MSFTTYPE_SCENE_PLANES_MSFTTYPE_SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFTTYPE_SCENE_MESHES_MSFTTYPE_SCENE_MESH_BUFFERS_GET_INFO_MSFTTYPE_SCENE_MESH_BUFFERS_MSFTTYPE_SCENE_MESH_VERTEX_BUFFER_MSFTTYPE_SCENE_MESH_INDICES_UINT32_MSFTTYPE_SCENE_MESH_INDICES_UINT16_MSFT
- See Also:
-
XR_ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT
public static final int XR_ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFTExtendsXrResult.Enum values:
- See Also:
-
XR_ERROR_SCENE_COMPONENT_ID_INVALID_MSFT
public static final int XR_ERROR_SCENE_COMPONENT_ID_INVALID_MSFTExtendsXrResult.Enum values:
- See Also:
-
XR_ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFT
public static final int XR_ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFTExtendsXrResult.Enum values:
- See Also:
-
XR_ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFT
public static final int XR_ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFTExtendsXrResult.Enum values:
- See Also:
-
XR_ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFT
public static final int XR_ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFTExtendsXrResult.Enum values:
- See Also:
-
XR_ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFT
public static final int XR_ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFTExtendsXrResult.Enum values:
- See Also:
-
XR_SCENE_COMPUTE_FEATURE_PLANE_MSFT
public static final int XR_SCENE_COMPUTE_FEATURE_PLANE_MSFTXrSceneComputeFeatureMSFT - Scene compute featureEnumerant Descriptions
SCENE_COMPUTE_FEATURE_PLANE_MSFTspecifies that plane data for objects should be included in the resulting scene.SCENE_COMPUTE_FEATURE_PLANE_MESH_MSFTspecifies that planar meshes for objects should be included in the resulting scene.SCENE_COMPUTE_FEATURE_VISUAL_MESH_MSFTspecifies that 3D visualization meshes for objects should be included in the resulting scene.SCENE_COMPUTE_FEATURE_COLLIDER_MESH_MSFTspecifies that 3D collider meshes for objects should be included in the resulting scene.
Note
Applications wanting to use the scene for analysis, or in a physics simulation should set
consistencytoSCENE_COMPUTE_CONSISTENCY_SNAPSHOT_COMPLETE_MSFTin order to avoid physics objects falling through the gaps and escaping the scene.Setting
consistencytoSCENE_COMPUTE_CONSISTENCY_SNAPSHOT_INCOMPLETE_FAST_MSFTmight speed up the compute but it will result in gaps in the scene.Setting
consistencytoSCENE_COMPUTE_CONSISTENCY_OCCLUSION_OPTIMIZED_MSFTshould be done when the resulting mesh will only be used to occlude virtual objects that are behind real-world surfaces. This mode will be most efficient and have the lowest-latency, but will return meshes less suitable for analysis or visualization.See Also
XrNewSceneComputeInfoMSFT,ComputeNewSceneMSFT,EnumerateSceneComputeFeaturesMSFT- See Also:
-
XR_SCENE_COMPUTE_FEATURE_PLANE_MESH_MSFT
public static final int XR_SCENE_COMPUTE_FEATURE_PLANE_MESH_MSFTXrSceneComputeFeatureMSFT - Scene compute featureEnumerant Descriptions
SCENE_COMPUTE_FEATURE_PLANE_MSFTspecifies that plane data for objects should be included in the resulting scene.SCENE_COMPUTE_FEATURE_PLANE_MESH_MSFTspecifies that planar meshes for objects should be included in the resulting scene.SCENE_COMPUTE_FEATURE_VISUAL_MESH_MSFTspecifies that 3D visualization meshes for objects should be included in the resulting scene.SCENE_COMPUTE_FEATURE_COLLIDER_MESH_MSFTspecifies that 3D collider meshes for objects should be included in the resulting scene.
Note
Applications wanting to use the scene for analysis, or in a physics simulation should set
consistencytoSCENE_COMPUTE_CONSISTENCY_SNAPSHOT_COMPLETE_MSFTin order to avoid physics objects falling through the gaps and escaping the scene.Setting
consistencytoSCENE_COMPUTE_CONSISTENCY_SNAPSHOT_INCOMPLETE_FAST_MSFTmight speed up the compute but it will result in gaps in the scene.Setting
consistencytoSCENE_COMPUTE_CONSISTENCY_OCCLUSION_OPTIMIZED_MSFTshould be done when the resulting mesh will only be used to occlude virtual objects that are behind real-world surfaces. This mode will be most efficient and have the lowest-latency, but will return meshes less suitable for analysis or visualization.See Also
XrNewSceneComputeInfoMSFT,ComputeNewSceneMSFT,EnumerateSceneComputeFeaturesMSFT- See Also:
-
XR_SCENE_COMPUTE_FEATURE_VISUAL_MESH_MSFT
public static final int XR_SCENE_COMPUTE_FEATURE_VISUAL_MESH_MSFTXrSceneComputeFeatureMSFT - Scene compute featureEnumerant Descriptions
SCENE_COMPUTE_FEATURE_PLANE_MSFTspecifies that plane data for objects should be included in the resulting scene.SCENE_COMPUTE_FEATURE_PLANE_MESH_MSFTspecifies that planar meshes for objects should be included in the resulting scene.SCENE_COMPUTE_FEATURE_VISUAL_MESH_MSFTspecifies that 3D visualization meshes for objects should be included in the resulting scene.SCENE_COMPUTE_FEATURE_COLLIDER_MESH_MSFTspecifies that 3D collider meshes for objects should be included in the resulting scene.
Note
Applications wanting to use the scene for analysis, or in a physics simulation should set
consistencytoSCENE_COMPUTE_CONSISTENCY_SNAPSHOT_COMPLETE_MSFTin order to avoid physics objects falling through the gaps and escaping the scene.Setting
consistencytoSCENE_COMPUTE_CONSISTENCY_SNAPSHOT_INCOMPLETE_FAST_MSFTmight speed up the compute but it will result in gaps in the scene.Setting
consistencytoSCENE_COMPUTE_CONSISTENCY_OCCLUSION_OPTIMIZED_MSFTshould be done when the resulting mesh will only be used to occlude virtual objects that are behind real-world surfaces. This mode will be most efficient and have the lowest-latency, but will return meshes less suitable for analysis or visualization.See Also
XrNewSceneComputeInfoMSFT,ComputeNewSceneMSFT,EnumerateSceneComputeFeaturesMSFT- See Also:
-
XR_SCENE_COMPUTE_FEATURE_COLLIDER_MESH_MSFT
public static final int XR_SCENE_COMPUTE_FEATURE_COLLIDER_MESH_MSFTXrSceneComputeFeatureMSFT - Scene compute featureEnumerant Descriptions
SCENE_COMPUTE_FEATURE_PLANE_MSFTspecifies that plane data for objects should be included in the resulting scene.SCENE_COMPUTE_FEATURE_PLANE_MESH_MSFTspecifies that planar meshes for objects should be included in the resulting scene.SCENE_COMPUTE_FEATURE_VISUAL_MESH_MSFTspecifies that 3D visualization meshes for objects should be included in the resulting scene.SCENE_COMPUTE_FEATURE_COLLIDER_MESH_MSFTspecifies that 3D collider meshes for objects should be included in the resulting scene.
Note
Applications wanting to use the scene for analysis, or in a physics simulation should set
consistencytoSCENE_COMPUTE_CONSISTENCY_SNAPSHOT_COMPLETE_MSFTin order to avoid physics objects falling through the gaps and escaping the scene.Setting
consistencytoSCENE_COMPUTE_CONSISTENCY_SNAPSHOT_INCOMPLETE_FAST_MSFTmight speed up the compute but it will result in gaps in the scene.Setting
consistencytoSCENE_COMPUTE_CONSISTENCY_OCCLUSION_OPTIMIZED_MSFTshould be done when the resulting mesh will only be used to occlude virtual objects that are behind real-world surfaces. This mode will be most efficient and have the lowest-latency, but will return meshes less suitable for analysis or visualization.See Also
XrNewSceneComputeInfoMSFT,ComputeNewSceneMSFT,EnumerateSceneComputeFeaturesMSFT- See Also:
-
XR_SCENE_COMPUTE_CONSISTENCY_SNAPSHOT_COMPLETE_MSFT
public static final int XR_SCENE_COMPUTE_CONSISTENCY_SNAPSHOT_COMPLETE_MSFTXrSceneComputeConsistencyMSFT - Scene compute consistencyEnumerant Descriptions
SCENE_COMPUTE_CONSISTENCY_SNAPSHOT_COMPLETE_MSFT. The runtime must return a scene that is a consistent and complete snapshot of the environment, inferring the size and shape of objects as needed where the objects were not directly observed, in order to generate a watertight representation of the scene.SCENE_COMPUTE_CONSISTENCY_SNAPSHOT_INCOMPLETE_FAST_MSFT. The runtime must return a consistent snapshot of the scene with meshes that do not overlap adjacent meshes at their edges, but may skip returning objects withXrSceneObjectTypeMSFTofSCENE_OBJECT_TYPE_INFERRED_MSFTin order to return the scene faster.SCENE_COMPUTE_CONSISTENCY_OCCLUSION_OPTIMIZED_MSFT. The runtime may react to this value by computing scenes more quickly and reusing existing mesh buffer IDs more often to minimize app overhead, with potential tradeoffs such as returning meshes that are not watertight, meshes that overlap adjacent meshes at their edges to allow partial updates in the future, or other reductions in mesh quality that are less observable when mesh is used for occlusion only.
See Also
- See Also:
-
XR_SCENE_COMPUTE_CONSISTENCY_SNAPSHOT_INCOMPLETE_FAST_MSFT
public static final int XR_SCENE_COMPUTE_CONSISTENCY_SNAPSHOT_INCOMPLETE_FAST_MSFTXrSceneComputeConsistencyMSFT - Scene compute consistencyEnumerant Descriptions
SCENE_COMPUTE_CONSISTENCY_SNAPSHOT_COMPLETE_MSFT. The runtime must return a scene that is a consistent and complete snapshot of the environment, inferring the size and shape of objects as needed where the objects were not directly observed, in order to generate a watertight representation of the scene.SCENE_COMPUTE_CONSISTENCY_SNAPSHOT_INCOMPLETE_FAST_MSFT. The runtime must return a consistent snapshot of the scene with meshes that do not overlap adjacent meshes at their edges, but may skip returning objects withXrSceneObjectTypeMSFTofSCENE_OBJECT_TYPE_INFERRED_MSFTin order to return the scene faster.SCENE_COMPUTE_CONSISTENCY_OCCLUSION_OPTIMIZED_MSFT. The runtime may react to this value by computing scenes more quickly and reusing existing mesh buffer IDs more often to minimize app overhead, with potential tradeoffs such as returning meshes that are not watertight, meshes that overlap adjacent meshes at their edges to allow partial updates in the future, or other reductions in mesh quality that are less observable when mesh is used for occlusion only.
See Also
- See Also:
-
XR_SCENE_COMPUTE_CONSISTENCY_OCCLUSION_OPTIMIZED_MSFT
public static final int XR_SCENE_COMPUTE_CONSISTENCY_OCCLUSION_OPTIMIZED_MSFTXrSceneComputeConsistencyMSFT - Scene compute consistencyEnumerant Descriptions
SCENE_COMPUTE_CONSISTENCY_SNAPSHOT_COMPLETE_MSFT. The runtime must return a scene that is a consistent and complete snapshot of the environment, inferring the size and shape of objects as needed where the objects were not directly observed, in order to generate a watertight representation of the scene.SCENE_COMPUTE_CONSISTENCY_SNAPSHOT_INCOMPLETE_FAST_MSFT. The runtime must return a consistent snapshot of the scene with meshes that do not overlap adjacent meshes at their edges, but may skip returning objects withXrSceneObjectTypeMSFTofSCENE_OBJECT_TYPE_INFERRED_MSFTin order to return the scene faster.SCENE_COMPUTE_CONSISTENCY_OCCLUSION_OPTIMIZED_MSFT. The runtime may react to this value by computing scenes more quickly and reusing existing mesh buffer IDs more often to minimize app overhead, with potential tradeoffs such as returning meshes that are not watertight, meshes that overlap adjacent meshes at their edges to allow partial updates in the future, or other reductions in mesh quality that are less observable when mesh is used for occlusion only.
See Also
- See Also:
-
XR_MESH_COMPUTE_LOD_COARSE_MSFT
public static final int XR_MESH_COMPUTE_LOD_COARSE_MSFTXrMeshComputeLodMSFT - Mesh compute level of detail enumerationEnumerant Descriptions
MESH_COMPUTE_LOD_COARSE_MSFT. Coarse mesh compute level of detail will generate roughly 100 triangles per cubic meter.MESH_COMPUTE_LOD_MEDIUM_MSFT. Medium mesh compute level of detail will generate roughly 400 triangles per cubic meter.MESH_COMPUTE_LOD_FINE_MSFT. Fine mesh compute level of detail will generate roughly 2000 triangles per cubic meter.MESH_COMPUTE_LOD_UNLIMITED_MSFT. Unlimited mesh compute level of detail. There is no guarantee as to the number of triangles returned.
See Also
- See Also:
-
XR_MESH_COMPUTE_LOD_MEDIUM_MSFT
public static final int XR_MESH_COMPUTE_LOD_MEDIUM_MSFTXrMeshComputeLodMSFT - Mesh compute level of detail enumerationEnumerant Descriptions
MESH_COMPUTE_LOD_COARSE_MSFT. Coarse mesh compute level of detail will generate roughly 100 triangles per cubic meter.MESH_COMPUTE_LOD_MEDIUM_MSFT. Medium mesh compute level of detail will generate roughly 400 triangles per cubic meter.MESH_COMPUTE_LOD_FINE_MSFT. Fine mesh compute level of detail will generate roughly 2000 triangles per cubic meter.MESH_COMPUTE_LOD_UNLIMITED_MSFT. Unlimited mesh compute level of detail. There is no guarantee as to the number of triangles returned.
See Also
- See Also:
-
XR_MESH_COMPUTE_LOD_FINE_MSFT
public static final int XR_MESH_COMPUTE_LOD_FINE_MSFTXrMeshComputeLodMSFT - Mesh compute level of detail enumerationEnumerant Descriptions
MESH_COMPUTE_LOD_COARSE_MSFT. Coarse mesh compute level of detail will generate roughly 100 triangles per cubic meter.MESH_COMPUTE_LOD_MEDIUM_MSFT. Medium mesh compute level of detail will generate roughly 400 triangles per cubic meter.MESH_COMPUTE_LOD_FINE_MSFT. Fine mesh compute level of detail will generate roughly 2000 triangles per cubic meter.MESH_COMPUTE_LOD_UNLIMITED_MSFT. Unlimited mesh compute level of detail. There is no guarantee as to the number of triangles returned.
See Also
- See Also:
-
XR_MESH_COMPUTE_LOD_UNLIMITED_MSFT
public static final int XR_MESH_COMPUTE_LOD_UNLIMITED_MSFTXrMeshComputeLodMSFT - Mesh compute level of detail enumerationEnumerant Descriptions
MESH_COMPUTE_LOD_COARSE_MSFT. Coarse mesh compute level of detail will generate roughly 100 triangles per cubic meter.MESH_COMPUTE_LOD_MEDIUM_MSFT. Medium mesh compute level of detail will generate roughly 400 triangles per cubic meter.MESH_COMPUTE_LOD_FINE_MSFT. Fine mesh compute level of detail will generate roughly 2000 triangles per cubic meter.MESH_COMPUTE_LOD_UNLIMITED_MSFT. Unlimited mesh compute level of detail. There is no guarantee as to the number of triangles returned.
See Also
- See Also:
-
XR_SCENE_COMPONENT_TYPE_INVALID_MSFT
public static final int XR_SCENE_COMPONENT_TYPE_INVALID_MSFTXrSceneComponentTypeMSFT - Scene component typeEnumerant Descriptions
SCENE_COMPONENT_TYPE_INVALID_MSFTindicates an invalid scene component type.SCENE_COMPONENT_TYPE_OBJECT_MSFTindicates a discrete object detected in the world, such as a wall, floor, ceiling or table. Scene objects then provide their geometric representations such as planes and meshes as child scene components with the types below.SCENE_COMPONENT_TYPE_PLANE_MSFTindicates a flat 2D representation of a surface in the world, such as a wall, floor, ceiling or table.SCENE_COMPONENT_TYPE_VISUAL_MESH_MSFTindicates a visual mesh representation of an object in the world, optimized for visual quality when directly rendering a wireframe or other mesh visualization to the user. Visual mesh can also be used for rendering the silhouettes of objects. Applications can request varying levels of detail for visual meshes when callingComputeNewSceneMSFTusingXrVisualMeshComputeLodInfoMSFT.SCENE_COMPONENT_TYPE_COLLIDER_MESH_MSFTindicates a collider mesh representation of an object in the world, optimized to maintain the silhouette of an object while reducing detail on mostly-flat surfaces. Collider mesh is useful when calculating physics collisions or when rendering silhouettes of objects for occlusion.
See Also
- See Also:
-
XR_SCENE_COMPONENT_TYPE_OBJECT_MSFT
public static final int XR_SCENE_COMPONENT_TYPE_OBJECT_MSFTXrSceneComponentTypeMSFT - Scene component typeEnumerant Descriptions
SCENE_COMPONENT_TYPE_INVALID_MSFTindicates an invalid scene component type.SCENE_COMPONENT_TYPE_OBJECT_MSFTindicates a discrete object detected in the world, such as a wall, floor, ceiling or table. Scene objects then provide their geometric representations such as planes and meshes as child scene components with the types below.SCENE_COMPONENT_TYPE_PLANE_MSFTindicates a flat 2D representation of a surface in the world, such as a wall, floor, ceiling or table.SCENE_COMPONENT_TYPE_VISUAL_MESH_MSFTindicates a visual mesh representation of an object in the world, optimized for visual quality when directly rendering a wireframe or other mesh visualization to the user. Visual mesh can also be used for rendering the silhouettes of objects. Applications can request varying levels of detail for visual meshes when callingComputeNewSceneMSFTusingXrVisualMeshComputeLodInfoMSFT.SCENE_COMPONENT_TYPE_COLLIDER_MESH_MSFTindicates a collider mesh representation of an object in the world, optimized to maintain the silhouette of an object while reducing detail on mostly-flat surfaces. Collider mesh is useful when calculating physics collisions or when rendering silhouettes of objects for occlusion.
See Also
- See Also:
-
XR_SCENE_COMPONENT_TYPE_PLANE_MSFT
public static final int XR_SCENE_COMPONENT_TYPE_PLANE_MSFTXrSceneComponentTypeMSFT - Scene component typeEnumerant Descriptions
SCENE_COMPONENT_TYPE_INVALID_MSFTindicates an invalid scene component type.SCENE_COMPONENT_TYPE_OBJECT_MSFTindicates a discrete object detected in the world, such as a wall, floor, ceiling or table. Scene objects then provide their geometric representations such as planes and meshes as child scene components with the types below.SCENE_COMPONENT_TYPE_PLANE_MSFTindicates a flat 2D representation of a surface in the world, such as a wall, floor, ceiling or table.SCENE_COMPONENT_TYPE_VISUAL_MESH_MSFTindicates a visual mesh representation of an object in the world, optimized for visual quality when directly rendering a wireframe or other mesh visualization to the user. Visual mesh can also be used for rendering the silhouettes of objects. Applications can request varying levels of detail for visual meshes when callingComputeNewSceneMSFTusingXrVisualMeshComputeLodInfoMSFT.SCENE_COMPONENT_TYPE_COLLIDER_MESH_MSFTindicates a collider mesh representation of an object in the world, optimized to maintain the silhouette of an object while reducing detail on mostly-flat surfaces. Collider mesh is useful when calculating physics collisions or when rendering silhouettes of objects for occlusion.
See Also
- See Also:
-
XR_SCENE_COMPONENT_TYPE_VISUAL_MESH_MSFT
public static final int XR_SCENE_COMPONENT_TYPE_VISUAL_MESH_MSFTXrSceneComponentTypeMSFT - Scene component typeEnumerant Descriptions
SCENE_COMPONENT_TYPE_INVALID_MSFTindicates an invalid scene component type.SCENE_COMPONENT_TYPE_OBJECT_MSFTindicates a discrete object detected in the world, such as a wall, floor, ceiling or table. Scene objects then provide their geometric representations such as planes and meshes as child scene components with the types below.SCENE_COMPONENT_TYPE_PLANE_MSFTindicates a flat 2D representation of a surface in the world, such as a wall, floor, ceiling or table.SCENE_COMPONENT_TYPE_VISUAL_MESH_MSFTindicates a visual mesh representation of an object in the world, optimized for visual quality when directly rendering a wireframe or other mesh visualization to the user. Visual mesh can also be used for rendering the silhouettes of objects. Applications can request varying levels of detail for visual meshes when callingComputeNewSceneMSFTusingXrVisualMeshComputeLodInfoMSFT.SCENE_COMPONENT_TYPE_COLLIDER_MESH_MSFTindicates a collider mesh representation of an object in the world, optimized to maintain the silhouette of an object while reducing detail on mostly-flat surfaces. Collider mesh is useful when calculating physics collisions or when rendering silhouettes of objects for occlusion.
See Also
- See Also:
-
XR_SCENE_COMPONENT_TYPE_COLLIDER_MESH_MSFT
public static final int XR_SCENE_COMPONENT_TYPE_COLLIDER_MESH_MSFTXrSceneComponentTypeMSFT - Scene component typeEnumerant Descriptions
SCENE_COMPONENT_TYPE_INVALID_MSFTindicates an invalid scene component type.SCENE_COMPONENT_TYPE_OBJECT_MSFTindicates a discrete object detected in the world, such as a wall, floor, ceiling or table. Scene objects then provide their geometric representations such as planes and meshes as child scene components with the types below.SCENE_COMPONENT_TYPE_PLANE_MSFTindicates a flat 2D representation of a surface in the world, such as a wall, floor, ceiling or table.SCENE_COMPONENT_TYPE_VISUAL_MESH_MSFTindicates a visual mesh representation of an object in the world, optimized for visual quality when directly rendering a wireframe or other mesh visualization to the user. Visual mesh can also be used for rendering the silhouettes of objects. Applications can request varying levels of detail for visual meshes when callingComputeNewSceneMSFTusingXrVisualMeshComputeLodInfoMSFT.SCENE_COMPONENT_TYPE_COLLIDER_MESH_MSFTindicates a collider mesh representation of an object in the world, optimized to maintain the silhouette of an object while reducing detail on mostly-flat surfaces. Collider mesh is useful when calculating physics collisions or when rendering silhouettes of objects for occlusion.
See Also
- See Also:
-
XR_SCENE_OBJECT_TYPE_UNCATEGORIZED_MSFT
public static final int XR_SCENE_OBJECT_TYPE_UNCATEGORIZED_MSFTXrSceneObjectTypeMSFT - Scene object typeEnumerant Descriptions
SCENE_OBJECT_TYPE_UNCATEGORIZED_MSFT. This scene object has yet to be classified and assigned a type. This should not be confused with background, as this object could be anything; the system has just not come up with a strong enough classification for it yet.SCENE_OBJECT_TYPE_BACKGROUND_MSFT. The scene object is known to be not one of the other recognized types of scene object. This class should not be confused with uncategorized where background is known not to be wall/floor/ceiling etc. while uncategorized is not yet categorized.SCENE_OBJECT_TYPE_WALL_MSFT. A physical wall. Walls are assumed to be immovable environmental structures.SCENE_OBJECT_TYPE_FLOOR_MSFT. Floors are any surfaces on which one can walk. Note: stairs are not floors. Also note, that floors assume any walkable surface and therefore there is no explicit assumption of a singular floor. Multi-level structures, ramps, etc. should all classify as floor.SCENE_OBJECT_TYPE_CEILING_MSFT. The upper surface of a room.SCENE_OBJECT_TYPE_PLATFORM_MSFT. A large flat surface on which you could place holograms. These tend to represent tables, countertops, and other large horizontal surfaces.SCENE_OBJECT_TYPE_INFERRED_MSFT. An imaginary object that was added to the scene in order to make the scene watertight and avoid gaps.
See Also
XrNewSceneComputeInfoMSFT,XrSceneObjectMSFT,XrSceneObjectTypesFilterInfoMSFT- See Also:
-
XR_SCENE_OBJECT_TYPE_BACKGROUND_MSFT
public static final int XR_SCENE_OBJECT_TYPE_BACKGROUND_MSFTXrSceneObjectTypeMSFT - Scene object typeEnumerant Descriptions
SCENE_OBJECT_TYPE_UNCATEGORIZED_MSFT. This scene object has yet to be classified and assigned a type. This should not be confused with background, as this object could be anything; the system has just not come up with a strong enough classification for it yet.SCENE_OBJECT_TYPE_BACKGROUND_MSFT. The scene object is known to be not one of the other recognized types of scene object. This class should not be confused with uncategorized where background is known not to be wall/floor/ceiling etc. while uncategorized is not yet categorized.SCENE_OBJECT_TYPE_WALL_MSFT. A physical wall. Walls are assumed to be immovable environmental structures.SCENE_OBJECT_TYPE_FLOOR_MSFT. Floors are any surfaces on which one can walk. Note: stairs are not floors. Also note, that floors assume any walkable surface and therefore there is no explicit assumption of a singular floor. Multi-level structures, ramps, etc. should all classify as floor.SCENE_OBJECT_TYPE_CEILING_MSFT. The upper surface of a room.SCENE_OBJECT_TYPE_PLATFORM_MSFT. A large flat surface on which you could place holograms. These tend to represent tables, countertops, and other large horizontal surfaces.SCENE_OBJECT_TYPE_INFERRED_MSFT. An imaginary object that was added to the scene in order to make the scene watertight and avoid gaps.
See Also
XrNewSceneComputeInfoMSFT,XrSceneObjectMSFT,XrSceneObjectTypesFilterInfoMSFT- See Also:
-
XR_SCENE_OBJECT_TYPE_WALL_MSFT
public static final int XR_SCENE_OBJECT_TYPE_WALL_MSFTXrSceneObjectTypeMSFT - Scene object typeEnumerant Descriptions
SCENE_OBJECT_TYPE_UNCATEGORIZED_MSFT. This scene object has yet to be classified and assigned a type. This should not be confused with background, as this object could be anything; the system has just not come up with a strong enough classification for it yet.SCENE_OBJECT_TYPE_BACKGROUND_MSFT. The scene object is known to be not one of the other recognized types of scene object. This class should not be confused with uncategorized where background is known not to be wall/floor/ceiling etc. while uncategorized is not yet categorized.SCENE_OBJECT_TYPE_WALL_MSFT. A physical wall. Walls are assumed to be immovable environmental structures.SCENE_OBJECT_TYPE_FLOOR_MSFT. Floors are any surfaces on which one can walk. Note: stairs are not floors. Also note, that floors assume any walkable surface and therefore there is no explicit assumption of a singular floor. Multi-level structures, ramps, etc. should all classify as floor.SCENE_OBJECT_TYPE_CEILING_MSFT. The upper surface of a room.SCENE_OBJECT_TYPE_PLATFORM_MSFT. A large flat surface on which you could place holograms. These tend to represent tables, countertops, and other large horizontal surfaces.SCENE_OBJECT_TYPE_INFERRED_MSFT. An imaginary object that was added to the scene in order to make the scene watertight and avoid gaps.
See Also
XrNewSceneComputeInfoMSFT,XrSceneObjectMSFT,XrSceneObjectTypesFilterInfoMSFT- See Also:
-
XR_SCENE_OBJECT_TYPE_FLOOR_MSFT
public static final int XR_SCENE_OBJECT_TYPE_FLOOR_MSFTXrSceneObjectTypeMSFT - Scene object typeEnumerant Descriptions
SCENE_OBJECT_TYPE_UNCATEGORIZED_MSFT. This scene object has yet to be classified and assigned a type. This should not be confused with background, as this object could be anything; the system has just not come up with a strong enough classification for it yet.SCENE_OBJECT_TYPE_BACKGROUND_MSFT. The scene object is known to be not one of the other recognized types of scene object. This class should not be confused with uncategorized where background is known not to be wall/floor/ceiling etc. while uncategorized is not yet categorized.SCENE_OBJECT_TYPE_WALL_MSFT. A physical wall. Walls are assumed to be immovable environmental structures.SCENE_OBJECT_TYPE_FLOOR_MSFT. Floors are any surfaces on which one can walk. Note: stairs are not floors. Also note, that floors assume any walkable surface and therefore there is no explicit assumption of a singular floor. Multi-level structures, ramps, etc. should all classify as floor.SCENE_OBJECT_TYPE_CEILING_MSFT. The upper surface of a room.SCENE_OBJECT_TYPE_PLATFORM_MSFT. A large flat surface on which you could place holograms. These tend to represent tables, countertops, and other large horizontal surfaces.SCENE_OBJECT_TYPE_INFERRED_MSFT. An imaginary object that was added to the scene in order to make the scene watertight and avoid gaps.
See Also
XrNewSceneComputeInfoMSFT,XrSceneObjectMSFT,XrSceneObjectTypesFilterInfoMSFT- See Also:
-
XR_SCENE_OBJECT_TYPE_CEILING_MSFT
public static final int XR_SCENE_OBJECT_TYPE_CEILING_MSFTXrSceneObjectTypeMSFT - Scene object typeEnumerant Descriptions
SCENE_OBJECT_TYPE_UNCATEGORIZED_MSFT. This scene object has yet to be classified and assigned a type. This should not be confused with background, as this object could be anything; the system has just not come up with a strong enough classification for it yet.SCENE_OBJECT_TYPE_BACKGROUND_MSFT. The scene object is known to be not one of the other recognized types of scene object. This class should not be confused with uncategorized where background is known not to be wall/floor/ceiling etc. while uncategorized is not yet categorized.SCENE_OBJECT_TYPE_WALL_MSFT. A physical wall. Walls are assumed to be immovable environmental structures.SCENE_OBJECT_TYPE_FLOOR_MSFT. Floors are any surfaces on which one can walk. Note: stairs are not floors. Also note, that floors assume any walkable surface and therefore there is no explicit assumption of a singular floor. Multi-level structures, ramps, etc. should all classify as floor.SCENE_OBJECT_TYPE_CEILING_MSFT. The upper surface of a room.SCENE_OBJECT_TYPE_PLATFORM_MSFT. A large flat surface on which you could place holograms. These tend to represent tables, countertops, and other large horizontal surfaces.SCENE_OBJECT_TYPE_INFERRED_MSFT. An imaginary object that was added to the scene in order to make the scene watertight and avoid gaps.
See Also
XrNewSceneComputeInfoMSFT,XrSceneObjectMSFT,XrSceneObjectTypesFilterInfoMSFT- See Also:
-
XR_SCENE_OBJECT_TYPE_PLATFORM_MSFT
public static final int XR_SCENE_OBJECT_TYPE_PLATFORM_MSFTXrSceneObjectTypeMSFT - Scene object typeEnumerant Descriptions
SCENE_OBJECT_TYPE_UNCATEGORIZED_MSFT. This scene object has yet to be classified and assigned a type. This should not be confused with background, as this object could be anything; the system has just not come up with a strong enough classification for it yet.SCENE_OBJECT_TYPE_BACKGROUND_MSFT. The scene object is known to be not one of the other recognized types of scene object. This class should not be confused with uncategorized where background is known not to be wall/floor/ceiling etc. while uncategorized is not yet categorized.SCENE_OBJECT_TYPE_WALL_MSFT. A physical wall. Walls are assumed to be immovable environmental structures.SCENE_OBJECT_TYPE_FLOOR_MSFT. Floors are any surfaces on which one can walk. Note: stairs are not floors. Also note, that floors assume any walkable surface and therefore there is no explicit assumption of a singular floor. Multi-level structures, ramps, etc. should all classify as floor.SCENE_OBJECT_TYPE_CEILING_MSFT. The upper surface of a room.SCENE_OBJECT_TYPE_PLATFORM_MSFT. A large flat surface on which you could place holograms. These tend to represent tables, countertops, and other large horizontal surfaces.SCENE_OBJECT_TYPE_INFERRED_MSFT. An imaginary object that was added to the scene in order to make the scene watertight and avoid gaps.
See Also
XrNewSceneComputeInfoMSFT,XrSceneObjectMSFT,XrSceneObjectTypesFilterInfoMSFT- See Also:
-
XR_SCENE_OBJECT_TYPE_INFERRED_MSFT
public static final int XR_SCENE_OBJECT_TYPE_INFERRED_MSFTXrSceneObjectTypeMSFT - Scene object typeEnumerant Descriptions
SCENE_OBJECT_TYPE_UNCATEGORIZED_MSFT. This scene object has yet to be classified and assigned a type. This should not be confused with background, as this object could be anything; the system has just not come up with a strong enough classification for it yet.SCENE_OBJECT_TYPE_BACKGROUND_MSFT. The scene object is known to be not one of the other recognized types of scene object. This class should not be confused with uncategorized where background is known not to be wall/floor/ceiling etc. while uncategorized is not yet categorized.SCENE_OBJECT_TYPE_WALL_MSFT. A physical wall. Walls are assumed to be immovable environmental structures.SCENE_OBJECT_TYPE_FLOOR_MSFT. Floors are any surfaces on which one can walk. Note: stairs are not floors. Also note, that floors assume any walkable surface and therefore there is no explicit assumption of a singular floor. Multi-level structures, ramps, etc. should all classify as floor.SCENE_OBJECT_TYPE_CEILING_MSFT. The upper surface of a room.SCENE_OBJECT_TYPE_PLATFORM_MSFT. A large flat surface on which you could place holograms. These tend to represent tables, countertops, and other large horizontal surfaces.SCENE_OBJECT_TYPE_INFERRED_MSFT. An imaginary object that was added to the scene in order to make the scene watertight and avoid gaps.
See Also
XrNewSceneComputeInfoMSFT,XrSceneObjectMSFT,XrSceneObjectTypesFilterInfoMSFT- See Also:
-
XR_SCENE_PLANE_ALIGNMENT_TYPE_NON_ORTHOGONAL_MSFT
public static final int XR_SCENE_PLANE_ALIGNMENT_TYPE_NON_ORTHOGONAL_MSFTXrScenePlaneAlignmentTypeMSFT - Scene plane alignment typeEnumerant Descriptions
SCENE_PLANE_ALIGNMENT_TYPE_NON_ORTHOGONAL_MSFTmeans the plane’s normal is not orthogonal or parallel to the gravity direction.SCENE_PLANE_ALIGNMENT_TYPE_HORIZONTAL_MSFTmeans the plane’s normal is roughly parallel to the gravity direction.SCENE_PLANE_ALIGNMENT_TYPE_VERTICAL_MSFTmeans the plane’s normal is roughly orthogonal to the gravity direction.
See Also
- See Also:
-
XR_SCENE_PLANE_ALIGNMENT_TYPE_HORIZONTAL_MSFT
public static final int XR_SCENE_PLANE_ALIGNMENT_TYPE_HORIZONTAL_MSFTXrScenePlaneAlignmentTypeMSFT - Scene plane alignment typeEnumerant Descriptions
SCENE_PLANE_ALIGNMENT_TYPE_NON_ORTHOGONAL_MSFTmeans the plane’s normal is not orthogonal or parallel to the gravity direction.SCENE_PLANE_ALIGNMENT_TYPE_HORIZONTAL_MSFTmeans the plane’s normal is roughly parallel to the gravity direction.SCENE_PLANE_ALIGNMENT_TYPE_VERTICAL_MSFTmeans the plane’s normal is roughly orthogonal to the gravity direction.
See Also
- See Also:
-
XR_SCENE_PLANE_ALIGNMENT_TYPE_VERTICAL_MSFT
public static final int XR_SCENE_PLANE_ALIGNMENT_TYPE_VERTICAL_MSFTXrScenePlaneAlignmentTypeMSFT - Scene plane alignment typeEnumerant Descriptions
SCENE_PLANE_ALIGNMENT_TYPE_NON_ORTHOGONAL_MSFTmeans the plane’s normal is not orthogonal or parallel to the gravity direction.SCENE_PLANE_ALIGNMENT_TYPE_HORIZONTAL_MSFTmeans the plane’s normal is roughly parallel to the gravity direction.SCENE_PLANE_ALIGNMENT_TYPE_VERTICAL_MSFTmeans the plane’s normal is roughly orthogonal to the gravity direction.
See Also
- See Also:
-
XR_SCENE_COMPUTE_STATE_NONE_MSFT
public static final int XR_SCENE_COMPUTE_STATE_NONE_MSFTXrSceneComputeStateMSFT - Scene compute state typeEnumerant Descriptions
SCENE_COMPUTE_STATE_NONE_MSFTindicates that no scene is available, and that a scene is not being computed. The application may callComputeNewSceneMSFTto start computing a scene.SCENE_COMPUTE_STATE_UPDATING_MSFTindicates that a new scene is being computed. CallingCreateSceneMSFTorComputeNewSceneMSFTmust return the errorERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT.SCENE_COMPUTE_STATE_COMPLETED_MSFTindicates that a new scene has completed computing. The application may callCreateSceneMSFTto get the results of the query or the application may callComputeNewSceneMSFTto start computing a new scene.SCENE_COMPUTE_STATE_COMPLETED_WITH_ERROR_MSFTindicates that the new scene computation completed with an error. CallingCreateSceneMSFTmust return a validXrSceneMSFThandle but callingGetSceneComponentsMSFTwith that handle must return zero scene components. The runtime must allow the application to callComputeNewSceneMSFTto try computing a scene again, even if the last call toComputeNewSceneMSFTresulted inSCENE_COMPUTE_STATE_COMPLETED_WITH_ERROR_MSFT.
See Also
- See Also:
-
XR_SCENE_COMPUTE_STATE_UPDATING_MSFT
public static final int XR_SCENE_COMPUTE_STATE_UPDATING_MSFTXrSceneComputeStateMSFT - Scene compute state typeEnumerant Descriptions
SCENE_COMPUTE_STATE_NONE_MSFTindicates that no scene is available, and that a scene is not being computed. The application may callComputeNewSceneMSFTto start computing a scene.SCENE_COMPUTE_STATE_UPDATING_MSFTindicates that a new scene is being computed. CallingCreateSceneMSFTorComputeNewSceneMSFTmust return the errorERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT.SCENE_COMPUTE_STATE_COMPLETED_MSFTindicates that a new scene has completed computing. The application may callCreateSceneMSFTto get the results of the query or the application may callComputeNewSceneMSFTto start computing a new scene.SCENE_COMPUTE_STATE_COMPLETED_WITH_ERROR_MSFTindicates that the new scene computation completed with an error. CallingCreateSceneMSFTmust return a validXrSceneMSFThandle but callingGetSceneComponentsMSFTwith that handle must return zero scene components. The runtime must allow the application to callComputeNewSceneMSFTto try computing a scene again, even if the last call toComputeNewSceneMSFTresulted inSCENE_COMPUTE_STATE_COMPLETED_WITH_ERROR_MSFT.
See Also
- See Also:
-
XR_SCENE_COMPUTE_STATE_COMPLETED_MSFT
public static final int XR_SCENE_COMPUTE_STATE_COMPLETED_MSFTXrSceneComputeStateMSFT - Scene compute state typeEnumerant Descriptions
SCENE_COMPUTE_STATE_NONE_MSFTindicates that no scene is available, and that a scene is not being computed. The application may callComputeNewSceneMSFTto start computing a scene.SCENE_COMPUTE_STATE_UPDATING_MSFTindicates that a new scene is being computed. CallingCreateSceneMSFTorComputeNewSceneMSFTmust return the errorERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT.SCENE_COMPUTE_STATE_COMPLETED_MSFTindicates that a new scene has completed computing. The application may callCreateSceneMSFTto get the results of the query or the application may callComputeNewSceneMSFTto start computing a new scene.SCENE_COMPUTE_STATE_COMPLETED_WITH_ERROR_MSFTindicates that the new scene computation completed with an error. CallingCreateSceneMSFTmust return a validXrSceneMSFThandle but callingGetSceneComponentsMSFTwith that handle must return zero scene components. The runtime must allow the application to callComputeNewSceneMSFTto try computing a scene again, even if the last call toComputeNewSceneMSFTresulted inSCENE_COMPUTE_STATE_COMPLETED_WITH_ERROR_MSFT.
See Also
- See Also:
-
XR_SCENE_COMPUTE_STATE_COMPLETED_WITH_ERROR_MSFT
public static final int XR_SCENE_COMPUTE_STATE_COMPLETED_WITH_ERROR_MSFTXrSceneComputeStateMSFT - Scene compute state typeEnumerant Descriptions
SCENE_COMPUTE_STATE_NONE_MSFTindicates that no scene is available, and that a scene is not being computed. The application may callComputeNewSceneMSFTto start computing a scene.SCENE_COMPUTE_STATE_UPDATING_MSFTindicates that a new scene is being computed. CallingCreateSceneMSFTorComputeNewSceneMSFTmust return the errorERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT.SCENE_COMPUTE_STATE_COMPLETED_MSFTindicates that a new scene has completed computing. The application may callCreateSceneMSFTto get the results of the query or the application may callComputeNewSceneMSFTto start computing a new scene.SCENE_COMPUTE_STATE_COMPLETED_WITH_ERROR_MSFTindicates that the new scene computation completed with an error. CallingCreateSceneMSFTmust return a validXrSceneMSFThandle but callingGetSceneComponentsMSFTwith that handle must return zero scene components. The runtime must allow the application to callComputeNewSceneMSFTto try computing a scene again, even if the last call toComputeNewSceneMSFTresulted inSCENE_COMPUTE_STATE_COMPLETED_WITH_ERROR_MSFT.
See Also
- See Also:
-
-
Method Details
-
nxrEnumerateSceneComputeFeaturesMSFT
public static int nxrEnumerateSceneComputeFeaturesMSFT(org.lwjgl.openxr.XrInstance instance, long systemId, int featureCapacityInput, long featureCountOutput, long features) Unsafe version of:EnumerateSceneComputeFeaturesMSFT- Parameters:
featureCapacityInput- the capacity of the array, or 0 to indicate a request to retrieve the required capacity.
-
xrEnumerateSceneComputeFeaturesMSFT
public static int xrEnumerateSceneComputeFeaturesMSFT(org.lwjgl.openxr.XrInstance instance, long systemId, IntBuffer featureCountOutput, @Nullable IntBuffer features) Enumerates scene compute features.C Specification
The
EnumerateSceneComputeFeaturesMSFTfunction enumerates the supported scene compute features of the given system.This function follows the two-call idiom for filling the
featuresarray.XrResult xrEnumerateSceneComputeFeaturesMSFT( XrInstance instance, XrSystemId systemId, uint32_t featureCapacityInput, uint32_t* featureCountOutput, XrSceneComputeFeatureMSFT* features);Valid Usage (Implicit)
- The
XR_MSFT_scene_understandingextension must be enabled prior to callingEnumerateSceneComputeFeaturesMSFT instancemust be a validXrInstancehandlefeatureCountOutputmust be a pointer to auint32_tvalue- If
featureCapacityInputis not 0,featuresmust be a pointer to an array offeatureCapacityInputXrSceneComputeFeatureMSFTvalues
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
instance- a handle to anXrInstance.systemId- theXrSystemIdwhose scene compute features will be enumerated.featureCountOutput- a pointer to the count of scene compute features, or a pointer to the required capacity in the case thatfeatureCapacityInputis insufficient.features- an array ofXrSceneComputeFeatureMSFT.
- The
-
nxrCreateSceneObserverMSFT
public static int nxrCreateSceneObserverMSFT(XrSession session, long createInfo, long sceneObserver) Unsafe version of:CreateSceneObserverMSFT -
xrCreateSceneObserverMSFT
public static int xrCreateSceneObserverMSFT(XrSession session, @Nullable XrSceneObserverCreateInfoMSFT createInfo, org.lwjgl.PointerBuffer sceneObserver) Create a scene observer handle.C Specification
An
XrSceneObserverMSFThandle is created usingCreateSceneObserverMSFT.XrResult xrCreateSceneObserverMSFT( XrSession session, const XrSceneObserverCreateInfoMSFT* createInfo, XrSceneObserverMSFT* sceneObserver);Valid Usage (Implicit)
- The
XR_MSFT_scene_understandingextension must be enabled prior to callingCreateSceneObserverMSFT sessionmust be a validXrSessionhandle- If
createInfois notNULL,createInfomust be a pointer to a validXrSceneObserverCreateInfoMSFTstructure sceneObservermust be a pointer to anXrSceneObserverMSFThandle
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
session- anXrSessionin which the scene observer will be active.createInfo- exists for extensibility purposes, it isNULLor a pointer to a validXrSceneObserverCreateInfoMSFTstructure.sceneObserver- the returnedXrSceneObserverMSFThandle.
- The
-
xrDestroySceneObserverMSFT
Destroy a scene observer handle.C Specification
The
DestroySceneObserverMSFTfunction releases thesceneObserverand the underlying resources.XrResult xrDestroySceneObserverMSFT( XrSceneObserverMSFT sceneObserver);Valid Usage (Implicit)
- The
XR_MSFT_scene_understandingextension must be enabled prior to callingDestroySceneObserverMSFT sceneObservermust be a validXrSceneObserverMSFThandle
Thread Safety
- Access to
sceneObserver, and any child handles, must be externally synchronized
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
sceneObserver- anXrSceneObserverMSFTpreviously created byCreateSceneObserverMSFT.
- The
-
nxrCreateSceneMSFT
public static int nxrCreateSceneMSFT(XrSceneObserverMSFT sceneObserver, long createInfo, long scene) Unsafe version of:CreateSceneMSFT -
xrCreateSceneMSFT
public static int xrCreateSceneMSFT(XrSceneObserverMSFT sceneObserver, @Nullable XrSceneCreateInfoMSFT createInfo, org.lwjgl.PointerBuffer scene) Create a scene handle.C Specification
The
CreateSceneMSFTfunctions creates anXrSceneMSFThandle. It can only be called afterGetSceneComputeStateMSFTreturnsSCENE_COMPUTE_STATE_COMPLETED_MSFTto indicate that the asynchronous operation has completed. TheXrSceneMSFThandle manages the collection of scene components that represents the detected objects found during the query.After an
XrSceneMSFThandle is created, the handle and associated data must remain valid until destroyed, even afterCreateSceneMSFTis called again to create the next scene. The runtime must keep alive any component data and mesh buffers relating to this historical scene until its handle is destroyed.XrResult xrCreateSceneMSFT( XrSceneObserverMSFT sceneObserver, const XrSceneCreateInfoMSFT* createInfo, XrSceneMSFT* scene);Valid Usage (Implicit)
- The
XR_MSFT_scene_understandingextension must be enabled prior to callingCreateSceneMSFT sceneObservermust be a validXrSceneObserverMSFThandle- If
createInfois notNULL,createInfomust be a pointer to a validXrSceneCreateInfoMSFTstructure scenemust be a pointer to anXrSceneMSFThandle
Return Codes
- On success, this command returns
- On failure, this command returns
Calling
CreateSceneMSFTwhenGetSceneComputeStateMSFTreturnsSCENE_COMPUTE_STATE_NONE_MSFTorSCENE_COMPUTE_STATE_UPDATING_MSFTmust return the errorERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT.See Also
- Parameters:
sceneObserver- a handle to anXrSceneObserverMSFT.createInfo- exists for extensibility purposes, it isNULLor a pointer to a validXrSceneCreateInfoMSFTstructure.scene- the returnedXrSceneMSFThandle.
- The
-
xrDestroySceneMSFT
Destroy a scene handle.C Specification
The
DestroySceneMSFTfunction releases thesceneand the underlying resources.XrResult xrDestroySceneMSFT( XrSceneMSFT scene);Valid Usage (Implicit)
- The
XR_MSFT_scene_understandingextension must be enabled prior to callingDestroySceneMSFT scenemust be a validXrSceneMSFThandle
Thread Safety
- Access to
scene, and any child handles, must be externally synchronized
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
scene- anXrSceneMSFTpreviously created byCreateSceneMSFT.
- The
-
nxrComputeNewSceneMSFT
Unsafe version of:ComputeNewSceneMSFT -
xrComputeNewSceneMSFT
public static int xrComputeNewSceneMSFT(XrSceneObserverMSFT sceneObserver, XrNewSceneComputeInfoMSFT computeInfo) Compute new scene.C Specification
The
ComputeNewSceneMSFTfunction begins the compute of a new scene and the runtime must return quickly without waiting for the compute to complete. The application should useGetSceneComputeStateMSFTto inspect the compute status.The application can control the compute features by passing a list of
XrSceneComputeFeatureMSFTviaXrNewSceneComputeInfoMSFT::requestedFeatures.- If
SCENE_COMPUTE_FEATURE_PLANE_MSFTis passed, butSCENE_COMPUTE_FEATURE_PLANE_MESH_MSFTis not passed, then:- The application may be able to read
SCENE_COMPONENT_TYPE_PLANE_MSFTandSCENE_COMPONENT_TYPE_OBJECT_MSFTscene components from the resultingXrSceneMSFThandle. XrScenePlaneMSFT::meshBufferIdmust be zero to indicate that the plane scene component does not have a mesh buffer available to read.
- The application may be able to read
- If
SCENE_COMPUTE_FEATURE_PLANE_MSFTandSCENE_COMPUTE_FEATURE_PLANE_MESH_MSFTare passed, then:- the application may be able to read
SCENE_COMPONENT_TYPE_PLANE_MSFTandSCENE_COMPONENT_TYPE_OBJECT_MSFTscene components from the resultingXrSceneMSFThandle XrScenePlaneMSFT::meshBufferIdmay contain a non-zero mesh buffer identifier to indicate that the plane scene component has a mesh buffer available to read.
- the application may be able to read
- If
SCENE_COMPUTE_FEATURE_VISUAL_MESH_MSFTis passed then:- the application may be able to read
SCENE_COMPONENT_TYPE_VISUAL_MESH_MSFTandSCENE_COMPONENT_TYPE_OBJECT_MSFTscene components from the resultingXrSceneMSFThandle.
- the application may be able to read
- If
SCENE_COMPUTE_FEATURE_COLLIDER_MESH_MSFTis passed then:- the application may be able to read
SCENE_COMPONENT_TYPE_COLLIDER_MESH_MSFTandSCENE_COMPONENT_TYPE_OBJECT_MSFTscene components from the resultingXrSceneMSFThandle.
- the application may be able to read
XrResult xrComputeNewSceneMSFT( XrSceneObserverMSFT sceneObserver, const XrNewSceneComputeInfoMSFT* computeInfo);Description
The runtime must return
ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFTif incompatible features were passed or no compatible features were passed.The runtime must return
ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFTifSCENE_COMPUTE_FEATURE_PLANE_MESH_MSFTwas passed butSCENE_COMPUTE_FEATURE_PLANE_MSFTwas not passed.The runtime must return
ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFTifComputeNewSceneMSFTis called while the scene computation is in progress.An application that wishes to use
SCENE_COMPUTE_CONSISTENCY_OCCLUSION_OPTIMIZED_MSFTmust create anXrSceneObserverMSFThandle that passes neitherSCENE_COMPUTE_CONSISTENCY_SNAPSHOT_COMPLETE_MSFTnorSCENE_COMPUTE_CONSISTENCY_SNAPSHOT_INCOMPLETE_FAST_MSFTtoComputeNewSceneMSFTfor the lifetime of thatXrSceneObserverMSFThandle. This allows the runtime to return occlusion mesh at a different cadence than non-occlusion mesh or planes.- The runtime must return
ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFTif:SCENE_COMPUTE_CONSISTENCY_OCCLUSION_OPTIMIZED_MSFTis passed toComputeNewSceneMSFTand- a previous call to
ComputeNewSceneMSFTdid not passSCENE_COMPUTE_CONSISTENCY_OCCLUSION_OPTIMIZED_MSFTfor the sameXrSceneObserverMSFThandle.
- The runtime must return
ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFTif:SCENE_COMPUTE_CONSISTENCY_OCCLUSION_OPTIMIZED_MSFTis not passed toComputeNewSceneMSFTand- a previous call to
ComputeNewSceneMSFTdid passSCENE_COMPUTE_CONSISTENCY_OCCLUSION_OPTIMIZED_MSFTfor the sameXrSceneObserverMSFThandle.
- The runtime must return
ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFTif:SCENE_COMPUTE_CONSISTENCY_OCCLUSION_OPTIMIZED_MSFTis passed toComputeNewSceneMSFTand- neither
SCENE_COMPUTE_FEATURE_VISUAL_MESH_MSFTnorSCENE_COMPUTE_FEATURE_COLLIDER_MESH_MSFTare also passed.
- The runtime must return
ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFTif:SCENE_COMPUTE_CONSISTENCY_OCCLUSION_OPTIMIZED_MSFTis passed toComputeNewSceneMSFTand- at least one of
SCENE_COMPUTE_FEATURE_SERIALIZE_SCENE_MSFT,SCENE_COMPUTE_FEATURE_PLANE_MSFT,SCENE_COMPUTE_FEATURE_PLANE_MESH_MSFT, orSCENE_COMPUTE_FEATURE_SERIALIZE_SCENE_MSFTare also passed.
Valid Usage (Implicit)
- The
XR_MSFT_scene_understandingextension must be enabled prior to callingComputeNewSceneMSFT sceneObservermust be a validXrSceneObserverMSFThandlecomputeInfomust be a pointer to a validXrNewSceneComputeInfoMSFTstructure
Return Codes
- On success, this command returns
- On failure, this command returns
ERROR_FUNCTION_UNSUPPORTEDERROR_VALIDATION_FAILUREERROR_RUNTIME_FAILUREERROR_HANDLE_INVALIDERROR_INSTANCE_LOSTERROR_SESSION_LOSTERROR_OUT_OF_MEMORYERROR_TIME_INVALIDERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFTERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFTERROR_POSE_INVALIDERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT
See Also
XrNewSceneComputeInfoMSFT,EnumerateSceneComputeFeaturesMSFT- Parameters:
sceneObserver- a handle to anXrSceneObserverMSFT.computeInfo- a pointer to anXrNewSceneComputeInfoMSFTstructure.
- If
-
nxrGetSceneComputeStateMSFT
Unsafe version of:GetSceneComputeStateMSFT -
xrGetSceneComputeStateMSFT
Get the scene compute state.C Specification
An application can inspect the completion of the compute by polling
GetSceneComputeStateMSFT. This function should typically be called once per frame perXrSceneObserverMSFT.XrResult xrGetSceneComputeStateMSFT( XrSceneObserverMSFT sceneObserver, XrSceneComputeStateMSFT* state);Valid Usage (Implicit)
- The
XR_MSFT_scene_understandingextension must be enabled prior to callingGetSceneComputeStateMSFT sceneObservermust be a validXrSceneObserverMSFThandlestatemust be a pointer to anXrSceneComputeStateMSFTvalue
Return Codes
- On success, this command returns
- On failure, this command returns
- Parameters:
sceneObserver- a handle to anXrSceneObserverMSFT.state- the returnedXrSceneComputeStateMSFTvalue.
- The
-
nxrGetSceneComponentsMSFT
Unsafe version of:GetSceneComponentsMSFT -
xrGetSceneComponentsMSFT
public static int xrGetSceneComponentsMSFT(XrSceneMSFT scene, XrSceneComponentsGetInfoMSFT getInfo, XrSceneComponentsMSFT components) Get scene components from a scene.C Specification
Scene components are read from an
XrSceneMSFTusingGetSceneComponentsMSFTand passing oneXrSceneComponentTypeMSFT. This function follows the two-call idiom for filling multiple buffers in a struct. Different scene component types may have additional properties that can be read by chaining additional structures toXrSceneComponentsMSFT. Those additional structures must have an array size that is at least as large asXrSceneComponentsMSFT::componentCapacityInput, otherwise the runtime must returnERROR_SIZE_INSUFFICIENT.- If
SCENE_COMPONENT_TYPE_OBJECT_MSFTis passed toGetSceneComponentsMSFT, thenXrSceneObjectsMSFTmay be included in theXrSceneComponentsMSFT::nextchain. - If
SCENE_COMPONENT_TYPE_PLANE_MSFTis passed toGetSceneComponentsMSFT, thenXrScenePlanesMSFTmay be included in theXrSceneComponentsMSFT::nextchain. - If
SCENE_COMPONENT_TYPE_VISUAL_MESH_MSFTorSCENE_COMPONENT_TYPE_COLLIDER_MESH_MSFTare passed toGetSceneComponentsMSFT, thenXrSceneMeshesMSFTmay be included in theXrSceneComponentsMSFT::nextchain.
XrResult xrGetSceneComponentsMSFT( XrSceneMSFT scene, const XrSceneComponentsGetInfoMSFT* getInfo, XrSceneComponentsMSFT* components);Valid Usage (Implicit)
- The
XR_MSFT_scene_understandingextension must be enabled prior to callingGetSceneComponentsMSFT scenemust be a validXrSceneMSFThandlegetInfomust be a pointer to a validXrSceneComponentsGetInfoMSFTstructurecomponentsmust be a pointer to anXrSceneComponentsMSFTstructure
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
scene- anXrSceneMSFTpreviously created byCreateSceneMSFT.getInfo- a pointer to anXrSceneComponentsGetInfoMSFTstructure.components- theXrSceneComponentsMSFToutput structure.
- If
-
nxrLocateSceneComponentsMSFT
Unsafe version of:LocateSceneComponentsMSFT -
xrLocateSceneComponentsMSFT
public static int xrLocateSceneComponentsMSFT(XrSceneMSFT scene, XrSceneComponentsLocateInfoMSFT locateInfo, XrSceneComponentLocationsMSFT locations) Locate scene components.C Specification
The
LocateSceneComponentsMSFTfunction locates an array of scene components to a base space at a given time.XrResult xrLocateSceneComponentsMSFT( XrSceneMSFT scene, const XrSceneComponentsLocateInfoMSFT* locateInfo, XrSceneComponentLocationsMSFT* locations);Description
The runtime must return
ERROR_SIZE_INSUFFICIENTifXrSceneComponentLocationsMSFT::locationCountis less thanXrSceneComponentsLocateInfoMSFT::componentIdCount.Note
Similar to
LocateSpace, apps should callLocateSceneComponentsMSFTeach frame because the location returned byLocateSceneComponentsMSFTin later frames may change over time as the target space or the scene components may refine their locations.Valid Usage (Implicit)
- The
XR_MSFT_scene_understandingextension must be enabled prior to callingLocateSceneComponentsMSFT scenemust be a validXrSceneMSFThandlelocateInfomust be a pointer to a validXrSceneComponentsLocateInfoMSFTstructurelocationsmust be a pointer to anXrSceneComponentLocationsMSFTstructure
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
XrSceneComponentLocationsMSFT,XrSceneComponentsLocateInfoMSFT- Parameters:
scene- a handle to anXrSceneMSFT.locateInfo- a pointer toXrSceneComponentsLocateInfoMSFTdescribing information to locate scene components.locations- a pointer toXrSceneComponentLocationsMSFTreceiving the returned scene component locations.
- The
-
nxrGetSceneMeshBuffersMSFT
Unsafe version of:GetSceneMeshBuffersMSFT -
xrGetSceneMeshBuffersMSFT
public static int xrGetSceneMeshBuffersMSFT(XrSceneMSFT scene, XrSceneMeshBuffersGetInfoMSFT getInfo, XrSceneMeshBuffersMSFT buffers) Get scene mesh buffers.C Specification
The
GetSceneMeshBuffersMSFTfunction retrieves the scene mesh vertex buffer and index buffer for the given scene mesh buffer identifier.Note
Applications may use the scene mesh buffer identifier as a key to cache the vertices and indices of a mesh for reuse within an
XrSceneMSFTor across multipleXrSceneMSFTfor the sameXrSession.Applications can avoid unnecessarily calling
GetSceneMeshBuffersMSFTfor a scene component ifXrSceneComponentMSFT::updateTimeis equal to theXrSceneComponentMSFT::updateTimevalue in the previousXrSceneMSFT. A scene component is uniquely identified byXrUuidMSFT.This function follows the two-call idiom for filling multiple buffers in a struct.
The
GetSceneMeshBuffersMSFTfunction is defined as:XrResult xrGetSceneMeshBuffersMSFT( XrSceneMSFT scene, const XrSceneMeshBuffersGetInfoMSFT* getInfo, XrSceneMeshBuffersMSFT* buffers);Description
Applications can request the vertex buffer of the mesh by including
XrSceneMeshVertexBufferMSFTin theXrSceneMeshBuffersMSFT::nextchain. Runtimes must support requesting a 32-bit index buffer and may support requesting a 16-bit index buffer. Applications can request a 32-bit index buffer by includingXrSceneMeshIndicesUint32MSFTin theXrSceneMeshBuffersMSFT::nextchain. Applications can request a 16-bit index buffer by includingXrSceneMeshIndicesUint16MSFTin theXrSceneMeshBuffersMSFT::nextchain. If the runtime for the given scene mesh buffer does not support requesting a 16-bit index buffer thenERROR_VALIDATION_FAILUREmust be returned. The runtime must support reading a 16-bit index buffer for the given scene mesh buffer ifXrScenePlaneMSFT:supportsIndicesUint16 orXrSceneMeshMSFT:supportsIndicesUint16 areTRUEfor the scene component that contained that scene mesh buffer identifier.The runtime must return
ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFTif none of the scene components in the givenXrSceneMSFTcontainXrSceneMeshBuffersGetInfoMSFT::meshBufferId. The runtime must returnERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFTifXrSceneMeshBuffersGetInfoMSFT::meshBufferIdis zero. The runtime must returnERROR_VALIDATION_FAILUREif bothXrSceneMeshIndicesUint32MSFTandXrSceneMeshIndicesUint16MSFTare included in theXrSceneMeshBuffersMSFT::nextchain. The runtime must returnERROR_VALIDATION_FAILUREif theXrSceneMeshBuffersMSFT::nextdoes not contain at least one ofXrSceneMeshVertexBufferMSFT,XrSceneMeshIndicesUint32MSFTorXrSceneMeshIndicesUint16MSFT.The runtime must return the same vertices and indices for a given scene mesh buffer identifier and
XrSession. A runtime may return zero vertices and indices if the underlying mesh data is no longer available.Valid Usage (Implicit)
- The
XR_MSFT_scene_understandingextension must be enabled prior to callingGetSceneMeshBuffersMSFT scenemust be a validXrSceneMSFThandlegetInfomust be a pointer to a validXrSceneMeshBuffersGetInfoMSFTstructurebuffersmust be a pointer to anXrSceneMeshBuffersMSFTstructure
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
scene- anXrSceneMSFTpreviously created byCreateSceneMSFT.getInfo- a pointer to anXrSceneMeshBuffersGetInfoMSFTstructure.buffers- a pointer to anXrSceneMeshBuffersMSFTstructure for reading a scene mesh buffer.
- The
-