Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

OpenXRAPIExtension

继承: RefCounted < Object

为 GDExtension 提供 OpenXR API。

描述

OpenXRAPIExtension 使 OpenXR 可用于 GDExtension。它通过 get_instance_proc_addr 方法向 GDExtension 提供 OpenXR API,并通过 get_instance 提供 OpenXR 实例。

它还提供了用于查询 OpenXR 初始化状态的方法,以及便于通过 GDExtension 使用 API 的辅助方法。

教程

方法

bool

can_render ( )

String

get_error_string ( int result )

int

get_instance ( )

int

get_instance_proc_addr ( String name )

int

get_next_frame_time ( )

int

get_play_space ( )

int

get_session ( )

String

get_swapchain_format_name ( int swapchain_format )

int

get_system_id ( )

bool

is_initialized ( )

bool

is_running ( )

bool

openxr_is_enabled ( bool check_run_in_editor ) static

Transform3D

transform_from_pose ( const void* pose )

bool

xr_result ( int result, String format, Array args )


方法说明

bool can_render ( )

如果 OpenXR 已为使用 XR 视口进行渲染而初始化,则返回 true


String get_error_string ( int result )

返回给定 XrResult 对应的错误字符串。


int get_instance ( )

返回 OpenXR API 初始化过程中创建的 XrInstance


int get_instance_proc_addr ( String name )

返回具有指定名称的 OpenXR 函数的函数指针,转换为整数。如果给定名称的函数不存在,该方法返回 0

注意:openxr/util.h 包含用于获取 OpenXR 函数的实用宏,例如, GDEXTENSION_INIT_XR_FUNC_V(xrCreateAction)


int get_next_frame_time ( )

返回下一帧的时间。


int get_play_space ( )

返回播放空间,它是一个被转换为整数的 XrSpace


int get_session ( )

返回该 OpenXR 会话,它是一个被转换为整数的 XrSession


String get_swapchain_format_name ( int swapchain_format )

返回指定交换链格式的名称。


int get_system_id ( )

返回系统的 id,它是一个被转换为整数的 XrSystemId


bool is_initialized ( )

如果 OpenXR 已初始化,则返回 true


bool is_running ( )

如果 OpenXR 正在运行,则返回 truexrBeginSession 已被成功调用并且交换链已被创建)。


bool openxr_is_enabled ( bool check_run_in_editor ) static

如果启用 OpenXR,则返回 true


Transform3D transform_from_pose ( const void* pose )

XrPosef 创建一个 Transform3D


bool xr_result ( int result, String format, Array args )

如果提供的 XrResult(转换为整数)是成功的,则返回 true。否则返回 false 并打印被转换为字符串的 XrResult ,以及指定的附加信息。