C Specification

// Provided by XR_EXT_render_model
XR_DEFINE_ATOM(XrRenderModelIdEXT)

Description

The render model ID is used to create an XrRenderModelEXT handle. Like other atom types in OpenXR, the ID should not correspond to consuming noticeable resources in the runtime, it has no explicit lifetime of its own, and it has no persistence nor identity beyond the lifetime of the XrSession handle it is retrieved from. Once the XrRenderModelEXT handle is created from the ID, the runtime may start to consume resources to load and track the state of the render model.

The application can use a valid XrRenderModelIdEXT to create an XrRenderModelEXT handle.

The value XR_NULL_RENDER_MODEL_ID_EXT, equal to 0, is defined to be an invalid XrRenderModelIdEXT value.

The application can use a valid XrRenderModelIdEXT to create an XrRenderModelEXT handle.

This XR_EXT_render_model extension does not specify how to obtain a valid XrRenderModelIdEXT. The application can obtain a valid ID through other extensions that depend on this one.

Be aware that there is a potential pitfall when creating a dependent extension, if the set of render models it enumerates has any in common with the set of render models enumerated by another (existing) dependent extension. To avoid unexpected application behavior when the same XrRenderModelIdEXT is enumerated from two separate functions, it is recommended to do one of the following:

  • Extend the existing enumeration function through extending an input structure chain, rather than creating a new enumeration function.

  • Forbid simultaneous use of those two extensions in your new extension.

See Also

Document Notes

For more information, see the OpenXR Specification

This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.

Copyright 2014-2025 The Khronos Group Inc.