OpenXRExtensionWrapper
Наследует: Object
Наследуется от: OpenXRExtensionWrapperExtension, OpenXRFutureExtension, OpenXRRenderModelExtension
Позволяет реализовывать расширения OpenXR с помощью GDExtension.
Описание
OpenXRExtensionWrapper позволяет реализовать расширения OpenXR с помощью GDExtension. Расширение должно быть зарегистрировано с помощью 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 должен содержать имя расширения, сопоставленное с 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 🔗
Позволяет расширениям регистрировать дополнительные метаданные контроллера. Эта функция вызывается даже тогда, когда API OpenXR не создан, так как метаданные должны быть доступны редактору.
Расширения также должны предоставлять метаданные независимо от того, поддерживаются ли они в хост-системе. Данные контроллера используются для настройки карт действий для пользователей, которые могут иметь доступ к соответствующему оборудованию.
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 меняется на ready. Это означает, что OpenXR готов настроить сеанс.
void _on_state_stopping() virtual 🔗
Вызывается, когда состояние сеанса OpenXR изменяется на остановку.
void _on_state_synchronized() virtual 🔗
Вызывается, когда состояние сеанса OpenXR меняется на синхронизированное. OpenXR также возвращается в это состояние, когда приложение теряет фокус.
void _on_state_visible() virtual 🔗
Вызывается, когда состояние сеанса OpenXR меняется на видимое. Это означает, что OpenXR теперь готов принимать кадры.
void _on_sync_actions() virtual 🔗
Вызывается, когда 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 🔗
Добавляет дополнительные структуры данных в цепочки обмена поверхностей Android, созданные OpenXRCompositionLayer.
property_values содержит значения свойств, возвращаемых _get_viewport_composition_layer_extension_properties().
int _set_frame_end_info_and_get_next_pointer(next_pointer: void*) virtual 🔗
Добавляет дополнительные структуры данных в XrFrameEndInfo.
Это будет вызвано только в том случае, если расширение ранее зарегистрировало себя с помощью OpenXRAPIExtension.register_frame_info_extension().
int _set_frame_wait_info_and_get_next_pointer(next_pointer: void*) virtual 🔗
Добавляет дополнительные структуры данных в XrFrameWaitInfo.
Это будет вызвано только в том случае, если расширение ранее зарегистрировало себя с помощью OpenXRAPIExtension.register_frame_info_extension().
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_reference_space_create_info_and_get_next_pointer(reference_space_type: int, next_pointer: void*) virtual 🔗
Добавляет дополнительные структуры данных в XrReferenceSpaceCreateInfo.
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_view_locate_info_and_get_next_pointer(next_pointer: void*) virtual 🔗
Добавляет дополнительные структуры данных в XrViewLocateInfo.
Это будет вызвано только в том случае, если расширение ранее зарегистрировало себя с помощью OpenXRAPIExtension.register_frame_info_extension().
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, который можно использовать для доступа к API OpenXR.
void register_extension_wrapper() 🔗
Регистрирует расширение. Это должно произойти на уровне инициализации основного модуля.