OpenXRAPIExtension
继承: RefCounted
< Object
Makes the OpenXR API available for GDExtension.
描述
OpenXRAPIExtension makes OpenXR available for GDExtension. It provides the OpenXR API to GDExtension through the get_instance_proc_addr
method, and the OpenXR instance through 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.
方法
枚举
enum OpenXRAlphaBlendModeSupport:
OpenXRAlphaBlendModeSupport OPENXR_ALPHA_BLEND_MODE_SUPPORT_NONE = 0
Means that XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND
isn't supported at all.
OpenXRAlphaBlendModeSupport OPENXR_ALPHA_BLEND_MODE_SUPPORT_REAL = 1
Means that XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND
is really supported.
OpenXRAlphaBlendModeSupport OPENXR_ALPHA_BLEND_MODE_SUPPORT_EMULATING = 2
Means that XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND
is emulated.
方法说明
void
begin_debug_label_region ( label_name: String
)
Begins a new debug label region, this label will be reported in debug messages for any calls following this until end_debug_label_region
is called. Debug labels can be stacked.
bool
can_render ( )
Returns true
if OpenXR is initialized for rendering with an XR viewport.
void
end_debug_label_region ( )
Marks the end of a debug label region. Removes the latest debug label region added by calling begin_debug_label_region
.
String
get_error_string ( result: int
)
Returns an error string for the given XrResult.
int
get_hand_tracker ( hand_index: int
)
Returns the corresponding XRHandTrackerEXT
handle for the given hand index value.
int
get_instance ( )
Returns the XrInstance created during the initialization of the OpenXR API.
int
get_instance_proc_addr ( name: String
)
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 0
.
Note: openxr/util.h
contains utility macros for acquiring OpenXR functions, e.g. GDEXTENSION_INIT_XR_FUNC_V(xrCreateAction)
.
int
get_next_frame_time ( )
Returns the predicted display timing for the next frame.
int
get_play_space ( )
Returns the play space, which is an XrSpace cast to an integer.
int
get_predicted_display_time ( )
Returns the predicted display timing for the current frame.
int
get_session ( )
Returns the OpenXR session, which is an XrSession cast to an integer.
String
get_swapchain_format_name ( swapchain_format: int
)
Returns the name of the specified swapchain format.
int
get_system_id ( )
Returns the id of the system, which is a XrSystemId cast to an integer.
void
insert_debug_label ( label_name: String
)
Inserts a debug label, this label is reported in any debug message resulting from the OpenXR calls that follows, until any of begin_debug_label_region
, end_debug_label_region
, or insert_debug_label
is called.
OpenXRAlphaBlendModeSupport is_environment_blend_mode_alpha_supported ( )
Returns OpenXRAlphaBlendModeSupport denoting if XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND
is really supported, emulated or not supported at all.
bool
is_initialized ( )
Returns true
if OpenXR is initialized.
bool
is_running ( )
Returns true
if OpenXR is running (xrBeginSession was successfully called and the swapchains were created).
bool
openxr_is_enabled ( check_run_in_editor: bool
) static1
Returns true
if OpenXR is enabled.
void
register_composition_layer_provider ( extension: OpenXRExtensionWrapperExtension
)
Registers the given extension as a composition layer provider.
void
set_emulate_environment_blend_mode_alpha_blend ( enabled: bool
)
If set to true
, an OpenXR extension is loaded which is capable of emulating the XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND
blend mode.
void
set_object_name ( object_type: int
, object_handle: int
, object_name: String
)
Set the object name of an OpenXR object, used for debug output. object_type
must be a valid OpenXR XrObjectType
enum and object_handle
must be a valid OpenXR object handle.
Transform3D
transform_from_pose ( pose: const void*
)
Creates a Transform3D
from an XrPosef.
void
unregister_composition_layer_provider ( extension: OpenXRExtensionWrapperExtension
)
Unregisters the given extension as a composition layer provider.
bool
xr_result ( result: int
, format: String
, args: Array
)
Returns true
if the provided XrResult (cast to an integer) is successful. Otherwise returns false
and prints the XrResult converted to a string, with the specified additional information.
本方法通常需要用户覆盖才能生效。
本方法无副作用,不会修改该实例的任何成员变量。
本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。
本方法用于构造某个类型。
调用本方法无需实例,可直接使用类名进行调用。
本方法描述的是使用本类型作为左操作数的有效运算符。
这个值是由下列位标志构成位掩码的整数。
无返回值。