#include <OpenXRVkReferenceSpacesManager.h>
Inherits OpenXRReferenceSpacesInterface::Registrar.
Public Member Functions | |
| AZ_CLASS_ALLOCATOR (ReferenceSpacesManager, AZ::SystemAllocator) | |
| bool | Init (XrInstance xrInstance, XrSession xrSession, XrViewConfigurationType xrViewConfigurationType, uint32_t numEyeViews) |
| bool | SyncViews (XrTime predictedDisplayTime) |
| Called by the Session each tick. | |
| void | OnSessionReady () |
| const AZStd::vector< XrView > & | GetXrViews () const |
| This is useful for the Swapchain system. | |
| XrSpace | GetViewSpaceXrSpace () const |
| This is useful for the Swapchain system. | |
| AZStd::vector< AZStd::string > | GetReferenceSpaceNames () const override |
| OpenXRReferenceSpacesInterface overrides. | |
| AZ::Outcome< bool, AZStd::string > | AddReferenceSpace (ReferenceSpaceId referenceSpaceType, const AZStd::string &spaceName, const AZ::Transform &poseInReferenceSpace) override |
| AZ::Outcome< bool, AZStd::string > | RemoveReferenceSpace (const AZStd::string &spaceName) override |
| const void * | GetReferenceSpaceNativeHandle (const AZStd::string &spaceName) const override |
| AZ::Outcome< AZ::Transform, AZStd::string > | GetReferenceSpacePose (const AZStd::string &spaceName, const AZStd::string &baseSpaceName) const override |
| AZ::Outcome< bool, AZStd::string > | SetBaseSpaceForViewSpacePose (const AZStd::string &spaceName) override |
| const AZStd::string & | GetBaseSpaceForViewSpacePose () const override |
| const AZ::Transform & | GetViewSpacePose () const override |
| uint32_t | GetViewCount () const override |
| const AZ::Transform & | GetViewPose (uint32_t eyeIndex) const override |
| const AZ::RPI::FovData & | GetViewFovData (uint32_t eyeIndex) const override |
| const AZStd::vector< AZ::Transform > & | GetViewPoses () const override |
| void | ForceViewPosesCacheUpdate () override |
Static Public Attributes | |
| static constexpr char | LogName [] = "OpenXRVkReferenceSpacesManager" |
Concrete implementation of OpenXRReferenceSpacesInterface. The OpenXRVk::Session class should own an instance of this class. Automatically instantiates the default system provided reference spaces as mandated by the OpenXR Spec: View, Local and Stage.
| bool OpenXRVk::ReferenceSpacesManager::Init | ( | XrInstance | xrInstance, |
| XrSession | xrSession, | ||
| XrViewConfigurationType | xrViewConfigurationType, | ||
| uint32_t | numEyeViews | ||
| ) |
Instantiates the OpenXR Guaranteed Reference Spaces: View, Local and Stage. And prepares all the internal data required to service the OpenXRReferenceSpacesInterface interface.
| void OpenXRVk::ReferenceSpacesManager::OnSessionReady | ( | ) |
The Session calls this function when it receives the XR_SESSION_STATE_READY event.