123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 |
- <?xml version="1.0" encoding="UTF-8" ?>
- <class name="OpenXRAPIExtension" inherits="RefCounted" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../doc/class.xsd">
- <brief_description>
- Makes the OpenXR API available for GDExtension.
- </brief_description>
- <description>
- [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.
- </description>
- <tutorials>
- <link title="XrResult documentation">https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrResult.html</link>
- <link title="XrInstance documentation">https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrInstance.html</link>
- <link title="XrSpace documentation">https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSpace.html</link>
- <link title="XrSession documentation">https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSession.html</link>
- <link title="XrSystemId documentation">https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSystemId.html</link>
- <link title="xrBeginSession documentation">https://registry.khronos.org/OpenXR/specs/1.0/man/html/xrBeginSession.html</link>
- <link title="XrPosef documentation">https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrPosef.html</link>
- </tutorials>
- <methods>
- <method name="begin_debug_label_region">
- <return type="void" />
- <param index="0" name="label_name" type="String" />
- <description>
- 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.
- </description>
- </method>
- <method name="can_render">
- <return type="bool" />
- <description>
- Returns [code]true[/code] if OpenXR is initialized for rendering with an XR viewport.
- </description>
- </method>
- <method name="end_debug_label_region">
- <return type="void" />
- <description>
- Marks the end of a debug label region. Removes the latest debug label region added by calling [method begin_debug_label_region].
- </description>
- </method>
- <method name="get_error_string">
- <return type="String" />
- <param index="0" name="result" type="int" />
- <description>
- Returns an error string for the given [url=https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrResult.html]XrResult[/url].
- </description>
- </method>
- <method name="get_hand_tracker">
- <return type="int" />
- <param index="0" name="hand_index" type="int" />
- <description>
- Returns the corresponding [code]XRHandTrackerEXT[/code] handle for the given hand index value.
- </description>
- </method>
- <method name="get_instance">
- <return type="int" />
- <description>
- 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.
- </description>
- </method>
- <method name="get_instance_proc_addr">
- <return type="int" />
- <param index="0" name="name" type="String" />
- <description>
- 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].
- </description>
- </method>
- <method name="get_next_frame_time">
- <return type="int" />
- <description>
- Returns the predicted display timing for the next frame.
- </description>
- </method>
- <method name="get_play_space">
- <return type="int" />
- <description>
- 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.
- </description>
- </method>
- <method name="get_predicted_display_time">
- <return type="int" />
- <description>
- Returns the predicted display timing for the current frame.
- </description>
- </method>
- <method name="get_session">
- <return type="int" />
- <description>
- 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.
- </description>
- </method>
- <method name="get_swapchain_format_name">
- <return type="String" />
- <param index="0" name="swapchain_format" type="int" />
- <description>
- Returns the name of the specified swapchain format.
- </description>
- </method>
- <method name="get_system_id">
- <return type="int" />
- <description>
- 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.
- </description>
- </method>
- <method name="insert_debug_label">
- <return type="void" />
- <param index="0" name="label_name" type="String" />
- <description>
- 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.
- </description>
- </method>
- <method name="is_environment_blend_mode_alpha_supported">
- <return type="int" enum="OpenXRAPIExtension.OpenXRAlphaBlendModeSupport" />
- <description>
- Returns [enum OpenXRAPIExtension.OpenXRAlphaBlendModeSupport] denoting if [constant XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND] is really supported, emulated or not supported at all.
- </description>
- </method>
- <method name="is_initialized">
- <return type="bool" />
- <description>
- Returns [code]true[/code] if OpenXR is initialized.
- </description>
- </method>
- <method name="is_running">
- <return type="bool" />
- <description>
- 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).
- </description>
- </method>
- <method name="openxr_is_enabled" qualifiers="static">
- <return type="bool" />
- <param index="0" name="check_run_in_editor" type="bool" />
- <description>
- Returns [code]true[/code] if OpenXR is enabled.
- </description>
- </method>
- <method name="register_composition_layer_provider">
- <return type="void" />
- <param index="0" name="extension" type="OpenXRExtensionWrapperExtension" />
- <description>
- Registers the given extension as a composition layer provider.
- </description>
- </method>
- <method name="set_emulate_environment_blend_mode_alpha_blend">
- <return type="void" />
- <param index="0" name="enabled" type="bool" />
- <description>
- 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.
- </description>
- </method>
- <method name="set_object_name">
- <return type="void" />
- <param index="0" name="object_type" type="int" />
- <param index="1" name="object_handle" type="int" />
- <param index="2" name="object_name" type="String" />
- <description>
- 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.
- </description>
- </method>
- <method name="transform_from_pose">
- <return type="Transform3D" />
- <param index="0" name="pose" type="const void*" />
- <description>
- Creates a [Transform3D] from an [url=https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrPosef.html]XrPosef[/url].
- </description>
- </method>
- <method name="unregister_composition_layer_provider">
- <return type="void" />
- <param index="0" name="extension" type="OpenXRExtensionWrapperExtension" />
- <description>
- Unregisters the given extension as a composition layer provider.
- </description>
- </method>
- <method name="xr_result">
- <return type="bool" />
- <param index="0" name="result" type="int" />
- <param index="1" name="format" type="String" />
- <param index="2" name="args" type="Array" />
- <description>
- 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.
- </description>
- </method>
- </methods>
- <constants>
- <constant name="OPENXR_ALPHA_BLEND_MODE_SUPPORT_NONE" value="0" enum="OpenXRAlphaBlendModeSupport">
- Means that [constant XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND] isn't supported at all.
- </constant>
- <constant name="OPENXR_ALPHA_BLEND_MODE_SUPPORT_REAL" value="1" enum="OpenXRAlphaBlendModeSupport">
- Means that [constant XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND] is really supported.
- </constant>
- <constant name="OPENXR_ALPHA_BLEND_MODE_SUPPORT_EMULATING" value="2" enum="OpenXRAlphaBlendModeSupport">
- Means that [constant XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND] is emulated.
- </constant>
- </constants>
- </class>
|