Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
OpenXRAPIExtension¶
继承: RefCounted < Object
为 GDExtension 提供 OpenXR API。
描述¶
OpenXRAPIExtension 使 OpenXR 可用于 GDExtension。它通过 get_instance_proc_addr 方法向 GDExtension 提供 OpenXR API,并通过 get_instance 提供 OpenXR 实例。
它还提供了用于查询 OpenXR 初始化状态的方法,以及便于通过 GDExtension 使用 API 的辅助方法。
教程¶
方法¶
get_error_string(result: int) |
|
get_hand_tracker(hand_index: int) |
|
get_instance_proc_addr(name: String) |
|
get_swapchain_format_name(swapchain_format: int) |
|
openxr_is_enabled(check_run_in_editor: bool) static |
|
void |
register_composition_layer_provider(extension: OpenXRExtensionWrapperExtension) |
void |
set_emulate_environment_blend_mode_alpha_blend(enabled: bool) |
transform_from_pose(pose: |
|
void |
unregister_composition_layer_provider(extension: OpenXRExtensionWrapperExtension) |
枚举¶
enum OpenXRAlphaBlendModeSupport: 🔗
OpenXRAlphaBlendModeSupport OPENXR_ALPHA_BLEND_MODE_SUPPORT_NONE = 0
表示完全不支持 XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND。
OpenXRAlphaBlendModeSupport OPENXR_ALPHA_BLEND_MODE_SUPPORT_REAL = 1
表示确实支持 XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND。
OpenXRAlphaBlendModeSupport OPENXR_ALPHA_BLEND_MODE_SUPPORT_EMULATING = 2
方法说明¶
如果 OpenXR 已为使用 XR 视口进行渲染而初始化,则返回 true。
String get_error_string(result: int) 🔗
返回给定 XrResult 对应的错误字符串。
int get_hand_tracker(hand_index: int) 🔗
返回给定手索引值的相应 XRHandTrackerEXT 句柄。
返回 OpenXR API 初始化过程中创建的 XrInstance。
int get_instance_proc_addr(name: String) 🔗
返回具有指定名称的 OpenXR 函数的函数指针,转换为整数。如果给定名称的函数不存在,该方法返回 0。
注意:openxr/util.h 包含用于获取 OpenXR 函数的实用宏,例如, GDEXTENSION_INIT_XR_FUNC_V(xrCreateAction)。
返回下一帧的预测显示时间。
返回播放空间,它是一个被转换为整数的 XrSpace。
int get_predicted_display_time() 🔗
返回当前帧的预测显示时间。
返回该 OpenXR 会话,它是一个被转换为整数的 XrSession。
String get_swapchain_format_name(swapchain_format: int) 🔗
返回指定交换链格式的名称。
返回系统的 id,它是一个被转换为整数的 XrSystemId。
OpenXRAlphaBlendModeSupport is_environment_blend_mode_alpha_supported() 🔗
返回 OpenXRAlphaBlendModeSupport 表示 XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND 是否确实受支持、模拟或根本不支持。
如果 OpenXR 已初始化,则返回 true。
如果 OpenXR 正在运行,则返回 true(xrBeginSession 已被成功调用并且交换链已被创建)。
bool openxr_is_enabled(check_run_in_editor: bool) static 🔗
如果启用 OpenXR,则返回 true。
void register_composition_layer_provider(extension: OpenXRExtensionWrapperExtension) 🔗
将给定扩展注册为组合层提供器。
void set_emulate_environment_blend_mode_alpha_blend(enabled: bool) 🔗
如果设置为 true,则会加载 OpenXR 扩展,该扩展能够模拟 XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND 混合模式。
Transform3D transform_from_pose(pose: const void*) 🔗
从 XrPosef 创建一个 Transform3D 。
void unregister_composition_layer_provider(extension: OpenXRExtensionWrapperExtension) 🔗
取消将给定扩展注册为组合层提供器。
bool xr_result(result: int, format: String, args: Array) 🔗
如果提供的 XrResult(转换为整数)是成功的,则返回 true。否则返回 false 并打印被转换为字符串的 XrResult ,以及指定的附加信息。