Skyscraper 2.0
Ogre::OpenXRState Class Reference

#include <OgreOpenXRState.h>

Collaboration diagram for Ogre::OpenXRState:

Public Member Functions

 OpenXRState ()
 
void Initialize (const std::string &applicationName)
 
void InitializeSystem ()
 
const LUID GetAdapterLUID ()
 
xr::SessionHandleGetSession ()
 
const xr::InstanceHandleGetInstanceHandle ()
 
const uint64_t GetSystemId ()
 
void GetSystemProperties (XrSystemProperties &systemProperties)
 
std::tuple< DXGI_FORMAT, DXGI_FORMAT > SelectSwapchainPixelFormats ()
 
void initializeSession (D3D11Device &device)
 
XrEnvironmentBlendMode * GetEnvironmentBlendModes ()
 
xr::SpaceHandlegetAppSpace ()
 

Static Public Attributes

static constexpr XrViewConfigurationType primaryViewConfigType { XR_VIEW_CONFIGURATION_TYPE_PRIMARY_STEREO }
 

Private Attributes

std::unique_ptr< OpenXRInstancem_xrInstance
 
uint64_t _systemId
 
xr::SessionHandle _sessionHandle
 
std::vector< XrEnvironmentBlendMode > environmentBlendModes
 
xr::SpaceHandle _appSpace
 
XrReferenceSpaceType _appSpaceType { XR_REFERENCE_SPACE_TYPE_LOCAL }
 

Static Private Attributes

static constexpr XrFormFactor _formFactor { XR_FORM_FACTOR_HEAD_MOUNTED_DISPLAY }
 

Detailed Description

A container for all the state that is required between Ogre and an OpenXR device, the instance, system, session etc.

Definition at line 39 of file OgreOpenXRState.h.

Constructor & Destructor Documentation

◆ OpenXRState()

Ogre::OpenXRState::OpenXRState ( )

Definition at line 28 of file OgreOpenXRState.cpp.

Member Function Documentation

◆ GetAdapterLUID()

const LUID Ogre::OpenXRState::GetAdapterLUID ( )

Definition at line 80 of file OgreOpenXRState.cpp.

References _systemId, CHECK_XRCMD, and m_xrInstance.

Referenced by initializeSession().

◆ getAppSpace()

xr::SpaceHandle & Ogre::OpenXRState::getAppSpace ( )

Definition at line 179 of file OgreOpenXRState.cpp.

References _appSpace.

Referenced by Ogre::OpenXRViewProjection::UpdateXrViewInfo().

◆ GetEnvironmentBlendModes()

XrEnvironmentBlendMode * Ogre::OpenXRState::GetEnvironmentBlendModes ( )

Definition at line 174 of file OgreOpenXRState.cpp.

References environmentBlendModes.

◆ GetInstanceHandle()

const xr::InstanceHandle & Ogre::OpenXRState::GetInstanceHandle ( )

◆ GetSession()

xr::SessionHandle & Ogre::OpenXRState::GetSession ( )

◆ GetSystemId()

const uint64_t Ogre::OpenXRState::GetSystemId ( )

◆ GetSystemProperties()

void Ogre::OpenXRState::GetSystemProperties ( XrSystemProperties & systemProperties)

Definition at line 98 of file OgreOpenXRState.cpp.

References _systemId, CHECK_XRCMD, and m_xrInstance.

Referenced by Ogre::OpenXRSwapchain::Initialize().

◆ Initialize()

void Ogre::OpenXRState::Initialize ( const std::string & applicationName)

Definition at line 33 of file OgreOpenXRState.cpp.

References m_xrInstance.

◆ initializeSession()

void Ogre::OpenXRState::initializeSession ( D3D11Device & device)

◆ InitializeSystem()

void Ogre::OpenXRState::InitializeSystem ( )

◆ SelectSwapchainPixelFormats()

std::tuple< DXGI_FORMAT, DXGI_FORMAT > Ogre::OpenXRState::SelectSwapchainPixelFormats ( )

Definition at line 124 of file OgreOpenXRState.cpp.

References _sessionHandle, CHECK, CHECK_XRCMD, xr::UniqueXrHandle< HandleType >::Get(), and THROW.

Referenced by Ogre::OpenXRSwapchain::Initialize().

Here is the call graph for this function:

Member Data Documentation

◆ _appSpace

xr::SpaceHandle Ogre::OpenXRState::_appSpace
private

Definition at line 63 of file OgreOpenXRState.h.

Referenced by getAppSpace(), and initializeSession().

◆ _appSpaceType

XrReferenceSpaceType Ogre::OpenXRState::_appSpaceType { XR_REFERENCE_SPACE_TYPE_LOCAL }
private

Definition at line 64 of file OgreOpenXRState.h.

Referenced by initializeSession().

◆ _formFactor

XrFormFactor Ogre::OpenXRState::_formFactor { XR_FORM_FACTOR_HEAD_MOUNTED_DISPLAY }
staticconstexprprivate

Definition at line 61 of file OgreOpenXRState.h.

Referenced by InitializeSystem().

◆ _sessionHandle

xr::SessionHandle Ogre::OpenXRState::_sessionHandle
private

Definition at line 58 of file OgreOpenXRState.h.

Referenced by GetSession(), initializeSession(), and SelectSwapchainPixelFormats().

◆ _systemId

uint64_t Ogre::OpenXRState::_systemId
private

◆ environmentBlendModes

std::vector<XrEnvironmentBlendMode> Ogre::OpenXRState::environmentBlendModes
private

Definition at line 59 of file OgreOpenXRState.h.

Referenced by GetEnvironmentBlendModes(), and InitializeSystem().

◆ m_xrInstance

std::unique_ptr<OpenXRInstance> Ogre::OpenXRState::m_xrInstance
private

◆ primaryViewConfigType

XrViewConfigurationType Ogre::OpenXRState::primaryViewConfigType { XR_VIEW_CONFIGURATION_TYPE_PRIMARY_STEREO }
staticconstexpr

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