Files
godot-docs-l10n/classes/ru/class_openxrapiextension.rst
Rémi Verschelde c3f2364c10 Sync classref with 4.6 branch
Lots of translations invalidated (fuzzied) as we just synced Weblate.
2025-12-19 16:39:51 +01:00

781 lines
70 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

:github_url: hide
.. _class_OpenXRAPIExtension:
OpenXRAPIExtension
==================
**Наследует:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
Делает API OpenXR доступным для GDExtension.
.. rst-class:: classref-introduction-group
Описание
----------------
**OpenXRAPIExtension** делает OpenXR доступным для GDExtension. Он предоставляет API OpenXR для GDExtension через метод :ref:`get_instance_proc_addr()<class_OpenXRAPIExtension_method_get_instance_proc_addr>` и экземпляр OpenXR через :ref:`get_instance()<class_OpenXRAPIExtension_method_get_instance>`.
Он также предоставляет методы для запроса статуса инициализации OpenXR и вспомогательные методы для простоты использования API с GDExtension.
.. rst-class:: classref-introduction-group
Обучающие материалы
--------------------------------------
- `Документация XrResult <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrResult.html>`__
- `Документация XrInstance <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrInstance.html>`__
- `Документация XrSpace <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSpace.html>`__
- `Документация XrSession <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSession.html>`__
- `Документация XrSystemId <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSystemId.html>`__
- `Документация xrBeginSession <https://registry.khronos.org/OpenXR/specs/1.0/man/html/xrBeginSession.html>`__
- `Документация XrPosef <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrPosef.html>`__
.. rst-class:: classref-reftable-group
Методы
------------
.. table::
:widths: auto
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`action_get_handle<class_OpenXRAPIExtension_method_action_get_handle>`\ (\ action\: :ref:`RID<class_RID>`\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`begin_debug_label_region<class_OpenXRAPIExtension_method_begin_debug_label_region>`\ (\ label_name\: :ref:`String<class_String>`\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`can_render<class_OpenXRAPIExtension_method_can_render>`\ (\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`end_debug_label_region<class_OpenXRAPIExtension_method_end_debug_label_region>`\ (\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`find_action<class_OpenXRAPIExtension_method_find_action>`\ (\ name\: :ref:`String<class_String>`, action_set\: :ref:`RID<class_RID>`\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_error_string<class_OpenXRAPIExtension_method_get_error_string>`\ (\ result\: :ref:`int<class_int>`\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_hand_tracker<class_OpenXRAPIExtension_method_get_hand_tracker>`\ (\ hand_index\: :ref:`int<class_int>`\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_instance<class_OpenXRAPIExtension_method_get_instance>`\ (\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_instance_proc_addr<class_OpenXRAPIExtension_method_get_instance_proc_addr>`\ (\ name\: :ref:`String<class_String>`\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_next_frame_time<class_OpenXRAPIExtension_method_get_next_frame_time>`\ (\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_openxr_version<class_OpenXRAPIExtension_method_get_openxr_version>`\ (\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_play_space<class_OpenXRAPIExtension_method_get_play_space>`\ (\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_predicted_display_time<class_OpenXRAPIExtension_method_get_predicted_display_time>`\ (\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_projection_layer<class_OpenXRAPIExtension_method_get_projection_layer>`\ (\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_render_state_z_far<class_OpenXRAPIExtension_method_get_render_state_z_far>`\ (\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_render_state_z_near<class_OpenXRAPIExtension_method_get_render_state_z_near>`\ (\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_session<class_OpenXRAPIExtension_method_get_session>`\ (\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedInt64Array<class_PackedInt64Array>` | :ref:`get_supported_swapchain_formats<class_OpenXRAPIExtension_method_get_supported_swapchain_formats>`\ (\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_swapchain_format_name<class_OpenXRAPIExtension_method_get_swapchain_format_name>`\ (\ swapchain_format\: :ref:`int<class_int>`\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_system_id<class_OpenXRAPIExtension_method_get_system_id>`\ (\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`insert_debug_label<class_OpenXRAPIExtension_method_insert_debug_label>`\ (\ label_name\: :ref:`String<class_String>`\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`OpenXRAlphaBlendModeSupport<enum_OpenXRAPIExtension_OpenXRAlphaBlendModeSupport>` | :ref:`is_environment_blend_mode_alpha_supported<class_OpenXRAPIExtension_method_is_environment_blend_mode_alpha_supported>`\ (\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_initialized<class_OpenXRAPIExtension_method_is_initialized>`\ (\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_running<class_OpenXRAPIExtension_method_is_running>`\ (\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`openxr_is_enabled<class_OpenXRAPIExtension_method_openxr_is_enabled>`\ (\ check_run_in_editor\: :ref:`bool<class_bool>`\ ) |static| |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`openxr_swapchain_acquire<class_OpenXRAPIExtension_method_openxr_swapchain_acquire>`\ (\ swapchain\: :ref:`int<class_int>`\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`openxr_swapchain_create<class_OpenXRAPIExtension_method_openxr_swapchain_create>`\ (\ create_flags\: :ref:`int<class_int>`, usage_flags\: :ref:`int<class_int>`, swapchain_format\: :ref:`int<class_int>`, width\: :ref:`int<class_int>`, height\: :ref:`int<class_int>`, sample_count\: :ref:`int<class_int>`, array_size\: :ref:`int<class_int>`\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`openxr_swapchain_free<class_OpenXRAPIExtension_method_openxr_swapchain_free>`\ (\ swapchain\: :ref:`int<class_int>`\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`openxr_swapchain_get_image<class_OpenXRAPIExtension_method_openxr_swapchain_get_image>`\ (\ swapchain\: :ref:`int<class_int>`\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`openxr_swapchain_get_swapchain<class_OpenXRAPIExtension_method_openxr_swapchain_get_swapchain>`\ (\ swapchain\: :ref:`int<class_int>`\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`openxr_swapchain_release<class_OpenXRAPIExtension_method_openxr_swapchain_release>`\ (\ swapchain\: :ref:`int<class_int>`\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`register_composition_layer_provider<class_OpenXRAPIExtension_method_register_composition_layer_provider>`\ (\ extension\: :ref:`OpenXRExtensionWrapper<class_OpenXRExtensionWrapper>`\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`register_frame_info_extension<class_OpenXRAPIExtension_method_register_frame_info_extension>`\ (\ extension\: :ref:`OpenXRExtensionWrapper<class_OpenXRExtensionWrapper>`\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`register_projection_views_extension<class_OpenXRAPIExtension_method_register_projection_views_extension>`\ (\ extension\: :ref:`OpenXRExtensionWrapper<class_OpenXRExtensionWrapper>`\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_custom_play_space<class_OpenXRAPIExtension_method_set_custom_play_space>`\ (\ space\: ``const void*``\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_emulate_environment_blend_mode_alpha_blend<class_OpenXRAPIExtension_method_set_emulate_environment_blend_mode_alpha_blend>`\ (\ enabled\: :ref:`bool<class_bool>`\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_object_name<class_OpenXRAPIExtension_method_set_object_name>`\ (\ object_type\: :ref:`int<class_int>`, object_handle\: :ref:`int<class_int>`, object_name\: :ref:`String<class_String>`\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_render_region<class_OpenXRAPIExtension_method_set_render_region>`\ (\ render_region\: :ref:`Rect2i<class_Rect2i>`\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_velocity_depth_texture<class_OpenXRAPIExtension_method_set_velocity_depth_texture>`\ (\ render_target\: :ref:`RID<class_RID>`\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_velocity_target_size<class_OpenXRAPIExtension_method_set_velocity_target_size>`\ (\ target_size\: :ref:`Vector2i<class_Vector2i>`\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_velocity_texture<class_OpenXRAPIExtension_method_set_velocity_texture>`\ (\ render_target\: :ref:`RID<class_RID>`\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Transform3D<class_Transform3D>` | :ref:`transform_from_pose<class_OpenXRAPIExtension_method_transform_from_pose>`\ (\ pose\: ``const void*``\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`unregister_composition_layer_provider<class_OpenXRAPIExtension_method_unregister_composition_layer_provider>`\ (\ extension\: :ref:`OpenXRExtensionWrapper<class_OpenXRExtensionWrapper>`\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`unregister_frame_info_extension<class_OpenXRAPIExtension_method_unregister_frame_info_extension>`\ (\ extension\: :ref:`OpenXRExtensionWrapper<class_OpenXRExtensionWrapper>`\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`unregister_projection_views_extension<class_OpenXRAPIExtension_method_unregister_projection_views_extension>`\ (\ extension\: :ref:`OpenXRExtensionWrapper<class_OpenXRExtensionWrapper>`\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`update_main_swapchain_size<class_OpenXRAPIExtension_method_update_main_swapchain_size>`\ (\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`xr_result<class_OpenXRAPIExtension_method_xr_result>`\ (\ result\: :ref:`int<class_int>`, format\: :ref:`String<class_String>`, args\: :ref:`Array<class_Array>`\ ) |
+-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Перечисления
------------------------
.. _enum_OpenXRAPIExtension_OpenXRAlphaBlendModeSupport:
.. rst-class:: classref-enumeration
enum **OpenXRAlphaBlendModeSupport**: :ref:`🔗<enum_OpenXRAPIExtension_OpenXRAlphaBlendModeSupport>`
.. _class_OpenXRAPIExtension_constant_OPENXR_ALPHA_BLEND_MODE_SUPPORT_NONE:
.. rst-class:: classref-enumeration-constant
:ref:`OpenXRAlphaBlendModeSupport<enum_OpenXRAPIExtension_OpenXRAlphaBlendModeSupport>` **OPENXR_ALPHA_BLEND_MODE_SUPPORT_NONE** = ``0``
Означает, что :ref:`XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND<class_XRInterface_constant_XR_ENV_BLEND_MODE_ALPHA_BLEND>` вообще не поддерживается.
.. _class_OpenXRAPIExtension_constant_OPENXR_ALPHA_BLEND_MODE_SUPPORT_REAL:
.. rst-class:: classref-enumeration-constant
:ref:`OpenXRAlphaBlendModeSupport<enum_OpenXRAPIExtension_OpenXRAlphaBlendModeSupport>` **OPENXR_ALPHA_BLEND_MODE_SUPPORT_REAL** = ``1``
Означает, что :ref:`XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND<class_XRInterface_constant_XR_ENV_BLEND_MODE_ALPHA_BLEND>` действительно поддерживается.
.. _class_OpenXRAPIExtension_constant_OPENXR_ALPHA_BLEND_MODE_SUPPORT_EMULATING:
.. rst-class:: classref-enumeration-constant
:ref:`OpenXRAlphaBlendModeSupport<enum_OpenXRAPIExtension_OpenXRAlphaBlendModeSupport>` **OPENXR_ALPHA_BLEND_MODE_SUPPORT_EMULATING** = ``2``
Означает, что :ref:`XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND<class_XRInterface_constant_XR_ENV_BLEND_MODE_ALPHA_BLEND>` эмулируется.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описания метода
------------------------------
.. _class_OpenXRAPIExtension_method_action_get_handle:
.. rst-class:: classref-method
:ref:`int<class_int>` **action_get_handle**\ (\ action\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_action_get_handle>`
Возвращает соответствующий дескриптор OpenXR ``XrAction`` для указанного RID действия.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_begin_debug_label_region:
.. rst-class:: classref-method
|void| **begin_debug_label_region**\ (\ label_name\: :ref:`String<class_String>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_begin_debug_label_region>`
Начинает новую область отладочной метки, эта метка будет сообщаться в отладочных сообщениях для любых вызовов, следующих за этим, пока не будет вызван :ref:`end_debug_label_region()<class_OpenXRAPIExtension_method_end_debug_label_region>`. Отладочные метки могут быть сложены.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_can_render:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **can_render**\ (\ ) :ref:`🔗<class_OpenXRAPIExtension_method_can_render>`
Возвращает ``true``, если OpenXR инициализирован для рендеринга с областью просмотра XR.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_end_debug_label_region:
.. rst-class:: classref-method
|void| **end_debug_label_region**\ (\ ) :ref:`🔗<class_OpenXRAPIExtension_method_end_debug_label_region>`
Отмечает конец области отладочной метки. Удаляет последнюю область отладочной метки, добавленную вызовом :ref:`begin_debug_label_region()<class_OpenXRAPIExtension_method_begin_debug_label_region>`.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_find_action:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **find_action**\ (\ name\: :ref:`String<class_String>`, action_set\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_find_action>`
Возвращает :ref:`RID<class_RID>`, соответствующий ``Действию`` совпадающего имени, при необходимости ограниченному указанным набором действий.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_get_error_string:
.. rst-class:: classref-method
:ref:`String<class_String>` **get_error_string**\ (\ result\: :ref:`int<class_int>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_get_error_string>`
Возвращает строку ошибки для указанного `XrResult <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrResult.html>`__.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_get_hand_tracker:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_hand_tracker**\ (\ hand_index\: :ref:`int<class_int>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_get_hand_tracker>`
Возвращает соответствующий дескриптор ``XRHandTrackerEXT`` для заданного значения индекса руки.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_get_instance:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_instance**\ (\ ) :ref:`🔗<class_OpenXRAPIExtension_method_get_instance>`
Возвращает `XrInstance <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrInstance.html>`__, созданный во время инициализации API OpenXR.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_get_instance_proc_addr:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_instance_proc_addr**\ (\ name\: :ref:`String<class_String>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_get_instance_proc_addr>`
Возвращает указатель функции OpenXR с указанным именем, приведенный к целому числу. Если функция с указанным именем не существует, метод возвращает ``0``.
\ **Примечание:** ``openxr/util.h`` содержит служебные макросы для получения функций OpenXR, например, ``GDEXTENSION_INIT_XR_FUNC_V(xrCreateAction)``.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_get_next_frame_time:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_next_frame_time**\ (\ ) :ref:`🔗<class_OpenXRAPIExtension_method_get_next_frame_time>`
Возвращает прогнозируемое время отображения следующего кадра.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_get_openxr_version:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_openxr_version**\ (\ ) :ref:`🔗<class_OpenXRAPIExtension_method_get_openxr_version>`
Returns the version of OpenXR that was initialized. Only valid after the OpenXR instance has been created. See `XR_MAKE_VERSION <https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#XR_MAKE_VERSION>`__ for how the version is calculated.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_get_play_space:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_play_space**\ (\ ) :ref:`🔗<class_OpenXRAPIExtension_method_get_play_space>`
Возвращает игровое пространство, которое представляет собой `XrSpace <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSpace.html>`__, приведенное к целому числу.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_get_predicted_display_time:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_predicted_display_time**\ (\ ) :ref:`🔗<class_OpenXRAPIExtension_method_get_predicted_display_time>`
Возвращает прогнозируемое время отображения текущего кадра.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_get_projection_layer:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_projection_layer**\ (\ ) :ref:`🔗<class_OpenXRAPIExtension_method_get_projection_layer>`
Возвращает указатель на структуру ``XrCompositionLayerProjection`` состояния рендеринга.
\ **Примечание:** Этот метод следует вызывать только из потока рендеринга.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_get_render_state_z_far:
.. rst-class:: classref-method
:ref:`float<class_float>` **get_render_state_z_far**\ (\ ) :ref:`🔗<class_OpenXRAPIExtension_method_get_render_state_z_far>`
Возвращает значение дальней границы усеченной пирамиды видимости камеры.
\ **Примечание:** Это доступно только в потоке рендеринга.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_get_render_state_z_near:
.. rst-class:: classref-method
:ref:`float<class_float>` **get_render_state_z_near**\ (\ ) :ref:`🔗<class_OpenXRAPIExtension_method_get_render_state_z_near>`
Возвращает ближнее граничное значение пирамиды видимости камеры.
\ **Примечание:** Это доступно только в потоке рендеринга.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_get_session:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_session**\ (\ ) :ref:`🔗<class_OpenXRAPIExtension_method_get_session>`
Возвращает сеанс OpenXR, который представляет собой `XrSession <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSession.html>`__, преобразованный в целое число.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_get_supported_swapchain_formats:
.. rst-class:: classref-method
:ref:`PackedInt64Array<class_PackedInt64Array>` **get_supported_swapchain_formats**\ (\ ) :ref:`🔗<class_OpenXRAPIExtension_method_get_supported_swapchain_formats>`
Возвращает массив поддерживаемых форматов цепочки обмена.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_get_swapchain_format_name:
.. rst-class:: classref-method
:ref:`String<class_String>` **get_swapchain_format_name**\ (\ swapchain_format\: :ref:`int<class_int>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_get_swapchain_format_name>`
Возвращает имя указанного формата цепочки обмена.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_get_system_id:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_system_id**\ (\ ) :ref:`🔗<class_OpenXRAPIExtension_method_get_system_id>`
Returns the ID of the system, which is an `XrSystemId <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSystemId.html>`__ cast to an integer.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_insert_debug_label:
.. rst-class:: classref-method
|void| **insert_debug_label**\ (\ label_name\: :ref:`String<class_String>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_insert_debug_label>`
Вставляет метку отладки, эта метка отображается в любом отладочном сообщении, полученном в результате последующих вызовов OpenXR, пока не будет вызван любой из методов :ref:`begin_debug_label_region()<class_OpenXRAPIExtension_method_begin_debug_label_region>`, :ref:`end_debug_label_region()<class_OpenXRAPIExtension_method_end_debug_label_region>` или :ref:`insert_debug_label()<class_OpenXRAPIExtension_method_insert_debug_label>`.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_is_environment_blend_mode_alpha_supported:
.. rst-class:: classref-method
:ref:`OpenXRAlphaBlendModeSupport<enum_OpenXRAPIExtension_OpenXRAlphaBlendModeSupport>` **is_environment_blend_mode_alpha_supported**\ (\ ) :ref:`🔗<class_OpenXRAPIExtension_method_is_environment_blend_mode_alpha_supported>`
Возвращает :ref:`OpenXRAlphaBlendModeSupport<enum_OpenXRAPIExtension_OpenXRAlphaBlendModeSupport>`, указывающий, поддерживается ли :ref:`XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND<class_XRInterface_constant_XR_ENV_BLEND_MODE_ALPHA_BLEND>` на самом деле, эмулируется или не поддерживается вообще.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_is_initialized:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_initialized**\ (\ ) :ref:`🔗<class_OpenXRAPIExtension_method_is_initialized>`
Возвращает ``true``, если OpenXR инициализирован.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_is_running:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_running**\ (\ ) :ref:`🔗<class_OpenXRAPIExtension_method_is_running>`
Возвращает ``true``, если OpenXR запущен (`xrBeginSession <https://registry.khronos.org/OpenXR/specs/1.0/man/html/xrBeginSession.html>`__ был успешно вызван и цепочки обмена были созданы).
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_openxr_is_enabled:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **openxr_is_enabled**\ (\ check_run_in_editor\: :ref:`bool<class_bool>`\ ) |static| :ref:`🔗<class_OpenXRAPIExtension_method_openxr_is_enabled>`
Возвращает ``true``, если OpenXR включен.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_openxr_swapchain_acquire:
.. rst-class:: classref-method
|void| **openxr_swapchain_acquire**\ (\ swapchain\: :ref:`int<class_int>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_openxr_swapchain_acquire>`
Получает изображение предоставленной цепочки обмена.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_openxr_swapchain_create:
.. rst-class:: classref-method
:ref:`int<class_int>` **openxr_swapchain_create**\ (\ create_flags\: :ref:`int<class_int>`, usage_flags\: :ref:`int<class_int>`, swapchain_format\: :ref:`int<class_int>`, width\: :ref:`int<class_int>`, height\: :ref:`int<class_int>`, sample_count\: :ref:`int<class_int>`, array_size\: :ref:`int<class_int>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_openxr_swapchain_create>`
Возвращает указатель на новую цепочку обмена, созданную с использованием предоставленных параметров.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_openxr_swapchain_free:
.. rst-class:: classref-method
|void| **openxr_swapchain_free**\ (\ swapchain\: :ref:`int<class_int>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_openxr_swapchain_free>`
Уничтожает предоставленную цепочку обмена и освобождает ее из памяти.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_openxr_swapchain_get_image:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **openxr_swapchain_get_image**\ (\ swapchain\: :ref:`int<class_int>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_openxr_swapchain_get_image>`
Возвращает RID предоставленного образа цепочки обмена.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_openxr_swapchain_get_swapchain:
.. rst-class:: classref-method
:ref:`int<class_int>` **openxr_swapchain_get_swapchain**\ (\ swapchain\: :ref:`int<class_int>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_openxr_swapchain_get_swapchain>`
Возвращает дескриптор ``XrSwapchain`` предоставленной цепочки обмена.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_openxr_swapchain_release:
.. rst-class:: classref-method
|void| **openxr_swapchain_release**\ (\ swapchain\: :ref:`int<class_int>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_openxr_swapchain_release>`
Выпускает образ предоставленной цепочки обмена.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_register_composition_layer_provider:
.. rst-class:: classref-method
|void| **register_composition_layer_provider**\ (\ extension\: :ref:`OpenXRExtensionWrapper<class_OpenXRExtensionWrapper>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_register_composition_layer_provider>`
Registers the given extension as a composition layer provider.
\ **Note:** This cannot be called after the OpenXR session has started. However, it can be called in :ref:`OpenXRExtensionWrapper._on_session_created()<class_OpenXRExtensionWrapper_private_method__on_session_created>`.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_register_frame_info_extension:
.. rst-class:: classref-method
|void| **register_frame_info_extension**\ (\ extension\: :ref:`OpenXRExtensionWrapper<class_OpenXRExtensionWrapper>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_register_frame_info_extension>`
Registers the given extension as modifying frame info via the :ref:`OpenXRExtensionWrapper._set_frame_wait_info_and_get_next_pointer()<class_OpenXRExtensionWrapper_private_method__set_frame_wait_info_and_get_next_pointer>`, :ref:`OpenXRExtensionWrapper._set_view_locate_info_and_get_next_pointer()<class_OpenXRExtensionWrapper_private_method__set_view_locate_info_and_get_next_pointer>`, or :ref:`OpenXRExtensionWrapper._set_frame_end_info_and_get_next_pointer()<class_OpenXRExtensionWrapper_private_method__set_frame_end_info_and_get_next_pointer>` virtual methods.
\ **Note:** This cannot be called after the OpenXR session has started. However, it can be called in :ref:`OpenXRExtensionWrapper._on_session_created()<class_OpenXRExtensionWrapper_private_method__on_session_created>`.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_register_projection_views_extension:
.. rst-class:: classref-method
|void| **register_projection_views_extension**\ (\ extension\: :ref:`OpenXRExtensionWrapper<class_OpenXRExtensionWrapper>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_register_projection_views_extension>`
Registers the given extension as a provider of additional data structures to projections views.
\ **Note:** This cannot be called after the OpenXR session has started. However, it can be called in :ref:`OpenXRExtensionWrapper._on_session_created()<class_OpenXRExtensionWrapper_private_method__on_session_created>`.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_set_custom_play_space:
.. rst-class:: classref-method
|void| **set_custom_play_space**\ (\ space\: ``const void*``\ ) :ref:`🔗<class_OpenXRAPIExtension_method_set_custom_play_space>`
Устанавливает ссылочное пространство, используемое OpenXR, на указанное `XrSpace <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSpace.html>`__ (приводится к ``void *``).
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_set_emulate_environment_blend_mode_alpha_blend:
.. rst-class:: classref-method
|void| **set_emulate_environment_blend_mode_alpha_blend**\ (\ enabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_set_emulate_environment_blend_mode_alpha_blend>`
Если установлено значение ``true``, загружается расширение OpenXR, способное эмулировать режим смешивания :ref:`XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND<class_XRInterface_constant_XR_ENV_BLEND_MODE_ALPHA_BLEND>`.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_set_object_name:
.. rst-class:: classref-method
|void| **set_object_name**\ (\ object_type\: :ref:`int<class_int>`, object_handle\: :ref:`int<class_int>`, object_name\: :ref:`String<class_String>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_set_object_name>`
Задайте имя объекта OpenXR, используемого для отладочного вывода. ``object_type`` должен быть допустимым перечислением OpenXR ``XrObjectType``, а ``object_handle`` должен быть допустимым дескриптором объекта OpenXR.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_set_render_region:
.. rst-class:: classref-method
|void| **set_render_region**\ (\ render_region\: :ref:`Rect2i<class_Rect2i>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_set_render_region>`
Устанавливает область рендеринга на ``render_region``, переопределяя прямоугольник обычной цели рендеринга.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_set_velocity_depth_texture:
.. rst-class:: classref-method
|void| **set_velocity_depth_texture**\ (\ render_target\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_set_velocity_depth_texture>`
Устанавливает цель рендеринга текстуры глубины скорости.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_set_velocity_target_size:
.. rst-class:: classref-method
|void| **set_velocity_target_size**\ (\ target_size\: :ref:`Vector2i<class_Vector2i>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_set_velocity_target_size>`
Устанавливает целевой размер текстур скорости и глубины скорости.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_set_velocity_texture:
.. rst-class:: classref-method
|void| **set_velocity_texture**\ (\ render_target\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_set_velocity_texture>`
Устанавливает цель рендеринга текстуры скорости.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_transform_from_pose:
.. rst-class:: classref-method
:ref:`Transform3D<class_Transform3D>` **transform_from_pose**\ (\ pose\: ``const void*``\ ) :ref:`🔗<class_OpenXRAPIExtension_method_transform_from_pose>`
Создает :ref:`Transform3D<class_Transform3D>` из `XrPosef <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrPosef.html>`__.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_unregister_composition_layer_provider:
.. rst-class:: classref-method
|void| **unregister_composition_layer_provider**\ (\ extension\: :ref:`OpenXRExtensionWrapper<class_OpenXRExtensionWrapper>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_unregister_composition_layer_provider>`
Unregisters the given extension as a composition layer provider.
\ **Note:** This cannot be called while the OpenXR session is still running.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_unregister_frame_info_extension:
.. rst-class:: classref-method
|void| **unregister_frame_info_extension**\ (\ extension\: :ref:`OpenXRExtensionWrapper<class_OpenXRExtensionWrapper>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_unregister_frame_info_extension>`
Unregisters the given extension as modifying frame info.
\ **Note:** This cannot be called while the OpenXR session is still running.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_unregister_projection_views_extension:
.. rst-class:: classref-method
|void| **unregister_projection_views_extension**\ (\ extension\: :ref:`OpenXRExtensionWrapper<class_OpenXRExtensionWrapper>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_unregister_projection_views_extension>`
Unregisters the given extension as a provider of additional data structures to projections views.
\ **Note:** This cannot be called while the OpenXR session is still running.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_update_main_swapchain_size:
.. rst-class:: classref-method
|void| **update_main_swapchain_size**\ (\ ) :ref:`🔗<class_OpenXRAPIExtension_method_update_main_swapchain_size>`
Request the recommended resolution from the OpenXR runtime and update the main swapchain size if it has changed.
.. rst-class:: classref-item-separator
----
.. _class_OpenXRAPIExtension_method_xr_result:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **xr_result**\ (\ result\: :ref:`int<class_int>`, format\: :ref:`String<class_String>`, args\: :ref:`Array<class_Array>`\ ) :ref:`🔗<class_OpenXRAPIExtension_method_xr_result>`
Возвращает ``true``, если предоставленный `XrResult <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrResult.html>`__ (приведенный к целому числу) успешен. В противном случае возвращает ``false`` и печатает `XrResult <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrResult.html>`__, преобразованный в строку, с указанной дополнительной информацией.
.. |virtual| replace:: :abbr:`virtual (Этот метод обычно должен быть переопределен пользователем, чтобы иметь какой-либо эффект.)`
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
.. |const| replace:: :abbr:`const (Этот метод не имеет побочных эффектов. Он не изменяет ни одну из переменных-членов экземпляра.)`
.. |vararg| replace:: :abbr:`vararg (Этот метод принимает любое количество аргументов после описанных здесь.)`
.. |constructor| replace:: :abbr:`constructor (Этот метод используется для создания типа.)`
.. |static| replace:: :abbr:`static (Этот метод не нуждается в вызове экземпляра, поэтому его можно вызвать напрямую, используя имя класса.)`
.. |operator| replace:: :abbr:`operator (Этот метод описывает допустимый оператор для использования с этим типом в качестве левого операнда.)`
.. |bitfield| replace:: :abbr:`BitField (Это значение является целым числом, составленным как битовая маска следующих флагов.)`
.. |void| replace:: :abbr:`void (Нет возвращаемого значения.)`