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).
Повертає передбачуваний час відображення для наступного кадру.
Повертає ігровий простір, який є ` 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 до цілого числа.
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) 🔗
Зареєструвати задане розширення як виробник шарів композиції.
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().
void register_projection_views_extension(extension: OpenXRExtensionWrapper) 🔗
Реєструє вказане розширення як постачальник додаткових структур даних для представлень проекцій.
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) 🔗
Незареєструвати дане розширення як постачальника шарів композиції.
void unregister_frame_info_extension(extension: OpenXRExtensionWrapper) 🔗
Скасовує реєстрацію вказаного розширення як такого, що змінює інформацію про фрейм.
void unregister_projection_views_extension(extension: OpenXRExtensionWrapper) 🔗
Скасовує реєстрацію вказаного розширення як постачальника додаткових структур даних для представлень проекцій.
bool xr_result(result: int, format: String, args: Array) 🔗
Повертає true, якщо наданий XrResult (приведений до цілого числа) є успішним. Інакше повертає false і друкує XrResult, перетворений на рядок, із зазначеними додатковими відомостями.