Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
OpenXRAPIExtension
Успадковує: RefCounted < Object
Зробіть API OpenXR, доступний для GDExtension.
Опис
OpenXRAPIExtension робить OpenXR доступним для GDExtension. За допомогою методу OpenXR API до GDExtension через get_instance_proc_addr() та екземпляр OpenXR через get_instance().
Також передбачено методи запиту стану ініціалізації OpenXR, а також методи помічника для зручності використання API з GDExtension.
Посібники
Методи
Переліки
enum OpenXRAlphaBlendModeSupport: 🔗
OpenXRAlphaBlendModeSupport OPENXR_ALPHA_BLEND_MODE_SUPPORT_NONE = 0
Означає, що XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND взагалі не підтримується.
OpenXRAlphaBlendModeSupport OPENXR_ALPHA_BLEND_MODE_SUPPORT_REAL = 1
Означає, що XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND() дійсно підтримується.
OpenXRAlphaBlendModeSupport OPENXR_ALPHA_BLEND_MODE_SUPPORT_EMULATING = 2
Означає, що емулюється XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND().
Описи методів
int action_get_handle(action: RID) 🔗
Повертає відповідний XrAction дескриптор OpenXR для даної дії RID.
void begin_debug_label_region(label_name: String) 🔗
Початок нової області мітки налагодження, ця мітка повідомлятиметься в повідомленнях налагодження для будь-яких наступних викликів, доки не буде викликано end_debug_label_region(). Мітки налагодження можна складати в стопку.
Повертаємо true, якщо OpenXR ініціюється для рендерингу з портом XR.
void end_debug_label_region() 🔗
Позначає кінець області мітки налагодження. Видаляє останню область мітки налагодження, додану за допомогою виклику begin_debug_label_region().
RID find_action(name: String, action_set: RID) 🔗
Повертає RID, що відповідає Action із відповідним ім’ям, необов’язково обмеженим вказаним набором дій.
String get_error_string(result: int) 🔗
Повернути рядок помилки для наданої XrResult.
int get_hand_tracker(hand_index: int) 🔗
Повертає відповідну XRHandTrackerEXT ручку за задану вартість індексу.
Повернутися до XrInstance створеного під час ініціалізації API OpenXR.
int get_instance_proc_addr(name: String) 🔗
Повертає параметр функції OpenXR з вказаною назвою, відливаючи до цілого. Якщо функція з вказаною назвою не існує, метод повертає 0.
Примітка: openxr/util.h містить корисні макроси для еквайрингу Функції OpenXR, наприклад GDEXTENSION_INIT_XR_FUNC_V(xrCreateAction).
Повертає передбачуваний час відображення для наступного кадру.
Повертає версію OpenXR, яку було ініціалізовано. Дійсно лише після створення екземпляра OpenXR. Див. XR_MAKE_VERSION для отримання інформації про те, як обчислюється версія.
Повертає ігровий простір, який є ` XrSpace <https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrSpace.html>`__ пролити в ціле.
int get_predicted_display_time() 🔗
Повертає передбачуваний час відображення для поточного каркасу.
Повертає вказівник на структуру XrCompositionLayerProjection стану візуалізації.
**Примітка: ** Цей метод слід викликати лише з потоку візуалізації.
float get_render_state_z_far() 🔗
Повертає дальнє граничне значення косої точки камери.
Примітка: Це доступно лише в потоці візуалізації.
float get_render_state_z_near() 🔗
Повертає ближнє граничне значення косої точки камери.
Примітка: Це доступно лише в потоці візуалізації.
Повертає сеанс OpenXR, який є XrSession відкидається до цілого.
PackedInt64Array get_supported_swapchain_formats() 🔗
Повертає масив підтримуваних форматів свопчейн.
String get_swapchain_format_name(swapchain_format: int) 🔗
Повертає ім'я вказаного формату swapchain.
Повертає ідентифікатор системи, який є приведенням типу XrSystemId до цілого числа.
int get_view_configuration() const 🔗
Повертає тип конфігурації подання, який є типом XrViewConfigurationType, перетвореним у ціле число.
Повертає кількість оглядів. Зазвичай їх дві — по одній для кожного ока, але ця кількість може відрізнятися залежно від конфігурації огляду.
void insert_debug_label(label_name: String) 🔗
Вставляє мітку налагодження, ця мітка повідомляється в будь-якому повідомленні про налагодження, отриманому в результаті наступних викликів OpenXR, доки не буде викликано begin_debug_label_region(), end_debug_label_region() або insert_debug_label().
OpenXRAlphaBlendModeSupport is_environment_blend_mode_alpha_supported() 🔗
Повертає OpenXRAlphaBlendModeSupport денотація, якщо XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND є дійсно підтриманим, ізольованим або не підтримується на всіх.
true, якщо OpenXR ініціюється.
Повертає true, якщо OpenXR працює (xrBeginSession був успішно названий і були створені swapchains).
bool openxr_is_enabled(check_run_in_editor: bool) static 🔗
true, якщо OpenXR ввімкнено.
void openxr_swapchain_acquire(swapchain: int) 🔗
Отримує образ наданого свопчейну.
int openxr_swapchain_create(create_flags: int, usage_flags: int, swapchain_format: int, width: int, height: int, sample_count: int, array_size: int) 🔗
Повертає вказівник на новий свопчейн, створений за допомогою наданих параметрів.
void openxr_swapchain_free(swapchain: int) 🔗
Знищує наданий свопчейн і звільняє його з пам’яті.
RID openxr_swapchain_get_image(swapchain: int) 🔗
Повертає RID наданого образу ланцюжка обміну.
int openxr_swapchain_get_swapchain(swapchain: int) 🔗
Повертає XrSwapchain дескриптор наданого свопчейну.
void openxr_swapchain_release(swapchain: int) 🔗
Випускає образ наданого свопчейну.
void register_composition_layer_provider(extension: OpenXRExtensionWrapper) 🔗
Реєструє вказане розширення як постачальника композиційного шару.
Примітка: Це неможливо викликати після початку сеансу OpenXR. Однак, його можна викликати в OpenXRExtensionWrapper._on_session_created().
void register_frame_info_extension(extension: OpenXRExtensionWrapper) 🔗
Реєструє задане розширення як таке, що змінює інформацію про фрейм, за допомогою віртуальних методів OpenXRExtensionWrapper._set_frame_wait_info_and_get_next_pointer(), OpenXRExtensionWrapper._set_view_locate_info_and_get_next_pointer() або OpenXRExtensionWrapper._set_frame_end_info_and_get_next_pointer().
Примітка: Цей метод не можна викликати після початку сеансу OpenXR. Однак його можна викликати в OpenXRExtensionWrapper._on_session_created().
void register_projection_layer_extension(extension: OpenXRExtensionWrapper) 🔗
Реєструє вказане розширення як таке, що змінює XrCompositionLayerProjection за допомогою віртуального методу OpenXRExtensionWrapper._set_projection_layer_and_get_next_pointer().
Примітка: Цю функцію не можна викликати після запуску сеансу OpenXR. Однак її можна викликати в OpenXRExtensionWrapper._on_session_created().
void register_projection_views_extension(extension: OpenXRExtensionWrapper) 🔗
Реєструє вказане розширення як постачальника додаткових структур даних для проекційних представлень.
Примітка: Це неможливо викликати після початку сеансу OpenXR. Однак, його можна викликати в OpenXRExtensionWrapper._on_session_created().
void set_custom_play_space(space: const void*) 🔗
Встановлює простір посилань, що використовується OpenXR, на заданий XrSpace (приведення до void *).
void set_emulate_environment_blend_mode_alpha_blend(enabled: bool) 🔗
Якщо встановити до true, розширення OpenXR можна завантажити, що здатний емульсії XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND.
void set_object_name(object_type: int, object_handle: int, object_name: String) 🔗
Установіть назву об’єкта OpenXR, який використовується для виводу налагодження. object_type має бути дійсним переліком XrObjectType OpenXR, а object_handle має бути дійсним дескриптором об’єкта OpenXR.
void set_render_region(render_region: Rect2i) 🔗
Встановлює область візуалізації на render_region, замінюючи прямокутник звичайної мети візуалізації.
void set_velocity_depth_texture(render_target: RID) 🔗
Встановлює ціль візуалізації текстури глибини швидкості.
void set_velocity_target_size(target_size: Vector2i) 🔗
Встановлює цільовий розмір текстури швидкості та глибини швидкості.
void set_velocity_texture(render_target: RID) 🔗
Встановлює ціль візуалізації текстури швидкості.
Transform3D transform_from_pose(pose: const void*) 🔗
Створює Transform3D з XrPosef.
void unregister_composition_layer_provider(extension: OpenXRExtensionWrapper) 🔗
Скасовує реєстрацію даного розширення як постачальника композиційного шару.
Примітка: Це не можна викликати, поки сеанс OpenXR все ще працює.
void unregister_frame_info_extension(extension: OpenXRExtensionWrapper) 🔗
Скасовує реєстрацію вказаного розширення як такого, що змінює інформацію про фрейм.
Примітка: Це не можна викликати, поки сеанс OpenXR все ще запущено.
void unregister_projection_layer_extension(extension: OpenXRExtensionWrapper) 🔗
Скасовує реєстрацію вказаного розширення як такого, що модифікує XrCompositionLayerProjection.
Примітка: Цю функцію не можна викликати, поки сесія OpenXR ще працює.
void unregister_projection_views_extension(extension: OpenXRExtensionWrapper) 🔗
Скасовує реєстрацію даного розширення як постачальника додаткових структур даних для проекційних представлень.
Примітка: Це не можна викликати, поки сеанс OpenXR все ще запущено.
void update_main_swapchain_size() 🔗
Запитайте рекомендовану роздільну здатність у середовища виконання OpenXR та оновіть розмір основного swapchain, якщо він змінився.
bool xr_result(result: int, format: String, args: Array) 🔗
Повертає true, якщо наданий XrResult (приведений до цілого числа) є успішним. Інакше повертає false і друкує XrResult, перетворений на рядок, із зазначеними додатковими відомостями.