Open 3D Engine XR Gem API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
XR::Device Class Referenceabstract

Base XR device class which will provide access to the back-end concrete object. More...

#include <XRDevice.h>

Inherits XR::Object.

Classes

struct  Descriptor
 

Public Member Functions

 AZ_CLASS_ALLOCATOR (Device, AZ::SystemAllocator)
 
 AZ_RTTI (Device, "{A31B0DC2-BD54-443E-9350-EB1B10670FF9}")
 
virtual bool ShouldRender () const =0
 Returns true if rendering data is valid for the current frame.
 
virtual AZ::RHI::ResultCode GetViewFov (AZ::u32 viewIndex, AZ::RPI::FovData &outFovData) const =0
 Returns fov data for a give view index.
 
virtual AZ::RHI::ResultCode GetViewPose (AZ::u32 viewIndex, AZ::RPI::PoseData &outPoseData) const =0
 Returns pose data for a give view index.
 
AZ::RHI::ResultCode Init (Descriptor descriptor)
 Init the XR device.
 
bool BeginFrame ()
 
void EndFrame (Ptr< SwapChain >)
 
void PostFrame ()
 
bool AcquireSwapChainImage (AZ::u32 viewIndex, SwapChain *swapChain)
 Signal the back-end to acquire swapchain images.
 
void RegisterSession (Ptr< Session > session)
 Register XR session with the device.
 
void UnRegisterSession ()
 UnRegister XR session with the device.
 
const DescriptorGetDescriptor () const
 Get the descriptor.
 
Ptr< SessionGetSession () const
 Get the xr session registered with the device.
 
- Public Member Functions inherited from XR::Object
 AZ_RTTI (Object, "{74FCA8BF-CBDA-43EB-A378-89F752ED2FCA}")
 
void SetName (const AZ::Name &name)
 Sets the name of the object.
 
const AZ::Name & GetName () const
 Returns the name set on the object by SetName.
 

Detailed Description

Base XR device class which will provide access to the back-end concrete object.

Member Function Documentation

◆ BeginFrame()

bool XR::Device::BeginFrame ( )

Signal Begin frame to the underlying back end.

Note
This function is called from the thread related to the presentation queue.

◆ EndFrame()

void XR::Device::EndFrame ( Ptr< SwapChain )

Signal End frame to the underlying back end.

Note
This function is called from the thread related to the presentation queue.

◆ PostFrame()

void XR::Device::PostFrame ( )

Signal after Endframe has been executed to the underlying back end.

Note
This function is called from the main thread.

The documentation for this class was generated from the following file: