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::RPI::XRRenderingInterface Class Referenceabstract

This class contains the interface related to XR but significant to RPI level functionality. More...

#include <XRRenderingInterface.h>

Public Member Functions

 AZ_CLASS_ALLOCATOR (XRRenderingInterface, AZ::SystemAllocator)
 
 AZ_RTTI (XRRenderingInterface, "{18177EAF-3014-4349-A28F-BF58442FFC2B}")
 
virtual AZ::RHI::ResultCode InitInstance ()=0
 This api is used to create a XRInstance.
 
virtual void AcquireSwapChainImage (const AZ::u32 viewIndex)=0
 This api is used to acquire swapchain image for the provided view index.
 
virtual AZ::u32 GetNumViews () const =0
 Return the number of views associated with the device.
 
virtual bool ShouldRender () const =0
 Returns true if rendering data is valid for the current frame.
 
virtual AZ::u32 GetSwapChainWidth (const AZ::u32 viewIndex) const =0
 Return the swapChain width (in pixels) associated with the view index.
 
virtual AZ::u32 GetSwapChainHeight (const AZ::u32 viewIndex) const =0
 Return the swapChain height (in pixels) associated with the view index.
 
virtual AZ::RHI::Format GetSwapChainFormat (const AZ::u32 viewIndex) const =0
 Return the swapChain format associated with the view index.
 
virtual AZ::RHI::ResultCode GetViewFov (const AZ::u32 viewIndex, AZ::RPI::FovData &outFovData) const =0
 Return the Fov data (in radians) associated with provided view index.
 
virtual RHI::ResultCode GetViewPose (const AZ::u32 viewIndex, PoseData &outPoseData) const =0
 Return the Pose data associated with provided view index.
 
virtual RHI::ResultCode GetControllerPose (const AZ::u32 handIndex, PoseData &outPoseData) const =0
 Return the controller Pose data associated with provided hand Index.
 
virtual RHI::ResultCode GetViewFrontPose (PoseData &outPoseData) const =0
 Return the Pose data associated with front view.
 
virtual RHI::ResultCode GetViewLocalPose (PoseData &outPoseData) const =0
 
virtual RHI::ResultCode GetControllerStagePose (const AZ::u32 handIndex, PoseData &outPoseData) const =0
 Return the Pose data associated with local view translated and Rotated by 60 deg left or right based on handIndex.
 
virtual float GetControllerScale (const AZ::u32 handIndex) const =0
 Return the controller scale data associated with provided hand Index.
 
virtual AZ::Matrix4x4 CreateStereoscopicProjection (float angleLeft, float angleRight, float angleBottom, float angleTop, float nearDist, float farDist, bool reverseDepth)=0
 Creates an off-center projection matrix suitable for VR. Angles are in radians and distance is in meters.
 
virtual AZ::RHI::XRRenderingInterfaceGetRHIXRRenderingInterface ()=0
 Returns the XR specific RHI rendering interface.
 
virtual float GetXButtonState () const =0
 Return the X button state from the controller.
 
virtual float GetYButtonState () const =0
 Return the Y button state from the controller.
 
virtual float GetAButtonState () const =0
 Return the A button state from the controller.
 
virtual float GetBButtonState () const =0
 Return the B button state from the controller.
 
virtual float GetXJoyStickState (const AZ::u32 handIndex) const =0
 Return the controller related joystick state for x-axis.
 
virtual float GetYJoyStickState (const AZ::u32 handIndex) const =0
 Return the controller related joystick state for y-axis.
 
virtual float GetSqueezeState (const AZ::u32 handIndex) const =0
 Return the X button state from the controller.
 
virtual float GetTriggerState (const AZ::u32 handIndex) const =0
 Return the X button state from the controller.
 
virtual AZ::Data::Instance< AZ::RPI::AttachmentImageInitPassFoveatedAttachment (const PassTemplate &passTemplate, const RHI::XRFoveatedLevel *level=nullptr) const
 

Detailed Description

This class contains the interface related to XR but significant to RPI level functionality.

Member Function Documentation

◆ GetViewLocalPose()

virtual RHI::ResultCode AZ::RPI::XRRenderingInterface::GetViewLocalPose ( PoseData outPoseData) const
pure virtual

Return the Pose data associated with local view. This pose tracks center Local space which is world-locked origin, gravity-aligned to exclude pitch and roll, with +Y up, +X to the right, and -Z forward.

◆ InitPassFoveatedAttachment()

virtual AZ::Data::Instance< AZ::RPI::AttachmentImage > AZ::RPI::XRRenderingInterface::InitPassFoveatedAttachment ( const PassTemplate passTemplate,
const RHI::XRFoveatedLevel *  level = nullptr 
) const
inlinevirtual

Initialize a shading rate image attachment of a pass template with contents suitable for a foveated level. Returns the image that was created and initialized. If no foveated level is specified, the value will be retrieved from the settings registry.


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