Makes the OpenXR API available for GDExtension.
[OpenXRAPIExtension] makes OpenXR available for GDExtension. It provides the OpenXR API to GDExtension through the [method get_instance_proc_addr] method, and the OpenXR instance through [method get_instance].
It also provides methods for querying the status of OpenXR initialization, and helper methods for ease of use of the API with GDExtension.
https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrResult.html
https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrInstance.html
https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSpace.html
https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSession.html
https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSystemId.html
https://registry.khronos.org/OpenXR/specs/1.0/man/html/xrBeginSession.html
https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrPosef.html
Returns the corresponding [code]XrAction[/code] OpenXR handle for the given action RID.
Begins a new debug label region, this label will be reported in debug messages for any calls following this until [method end_debug_label_region] is called. Debug labels can be stacked.
Returns [code]true[/code] if OpenXR is initialized for rendering with an XR viewport.
Marks the end of a debug label region. Removes the latest debug label region added by calling [method begin_debug_label_region].
Returns the [RID] corresponding to an [code]Action[/code] of a matching name, optionally limited to a specified action set.
Returns an error string for the given [url=https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrResult.html]XrResult[/url].
Returns the corresponding [code]XRHandTrackerEXT[/code] handle for the given hand index value.
Returns the [url=https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrInstance.html]XrInstance[/url] created during the initialization of the OpenXR API.
Returns the function pointer of the OpenXR function with the specified name, cast to an integer. If the function with the given name does not exist, the method returns [code]0[/code].
[b]Note:[/b] [code]openxr/util.h[/code] contains utility macros for acquiring OpenXR functions, e.g. [code]GDEXTENSION_INIT_XR_FUNC_V(xrCreateAction)[/code].
Returns the predicted display timing for the next frame.
Returns the play space, which is an [url=https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSpace.html]XrSpace[/url] cast to an integer.
Returns the predicted display timing for the current frame.
Returns a pointer to the render state's [code]XrCompositionLayerProjection[/code] struct.
[b]Note:[/b] This method should only be called from the rendering thread.
Returns the far boundary value of the camera frustum.
[b]Note:[/b] This is only accessible in the render thread.
Returns the near boundary value of the camera frustum.
[b]Note:[/b] This is only accessible in the render thread.
Returns the OpenXR session, which is an [url=https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSession.html]XrSession[/url] cast to an integer.
Returns an array of supported swapchain formats.
Returns the name of the specified swapchain format.
Returns the id of the system, which is a [url=https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSystemId.html]XrSystemId[/url] cast to an integer.
Inserts a debug label, this label is reported in any debug message resulting from the OpenXR calls that follows, until any of [method begin_debug_label_region], [method end_debug_label_region], or [method insert_debug_label] is called.
Returns [enum OpenXRAPIExtension.OpenXRAlphaBlendModeSupport] denoting if [constant XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND] is really supported, emulated or not supported at all.
Returns [code]true[/code] if OpenXR is initialized.
Returns [code]true[/code] if OpenXR is running ([url=https://registry.khronos.org/OpenXR/specs/1.0/man/html/xrBeginSession.html]xrBeginSession[/url] was successfully called and the swapchains were created).
Returns [code]true[/code] if OpenXR is enabled.
Acquires the image of the provided swapchain.
Returns a pointer to a new swapchain created using the provided parameters.
Destroys the provided swapchain and frees it from memory.
Returns the RID of the provided swapchain's image.
Returns the [code]XrSwapchain[/code] handle of the provided swapchain.
Releases the image of the provided swapchain.
Registers the given extension as a composition layer provider.
Registers the given extension as a provider of additional data structures to projections views.
If set to [code]true[/code], an OpenXR extension is loaded which is capable of emulating the [constant XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND] blend mode.
Set the object name of an OpenXR object, used for debug output. [param object_type] must be a valid OpenXR [code]XrObjectType[/code] enum and [param object_handle] must be a valid OpenXR object handle.
Sets the render region to [param render_region], overriding the normal render target's rect.
Sets the render target of the velocity depth texture.
Sets the target size of the velocity and velocity depth textures.
Sets the render target of the velocity texture.
Creates a [Transform3D] from an [url=https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrPosef.html]XrPosef[/url].
Unregisters the given extension as a composition layer provider.
Unregisters the given extension as a provider of additional data structures to projections views.
Returns [code]true[/code] if the provided [url=https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrResult.html]XrResult[/url] (cast to an integer) is successful. Otherwise returns [code]false[/code] and prints the [url=https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrResult.html]XrResult[/url] converted to a string, with the specified additional information.
Means that [constant XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND] isn't supported at all.
Means that [constant XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND] is really supported.
Means that [constant XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND] is emulated.