Open 3D Engine Atom 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.
AZ::RHI::XRRenderingInterface Class Referenceabstract

The class defines the XR specific RHI rendering interface. More...

#include <XRRenderingInterface.h>

Public Member Functions

 AZ_CLASS_ALLOCATOR (XRRenderingInterface, AZ::SystemAllocator)
 
 AZ_RTTI (XRRenderingInterface, "{D1D99CEF-30E5-4690-9D91-36C0029436FD}")
 
virtual AZ::u32 GetNumPhysicalDevices () const =0
 Rendering api to get the number of physical devices.
 
virtual AZ::RHI::ResultCode GetXRPhysicalDevice (AZ::RHI::XRPhysicalDeviceDescriptor *physicalDeviceDescriptor, int32_t index)=0
 Rendering api to get the physical devices associated with a specific index.
 
virtual AZ::RHI::ResultCode CreateDevice (AZ::RHI::XRDeviceDescriptor *instanceDescriptor)=0
 Rendering api to create a XR specific native object.
 
virtual AZ::RHI::ResultCode CreateSession (AZ::RHI::XRSessionDescriptor *sessionDescriptor)=0
 Rendering api to create a XR Session.
 
virtual AZ::RHI::ResultCode CreateSwapChain ()=0
 
virtual void BeginFrame ()=0
 
virtual void EndFrame ()=0
 
virtual void PostFrame ()=0
 
virtual AZ::RHI::ResultCode GetSwapChainImage (AZ::RHI::XRSwapChainDescriptor *swapchainDescriptor) const =0
 Rendering api to get the native swapchain image to write into.
 
virtual AZ::u32 GetCurrentImageIndex (AZ::u32 viewIndex) const =0
 Rendering api to get the active swapchain image index associated with the swapchain of the provided view index.
 
virtual bool IsDefaultRenderPipelineNeeded () const =0
 Returns whether the default render pipeline is necessary or not.
 
virtual bool IsDefaultRenderPipelineEnabledOnHost () const =0
 Returns whether to render or not on host platforms at the same time rendering on XR device.
 
virtual AZ::RHI::ResultCode InitVariableRateShadingImageContent (AZ::RHI::Image *image, XRFoveatedLevel level) const =0
 

Detailed Description

The class defines the XR specific RHI rendering interface.

Member Function Documentation

◆ BeginFrame()

virtual void AZ::RHI::XRRenderingInterface::BeginFrame ( )
pure virtual

Rendering api to signal the beginning of a frame.

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

◆ CreateSwapChain()

virtual AZ::RHI::ResultCode AZ::RHI::XRRenderingInterface::CreateSwapChain ( )
pure virtual

Rendering api to create a XR SwapChain which should internally create a xr swapchain per view as well as multiple swapchain images per xr swapchain

◆ EndFrame()

virtual void AZ::RHI::XRRenderingInterface::EndFrame ( )
pure virtual

Rendering api to signal the end of a frame.

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

◆ InitVariableRateShadingImageContent()

virtual AZ::RHI::ResultCode AZ::RHI::XRRenderingInterface::InitVariableRateShadingImageContent ( AZ::RHI::Image image,
XRFoveatedLevel  level 
) const
pure virtual

Fills the contents of an image that will be use as a variable shading rate attachment depending on the requested level of foveted rendering. The image must have the proper format and size for using as a shading rate attachment.

◆ PostFrame()

virtual void AZ::RHI::XRRenderingInterface::PostFrame ( )
pure virtual

Rendering api to signal after EndFrame has been executed.

Note
This function is called from the main thread.

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