Up to date

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

OpenXRExtensionWrapperExtension

继承: Object

允许客户端使用 GDExtension 实现 OpenXR 扩展。

描述

OpenXRExtensionWrapperExtension 允许客户端使用 GDExtension 实现 OpenXR 扩展。扩展应该使用 register_extension_wrapper 注册。

方法

Dictionary

_get_requested_extensions ( ) virtual

void

_on_before_instance_created ( ) virtual

bool

_on_event_polled ( const void* event ) virtual

void

_on_instance_created ( int instance ) virtual

void

_on_instance_destroyed ( ) virtual

void

_on_pre_render ( ) virtual

void

_on_process ( ) virtual

void

_on_register_metadata ( ) virtual

void

_on_session_created ( int session ) virtual

void

_on_session_destroyed ( ) virtual

void

_on_state_exiting ( ) virtual

void

_on_state_focused ( ) virtual

void

_on_state_idle ( ) virtual

void

_on_state_loss_pending ( ) virtual

void

_on_state_ready ( ) virtual

void

_on_state_stopping ( ) virtual

void

_on_state_synchronized ( ) virtual

void

_on_state_visible ( ) virtual

int

_set_instance_create_info_and_get_next_pointer ( void* next_pointer ) virtual

int

_set_session_create_and_get_next_pointer ( void* next_pointer ) virtual

int

_set_swapchain_create_info_and_get_next_pointer ( void* next_pointer ) virtual

int

_set_system_properties_and_get_next_pointer ( void* next_pointer ) virtual

OpenXRAPIExtension

get_openxr_api ( )

void

register_extension_wrapper ( )


方法说明

Dictionary _get_requested_extensions ( ) virtual

返回与该扩展相关的 OpenXR 扩展的 Dictionary。该 Dictionary 应包含扩展名,映射到 bool * 转换为整数:

  • 如果 bool *nullptr,则该扩展是强制性的。

  • 如果 bool * 指向布尔值,则在启用扩展的情况下,该布尔值将更新为 true


void _on_before_instance_created ( ) virtual

在创建 OpenXR 实例之前调用。


bool _on_event_polled ( const void* event ) virtual

当有 OpenXR 事件需要处理时调用。实现时,如果事件已被处理,则返回 true,否则返回 false


void _on_instance_created ( int instance ) virtual

在创建 OpenXR 实例后立即调用。


void _on_instance_destroyed ( ) virtual

在 OpenXR 实例被销毁之前调用。


void _on_pre_render ( ) virtual

在 XR 视口开始其渲染步进之前调用。


void _on_process ( ) virtual

作为 OpenXR 进程处理的一部分调用。这发生在主循环的一般和物理处理步进之前。在该步进中,控制器数据被查询并可供游戏逻辑使用。


void _on_register_metadata ( ) virtual

允许扩展注册额外的控制器元数据。即使 OpenXR API 未被构造,也会调用该函数,因为元数据需要可供编辑器使用。

扩展还应该提供元数据,无论主机系统是否支持它们。控制器数据用于为可以访问相关硬件的用户设置动作映射。


void _on_session_created ( int session ) virtual

在创建 OpenXR 会话后立即调用。


void _on_session_destroyed ( ) virtual

在 OpenXR 会话被销毁之前调用。


void _on_state_exiting ( ) virtual

当 OpenXR 会话状态被更改为退出时调用。


void _on_state_focused ( ) virtual

当 OpenXR 会话状态被更改为聚焦时调用。该状态是游戏运行时的活动状态。


void _on_state_idle ( ) virtual

当 OpenXR 会话状态被更改为空闲时调用。


void _on_state_loss_pending ( ) virtual

当 OpenXR 会话状态被更改为丢失挂起时调用。


void _on_state_ready ( ) virtual

当 OpenXR 会话状态被更改为就绪时调用。这意味着 OpenXR 已准备好建立会话。


void _on_state_stopping ( ) virtual

当 OpenXR 会话状态被更改为停止时调用。


void _on_state_synchronized ( ) virtual

当 OpenXR 会话状态被更改为同步时调用。当应用程序失去焦点时,OpenXR 也会返回到该状态。


void _on_state_visible ( ) virtual

当 OpenXR 会话状态被更改为可见时调用。这意味着 OpenXR 现在已准备好接收帧。


int _set_instance_create_info_and_get_next_pointer ( void* next_pointer ) virtual

创建 OpenXR 实例时添加额外的数据结构。


int _set_session_create_and_get_next_pointer ( void* next_pointer ) virtual

创建 OpenXR 会话时添加额外的数据结构。


int _set_swapchain_create_info_and_get_next_pointer ( void* next_pointer ) virtual

创建 OpenXR 交换链时添加额外的数据结构。


int _set_system_properties_and_get_next_pointer ( void* next_pointer ) virtual

在询问 OpenXR 系统功能时添加额外的数据结构。


OpenXRAPIExtension get_openxr_api ( )

返回创建的 OpenXRAPIExtension,可用于访问 OpenXR API。


void register_extension_wrapper ( )

注册扩展程序。这应该发生在核心模块初始化级别。