C Specification
The XrEventDataReferenceSpaceChangePending event is sent to the application to notify it that the origin (and perhaps the bounds) of a reference space is changing. This may occur due to the user recentering the space explicitly, or the runtime otherwise switching to a different space definition.
The reference space change must only take effect for xrLocateSpace or
xrLocateViews calls whose XrTime parameter is greater than or
equal to the changeTime
provided in that event.
Runtimes should provide a changeTime
to applications that allows for
a deep render pipeline to present frames that are already in flight using
the previous definition of the space.
Runtimes should choose a changeTime
that is midway between the
XrFrameState::predictedDisplayTime
of future frames to avoid
threshold issues with applications that calculate future frame times using
XrFrameState::predictedDisplayPeriod
.
The poseInPreviousSpace
provided here must only describe the change
in the natural origin of the reference space and must not incorporate any
origin offsets specified by the application during calls to
xrCreateReferenceSpace.
If the runtime does not know the location of the space’s new origin relative
to its previous origin, poseValid
must be false, and the position and
orientation of poseInPreviousSpace
are undefined.
// Provided by XR_VERSION_1_0
typedef struct XrEventDataReferenceSpaceChangePending {
XrStructureType type;
const void* next;
XrSession session;
XrReferenceSpaceType referenceSpaceType;
XrTime changeTime;
XrBool32 poseValid;
XrPosef poseInPreviousSpace;
} XrEventDataReferenceSpaceChangePending;
Members
Description
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-2024, The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.