OpenXRExtensionWrapper

Наследует: Object

Наследуется от: OpenXRExtensionWrapperExtension, OpenXRFutureExtension, OpenXRRenderModelExtension

Позволяет реализовывать расширения OpenXR с помощью GDExtension.

Описание

OpenXRExtensionWrapper позволяет реализовать расширения OpenXR с помощью GDExtension. Расширение должно быть зарегистрировано с помощью register_extension_wrapper().

Методы

int

_get_composition_layer(index: int) virtual

int

_get_composition_layer_count() virtual

int

_get_composition_layer_order(index: int) virtual

Dictionary

_get_requested_extensions() virtual

PackedStringArray

_get_suggested_tracker_names() virtual

Array[Dictionary]

_get_viewport_composition_layer_extension_properties() virtual

Dictionary

_get_viewport_composition_layer_extension_property_defaults() virtual

void

_on_before_instance_created() virtual

bool

_on_event_polled(event: const void*) virtual

void

_on_instance_created(instance: int) virtual

void

_on_instance_destroyed() virtual

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

void

_on_process() virtual

void

_on_register_metadata() virtual

void

_on_session_created(session: int) 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

void

_on_sync_actions() virtual

void

_on_viewport_composition_layer_destroyed(layer: const void*) virtual

int

_set_android_surface_swapchain_create_info_and_get_next_pointer(property_values: Dictionary, next_pointer: void*) virtual

int

_set_frame_end_info_and_get_next_pointer(next_pointer: void*) virtual

int

_set_frame_wait_info_and_get_next_pointer(next_pointer: void*) virtual

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

int

_set_projection_views_and_get_next_pointer(view_index: int, next_pointer: void*) virtual

int

_set_reference_space_create_info_and_get_next_pointer(reference_space_type: int, next_pointer: void*) virtual

int

_set_session_create_and_get_next_pointer(next_pointer: void*) virtual

int

_set_swapchain_create_info_and_get_next_pointer(next_pointer: void*) virtual

int

_set_system_properties_and_get_next_pointer(next_pointer: void*) virtual

int

_set_view_locate_info_and_get_next_pointer(next_pointer: void*) virtual

int

_set_viewport_composition_layer_and_get_next_pointer(layer: const void*, property_values: Dictionary, next_pointer: void*) virtual

OpenXRAPIExtension

get_openxr_api()

void

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() 🔗

Регистрирует расширение. Это должно произойти на уровне инициализации основного модуля.