XR system interface.
More...
#include <XRSystem.h>
XR system interface.
Typical usage:
xrDesc.applicationName = "MyApp";
rDesc.rendererModule = "Vulkan";
const auto views = xr->GetViewConfigurations();
XR session interface.
Definition XRSession.h:79
static XRSystemPtr Load(const XRSystemDescriptor &xrSystemDesc, Report *report=nullptr)
Loads and brings up an XR runtime.
std::unique_ptr< RenderSystem, RenderSystemDeleter > RenderSystemPtr
Unique pointer type for the RenderSystem interface with a custom deleter.
Definition RenderSystem.h:105
std::unique_ptr< XRSystem > XRSystemPtr
Unique pointer type for the XRSystem interface.
Definition XRSystem.h:35
Render system descriptor structure.
Definition RenderSystemFlags.h:333
XR session descriptor structure.
Definition XRSystemFlags.h:190
XR system descriptor structure.
Definition XRSystemFlags.h:109
- See also
- XRSession
-
XRSwapChain
◆ ~XRSystem()
| LLGL::XRSystem::~XRSystem |
( |
| ) |
|
◆ XRSystem()
| LLGL::XRSystem::XRSystem |
( |
| ) |
|
|
protected |
Allocates the internal data.
◆ CreateRenderSystem()
Creates an LLGL::RenderSystem whose underlying graphics device satisfies the XR runtime's binding requirements.
- Parameters
-
| [in] | renderSystemDesc | Specifies the render system descriptor. |
| [out] | report | Optional pointer to a report on failure. |
- Returns
- Unique pointer to a render system, or null on failure.
- See also
- RenderSystemDescriptor
◆ CreateSession()
Creates a new XR session bound to the given render system.
- Parameters
-
| [in] | sessionDesc | Specifies the XR session descriptor. |
| [in] | renderSystem | The renderer to bind the session to. Must have been obtained from CreateRenderSystem on this same XRSystem instance. |
- Returns
- Pointer to the new XRSession, or null on failure.
◆ GetNativeHandle()
| virtual bool LLGL::XRSystem::GetNativeHandle |
( |
void * | nativeHandle, |
|
|
std::size_t | nativeHandleSize ) |
|
pure virtual |
Returns the native handle of this XR system.
- Parameters
-
| [out] | nativeHandle | Pointer to the backend-specific native handle structure. Obtain it from #include <LLGL/Backend/OpenXR/NativeHandle.h>. |
| [in] | nativeHandleSize | Size (in bytes) of the native handle structure. |
- Returns
- True if the native handle was successfully retrieved.
- See also
- OpenXR::SystemNativeHandle
◆ GetReport()
| virtual const Report * LLGL::XRSystem::GetReport |
( |
| ) |
const |
|
pure virtual |
Returns a pointer to the report or null if there is none.
◆ GetRuntimeName()
| virtual const char * LLGL::XRSystem::GetRuntimeName |
( |
| ) |
const |
|
pure virtual |
Returns the runtime name reported by the active OpenXR runtime (e.g. "SteamVR" or "Monado").
◆ GetViewConfigurations()
Returns the view configuration entries for the form factor selected at load time.
◆ Load()
Loads and brings up an XR runtime.
- Parameters
-
| [in] | xrSystemDesc | Specifies the XR system descriptor. |
| [out] | report | Optional pointer to a report on failure of loading the XR runtime. |
- Returns
- Unique pointer to the new XR system, or null on failure (in which case
report is populated if provided).
◆ PollEvents()
| virtual bool LLGL::XRSystem::PollEvents |
( |
| ) |
|
|
pure virtual |
Polls the OpenXR runtime for events.
◆ Release()
| virtual void LLGL::XRSystem::Release |
( |
XRSession & | session | ) |
|
|
pure virtual |
Releases the specified session. After this call, the session must no longer be used.
◆ Unload()
Unloads the specified XR system.
The documentation for this class was generated from the following file: