OpenXRExtensionWrapper
繼承: Object
被繼承: OpenXRExtensionWrapperExtension, OpenXRFutureExtension, OpenXRRenderModelExtension
Allows implementing OpenXR extensions with GDExtension.
說明
OpenXRExtensionWrapper allows implementing OpenXR extensions with GDExtension. The extension should be registered with register_extension_wrapper().
方法
方法說明
int _get_composition_layer(index: int) virtual 🔗
Returns a pointer to an XrCompositionLayerBaseHeader struct to provide the given composition layer.
This will only be called if the extension previously registered itself with OpenXRAPIExtension.register_composition_layer_provider().
int _get_composition_layer_count() virtual 🔗
Returns the number of composition layers this extension wrapper provides via _get_composition_layer().
This will only be called if the extension previously registered itself with OpenXRAPIExtension.register_composition_layer_provider().
int _get_composition_layer_order(index: int) virtual 🔗
Returns an integer that will be used to sort the given composition layer provided via _get_composition_layer(). Lower numbers will move the layer to the front of the list, and higher numbers to the end. The default projection layer has an order of 0, so layers provided by this method should probably be above or below (but not exactly) 0.
This will only be called if the extension previously registered itself with OpenXRAPIExtension.register_composition_layer_provider().
Dictionary _get_requested_extensions() virtual 🔗
傳回與此擴充相關的 OpenXR 擴充的 Dictionary。Dictionary 應包含擴充的名稱,對應到 bool *轉換為整數:
如果
bool *是nullptr,則此擴充功能是強制性的。如果
bool *指向布林值,則在啟用擴充的情況下,該布林值將更新為true。
PackedStringArray _get_suggested_tracker_names() virtual 🔗
Returns a PackedStringArray of positional tracker names that are used within the extension wrapper.
Array[Dictionary] _get_viewport_composition_layer_extension_properties() virtual 🔗
Gets an array of Dictionarys that represent properties, just like Object._get_property_list(), that will be added to OpenXRCompositionLayer nodes.
Dictionary _get_viewport_composition_layer_extension_property_defaults() virtual 🔗
Gets a Dictionary containing the default values for the properties returned by _get_viewport_composition_layer_extension_properties().
void _on_before_instance_created() virtual 🔗
在程式退出前呼叫。
bool _on_event_polled(event: const void*) virtual 🔗
Called when there is an OpenXR event to process. When implementing, return true if the event was handled, return false otherwise.
void _on_instance_created(instance: int) virtual 🔗
在 XR Viewport 繪製邏輯完成後呼叫。
void _on_instance_destroyed() virtual 🔗
在 OpenXR 實例被銷毀之前呼叫。
void _on_main_swapchains_created() virtual 🔗
Called right after the main swapchains are (re)created.
void _on_post_draw_viewport(viewport: RID) virtual 🔗
Called right after the given viewport is rendered.
Note: The draw commands might only be queued at this point, not executed.
void _on_pre_draw_viewport(viewport: RID) virtual 🔗
Called right before the given viewport is rendered.
void _on_pre_render() virtual 🔗
在 XR 視窗開始算繪步驟之前呼叫。
void _on_process() virtual 🔗
作為OpenXR 程序處理的一部分呼叫。這發生在主循環的一般和物理處理步驟之前。在此步驟中,控制器資料被查詢並可供遊戲邏輯使用。 “,“,““,“錯誤的”,””,”,””
modules/openxr/doc_classes/OpenXRExtensionWrapperExtension.xml"
void _on_register_metadata() virtual 🔗
允許擴充功能註冊額外的控制器元資料。即使未建置 OpenXR API,也會呼叫此函式,因為元資料需要可供編輯器使用。
擴充還應該提供元資料,無論主機系統是否支援它們。控制器資料用於為有權存取相關硬體的使用者設定操作圖。
void _on_session_created(session: int) virtual 🔗
在 XR Viewport 繪製邏輯完成後呼叫。
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 會話狀態變更為就緒時呼叫。這表示 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 🔗
Called when OpenXR has performed its action sync.
void _on_viewport_composition_layer_destroyed(layer: const void*) virtual 🔗
Called when a composition layer created via OpenXRCompositionLayer is destroyed.
layer is a pointer to an XrCompositionLayerBaseHeader struct.
int _set_android_surface_swapchain_create_info_and_get_next_pointer(property_values: Dictionary, next_pointer: void*) virtual 🔗
Adds additional data structures to Android surface swapchains created by OpenXRCompositionLayer.
property_values contains the values of the properties returned by _get_viewport_composition_layer_extension_properties().
int _set_frame_end_info_and_get_next_pointer(next_pointer: void*) virtual 🔗
Adds additional data structures to XrFrameEndInfo.
This will only be called if the extension previously registered itself with OpenXRAPIExtension.register_frame_info_extension().
int _set_frame_wait_info_and_get_next_pointer(next_pointer: void*) virtual 🔗
Adds additional data structures to XrFrameWaitInfo.
This will only be called if the extension previously registered itself with OpenXRAPIExtension.register_frame_info_extension().
int _set_hand_joint_locations_and_get_next_pointer(hand_index: int, next_pointer: void*) virtual 🔗
Adds additional data structures when each hand tracker is created.
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 🔗
Adds additional data structures to the projection view of the given view_index.
int _set_reference_space_create_info_and_get_next_pointer(reference_space_type: int, next_pointer: void*) virtual 🔗
Adds additional data structures to 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 🔗
Adds additional data structures when querying OpenXR system abilities.
int _set_view_locate_info_and_get_next_pointer(next_pointer: void*) virtual 🔗
Adds additional data structures to XrViewLocateInfo.
This will only be called if the extension previously registered itself with OpenXRAPIExtension.register_frame_info_extension().
int _set_viewport_composition_layer_and_get_next_pointer(layer: const void*, property_values: Dictionary, next_pointer: void*) virtual 🔗
Adds additional data structures to composition layers created by OpenXRCompositionLayer.
property_values contains the values of the properties returned by _get_viewport_composition_layer_extension_properties().
layer is a pointer to an XrCompositionLayerBaseHeader struct.
OpenXRAPIExtension get_openxr_api() 🔗
傳回所建立的 OpenXRAPIExtension,可用來存取 OpenXR API。
void register_extension_wrapper() 🔗
註冊擴充功能。這應該發生在核心模組初始化層級。