OpenXRExtensionWrapperExtension¶
继承: Object
允许客户端使用 S3Extension 实现 OpenXR 扩展。
描述¶
OpenXRExtensionWrapperExtension 允许客户端使用 S3Extension 实现 OpenXR 扩展。扩展应该使用 register_extension_wrapper() 注册。
方法¶
方法说明¶
int _get_composition_layer(index: int) virtual 🔗
返回一个指向 XrCompositionLayerBaseHeader 结构体的指针,以便提供指定的合成层。
只有在之前已通过 OpenXRAPIExtension.register_composition_layer_provider() 方法注册了扩展程序的情况下,才会调用此函数。
int _get_composition_layer_count() virtual 🔗
返回此扩展包装器通过 _get_composition_layer() 方法所提供的合成图层的数量。
只有在之前已通过 OpenXRAPIExtension.register_composition_layer_provider() 方法注册了扩展程序的情况下,才会调用此函数。
int _get_composition_layer_order(index: int) virtual 🔗
返回一个整数值,该值将用于对通过 _get_composition_layer() 提供的给定合成层进行排序。较小的数字会使该层位于列表的前端,较大的数字则位于末尾。默认投影层的顺序为 0,因此通过此方法提供的层应该高于或低于(但不完全等于) 0 。
只有在之前已通过 OpenXRAPIExtension.register_composition_layer_provider() 方法注册了扩展程序的情况下,才会调用此函数。
Dictionary _get_requested_extensions() virtual 🔗
返回一个与该扩展相关的 OpenXR 扩展的 Dictionary 。该 Dictionary 应包含扩展的名称,并将其映射为一个 bool * 类型转换为整数的值:
如果
bool *指针的值为nullptr,那么此扩展功能就是必须具备的。如果
bool *所指向的是一个布尔值,那么当扩展功能被启用时,该布尔值将被更新为true。
PackedStringArray _get_suggested_tracker_names() virtual 🔗
返回扩展包装器中使用的位置跟踪器名称的 PackedStringArray。
Array[Dictionary] _get_viewport_composition_layer_extension_properties() virtual 🔗
获取表示属性的 Dictionary 数组,就像 Object._get_property_list() 一样,将被添加到 OpenXRCompositionLayer 节点。
Dictionary _get_viewport_composition_layer_extension_property_defaults() virtual 🔗
获取一个 Dictionary,其中包含 _get_viewport_composition_layer_extension_properties() 返回的属性的默认值。
void _on_before_instance_created() virtual 🔗
在创建 OpenXR 实例之前调用。
bool _on_event_polled(event: const void*) virtual 🔗
当有 OpenXR 事件需要处理时调用。实现时,如果事件已被处理,则返回 true,否则返回 false。
void _on_instance_created(instance: int) virtual 🔗
在创建 OpenXR 实例后立即调用。
void _on_instance_destroyed() virtual 🔗
在 OpenXR 实例被销毁之前调用。
void _on_main_swapchains_created() virtual 🔗
在主交换链(重新)创建后立即调用。
void _on_post_draw_viewport(viewport: RID) virtual 🔗
在给定的视口渲染完成后立即调用。
注意: 此时,这些绘制指令可能只是被加入到队列中,而并未被执行。
void _on_pre_draw_viewport(viewport: RID) virtual 🔗
在给定视口渲染之前被调用。
void _on_pre_render() virtual 🔗
在 XR 视口开始其渲染步进之前调用。
void _on_process() virtual 🔗
作为 OpenXR 进程处理的一部分调用。这发生在主循环的一般和物理处理步进之前。在该步进中,控制器数据被查询并可供应用逻辑使用。
void _on_register_metadata() virtual 🔗
允许扩展程序注册额外的控制器元数据。即便在未构建 OpenXR API 的情况下也会调用此函数,因为这些元数据需要提供给编辑器使用。
扩展功能还应提供元数据,无论这些功能在主机系统中是否得到支持。控制器数据用于为可能拥有相关硬件访问权限的用户设置操作映射。
void _on_session_created(session: int) 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 现在已准备好接收帧。
void _on_viewport_composition_layer_destroyed(layer: const void*) virtual 🔗
当通过 OpenXRCompositionLayer 创建的合成层被销毁时会触发此事件。
layer 是一个指向 XrCompositionLayerBaseHeader 结构体的指针。
int _set_android_surface_swapchain_create_info_and_get_next_pointer(property_values: Dictionary, next_pointer: void*) virtual 🔗
为由 OpenXRCompositionLayer 创建的 Android 屏幕交换链添加了额外的数据结构。
property_values 包含了由 _get_viewport_composition_layer_extension_properties() 方法返回的属性的值。
int _set_hand_joint_locations_and_get_next_pointer(hand_index: int, next_pointer: void*) virtual 🔗
当每个手部跟踪器被创建时添加额外的数据结构。
int _set_instance_create_info_and_get_next_pointer(next_pointer: void*) virtual 🔗
创建 OpenXR 实例时添加额外的数据结构。
int _set_projection_views_and_get_next_pointer(view_index: int, next_pointer: void*) virtual 🔗
为给定的 view_index 所对应的投影视图添加了额外的数据结构。
int _set_session_create_and_get_next_pointer(next_pointer: void*) virtual 🔗
创建 OpenXR 会话时添加额外的数据结构。
int _set_swapchain_create_info_and_get_next_pointer(next_pointer: void*) virtual 🔗
创建 OpenXR 交换链时添加额外的数据结构。
int _set_system_properties_and_get_next_pointer(next_pointer: void*) virtual 🔗
查询 OpenXR 系统能力时添加额外的数据结构。
int _set_viewport_composition_layer_and_get_next_pointer(layer: const void*, property_values: Dictionary, next_pointer: void*) virtual 🔗
向由 OpenXRCompositionLayer 创建的组合层中添加了额外的数据结构。
property_values 包含了由 _get_viewport_composition_layer_extension_properties() 方法返回的属性的值。
layer 是一个指向 XrCompositionLayerBaseHeader 结构体的指针。
OpenXRAPIExtension get_openxr_api() 🔗
返回创建的 OpenXRAPIExtension,可用于访问 OpenXR API。
void register_extension_wrapper() 🔗
注册扩展程序。这应该发生在核心模块初始化级别。