C Specification
The XrRenderModelNodeStateEXT structure is defined as:
// Provided by XR_EXT_render_model
typedef struct XrRenderModelNodeStateEXT {
    XrPosef     nodePose;
    XrBool32    isVisible;
} XrRenderModelNodeStateEXT;Members
Description
This structure is populated with state for a single animatable node in an XrRenderModelEXT.
For any animatable node N, if an ancestor node M is also animatable, and
isVisible is XR_FALSE for node M, then isVisible must
be XR_FALSE for node N as well.
That is, being not-visible is recursive.
An application should interpret all descendant nodes of an animatable node
with isVisible = XR_FALSE to also not be visible (to similarly
interpret being not-visible as recursive).
The pose nodePose locates the associated animatable node, and all
descendants, relative to that animatable node’s parent, replacing the
animatable node’s transform, if any was supplied as matrix or
translation/rotation/scale properties in the glTF asset.
The application should apply this nodePose to the associated node, as
well as to all descendant nodes per the glTF specification.
That is, the nodePose replaces, instead of composes with, the
asset-specified transform.
Where one animatable node M is a descendant of another animatable node
N, the application should transform the descendant node M and its
descendants by the composition of the nodePose for both M and N.
That is, nodePose should be interpreted by the application to respect
the hierarchy in the glTF asset, and compose with other animatable node
poses, as well as transformations supplied in the glTF asset on
non-animatable nodes.
For clarity, given a model for which the runtime returns a nodePose
equal to the original transform in the asset for all animatable nodes, the
resulting rendered model should be rendered the same as the unmodified glTF
asset.
This implies that for ease of use, runtimes may consider structuring their
assets such that animatable nodes have no (or identity) transformation
specified in the glTF asset, such that nodePose of identity for all
animatable nodes produces an rendered model in its neutral, original state.
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
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.