Open 3D Engine OpenXRVk Gem API Reference
24.09
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
|
#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.