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::SwapChain Class Referenceabstract

#include <XRSwapChain.h>

Inherits XR::Object.

Classes

struct  Descriptor
 
class  Image
 
class  View
 

Public Member Functions

 AZ_CLASS_ALLOCATOR (SwapChain, AZ::SystemAllocator)
 
 AZ_RTTI (SwapChain, "{0C666E76-E4B7-4097-8D14-713DC2C446EF}")
 
SwapChain::ViewGetView (AZ::u32 swapChainIndex) const
 Returns the view swap chain related to the index.
 
SwapChain::ImageGetImage (AZ::u32 imageIndex, AZ::u32 swapChainIndex) const
 
AZ::RHI::ResultCode Init (const Descriptor &descriptor)
 Initialize the XR swapchain.
 
const DescriptorGetDescriptor () const
 Get the descriptor.
 
AZ::u32 GetNumViews () const
 Get the number of Xr views.
 
virtual AZ::RHI::ResultCode GetSwapChainImage (AZ::RHI::XRSwapChainDescriptor *swapchainDescriptor) const =0
 Api to allow the back end object to return the requested native swapchain image.
 
virtual AZ::u32 GetSwapChainWidth (AZ::u32 viewIndex) const =0
 Api to allow the back end to report the recommended swapchain width.
 
virtual AZ::u32 GetSwapChainHeight (AZ::u32 viewIndex) const =0
 Api to allow the back end to report the recommended swapchain height.
 
virtual AZ::RHI::Format GetSwapChainFormat (AZ::u32 viewIndex) const =0
 Api to allow the back end to report the swapchain format.
 
- 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.
 

Protected Attributes

AZ::u32 m_numViews = 0
 Number of Xr views.
 
AZStd::vector< Ptr< SwapChain::View > > m_viewSwapchains
 Vector to hold all the SwapChain View objects.
 

Detailed Description

This class will be responsible for creating multiple XR::SwapChain::ViewSwapchains (one per view). Each XR::SwapChain::ViewSwapchain will then be responsible for manging and synchronizing multiple swap chain images

Member Function Documentation

◆ GetImage()

SwapChain::Image * XR::SwapChain::GetImage ( AZ::u32  imageIndex,
AZ::u32  swapChainIndex 
) const

Returns the image associated with the provided image index and view swap chain index.


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