ezEngine  Release 25.03
ezXRInterface Class Referenceabstract

XR singleton interface. Needs to be initialized to be used for VR or AR purposes. More...

#include <XRInterface.h>

Inheritance diagram for ezXRInterface:

Public Member Functions

virtual bool IsHmdPresent () const =0
 Returns whether an HMD is available. Can be used to decide whether it makes sense to call Initialize at all.
 
Setup
virtual ezResult Initialize ()=0
 Initializes the XR system. This can be quite time consuming as it will generally start supporting applications needed to run and start up the HMD if it went to sleep.
 
virtual void Deinitialize ()=0
 Shuts down the XR system again.
 
virtual bool IsInitialized () const =0
 Returns whether the XR system is initialized.
 
Devices
virtual const ezHMDInfoGetHmdInfo () const =0
 Returns general HMD information.
 
virtual ezXRInputDeviceGetXRInput () const =0
 Returns the XR input device.
 
View
virtual bool SupportsCompanionView ()=0
 Returns true if a companion window can be passed into CreateActor.
 
virtual ezUniquePtr< ezActorCreateActor (ezView *pView, ezGALMSAASampleCount::Enum msaaCount=ezGALMSAASampleCount::None, ezUniquePtr< ezWindowBase > pCompanionWindow=nullptr, ezUniquePtr< ezWindowOutputTargetGAL > pCompanionWindowOutput=nullptr)=0
 Creates a XR actor by trying to startup an XR session. More...
 
Internal
virtual ezGALTextureHandle GetCurrentTexture ()=0
 Called by ezWindowOutputTargetXR::RenderCompanionView Returns the color texture to be used by the companion view if enabled, otherwise an invalid handle.
 
virtual void OnActorDestroyed ()=0
 Called when the actor created by 'CreateActor' is destroyed.
 

Detailed Description

XR singleton interface. Needs to be initialized to be used for VR or AR purposes.

To be used in a project the project needs to have an enabled ezXRConfig with a set render pipeline in the platform profile. To then use the interface, Initialize must be called first and on success CreateActor. Everything else is optional. Aquire interface via ezSingletonRegistry::GetSingletonInstance<ezXRInterface>().

Member Function Documentation

◆ CreateActor()

virtual ezUniquePtr<ezActor> ezXRInterface::CreateActor ( ezView pView,
ezGALMSAASampleCount::Enum  msaaCount = ezGALMSAASampleCount::None,
ezUniquePtr< ezWindowBase pCompanionWindow = nullptr,
ezUniquePtr< ezWindowOutputTargetGAL pCompanionWindowOutput = nullptr 
)
pure virtual

Creates a XR actor by trying to startup an XR session.

If SupportsCompanionView is true (VR only), a normal window and window output can be passed in. The window will be used to blit the VR output into the window.

Implemented in ezOpenXR, and ezDummyXR.


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