OpenXRExtensionWrapper

Hereda: Object

Heredado por: OpenXRExtensionWrapperExtension, OpenXRFutureExtension, OpenXRRenderModelExtension

Permite implementar extensiones de OpenXR con GDExtension.

Descripción

OpenXRExtensionWrapper permite implementar extensiones de OpenXR con GDExtension. La extensión debe registrarse con register_extension_wrapper().

Métodos

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


Descripciones de Métodos

int _get_composition_layer(index: int) virtual 🔗

Devuelve un puntero a una estructura XrCompositionLayerBaseHeader para proporcionar la capa de composición dada.

Esto solo se llamará si la extensión se registró previamente con OpenXRAPIExtension.register_composition_layer_provider().


int _get_composition_layer_count() virtual 🔗

Devuelve el número de capas de composición que este wrapper de extensión proporciona a través de _get_composition_layer().

Esto solo se llamará si la extensión se registró previamente con OpenXRAPIExtension.register_composition_layer_provider().


int _get_composition_layer_order(index: int) virtual 🔗

Devuelve un entero que se utilizará para ordenar la capa de composición dada proporcionada a través de _get_composition_layer(). Los números más bajos moverán la capa al frente de la lista, y los números más altos al final. La capa de proyección predeterminada tiene un orden de 0, por lo que las capas proporcionadas por este método probablemente deberían estar por encima o por debajo (pero no exactamente) de 0.

Esto solo se llamará si la extensión se registró previamente con OpenXRAPIExtension.register_composition_layer_provider().


Dictionary _get_requested_extensions() virtual 🔗

Devuelve un Dictionary de extensiones de OpenXR relacionadas con esta extensión. El Dictionary debe contener el nombre de la extensión, asignado a un bool * casteado a un entero:

  • Si el bool * es un nullptr esta extensión es obligatoria.

  • Si el bool * apunta a un booleano, el booleano se actualizará a true si la extensión está habilitada.


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 🔗

Obtiene un array de Dictionarys que representan propiedades, al igual que Object._get_property_list(), que se añadirán a los nodos OpenXRCompositionLayer.


Dictionary _get_viewport_composition_layer_extension_property_defaults() virtual 🔗

Obtiene un Dictionary que contiene los valores por defecto para las propiedades devueltas por _get_viewport_composition_layer_extension_properties().


void _on_before_instance_created() virtual 🔗

Llamado antes de que se cree la instancia de OpenXR.


bool _on_event_polled(event: const void*) virtual 🔗

Llamado cuando hay un evento de OpenXR para procesar. Al implementar, devuelve true si el evento fue manejado, devuelve false de lo contrario.


void _on_instance_created(instance: int) virtual 🔗

Llamado justo después de que se cree la instancia de OpenXR.


void _on_instance_destroyed() virtual 🔗

Llamado justo antes de que se destruya la instancia de OpenXR.


void _on_main_swapchains_created() virtual 🔗

Llamado justo después de que se (re)creen las swapchains principales.


void _on_post_draw_viewport(viewport: RID) virtual 🔗

Llamado justo después de que se renderiza el viewport dado.

Nota: Los comandos de dibujo podrían estar solo en cola en este punto, no ejecutados.


void _on_pre_draw_viewport(viewport: RID) virtual 🔗

Llamado justo antes de que se renderice el viewport dado.


void _on_pre_render() virtual 🔗

Llamado justo antes de que los viewports de XR comiencen su paso de renderizado.


void _on_process() virtual 🔗

Llamado como parte del manejo del proceso de OpenXR. Esto ocurre justo antes de los pasos de procesamiento general y físico del bucle principal. Durante este paso, los datos del controlador se consultan y se ponen a disposición de la lógica del juego.


void _on_register_metadata() virtual 🔗

Permite a las extensiones registrar metadatos de controlador adicionales. Esta función se llama incluso cuando la API de OpenXR no está construida, ya que los metadatos deben estar disponibles para el editor.

Las extensiones también deben proporcionar metadatos independientemente de si son compatibles con el sistema host. Los datos del controlador se utilizan para configurar mapas de acciones para los usuarios que pueden tener acceso al hardware relevante.


void _on_session_created(session: int) virtual 🔗

Llamado justo después de que se cree la sesión de OpenXR.


void _on_session_destroyed() virtual 🔗

Llamado justo antes de que se destruya la sesión de OpenXR.


void _on_state_exiting() virtual 🔗

Llamado cuando el estado de la sesión OpenXR cambia a saliendo (exiting).


void _on_state_focused() virtual 🔗

Llamado cuando el estado de la sesión OpenXR cambia a enfocado (focused). Este es el estado activo cuando se ejecuta el juego.


void _on_state_idle() virtual 🔗

Llamado cuando el estado de la sesión OpenXR cambia a inactivo (idle).


void _on_state_loss_pending() virtual 🔗

Llamado cuando el estado de la sesión OpenXR cambia a pérdida pendiente.


void _on_state_ready() virtual 🔗

Llamado cuando el estado de la sesión OpenXR cambia a listo (ready). Esto significa que OpenXR está listo para configurar la sesión.


void _on_state_stopping() virtual 🔗

Llamado cuando el estado de la sesión OpenXR cambia a deteniéndose (stopping).


void _on_state_synchronized() virtual 🔗

Llamado cuando el estado de la sesión OpenXR cambia a sincronizado (synchronized). OpenXR también vuelve a este estado cuando la aplicación pierde el foco.


void _on_state_visible() virtual 🔗

Llamado cuando el estado de la sesión OpenXR cambia a visible. Esto significa que OpenXR ahora está listo para recibir fotogramas.


void _on_sync_actions() virtual 🔗

Llamado cuando OpenXR ha realizado su sincronización de acciones.


void _on_viewport_composition_layer_destroyed(layer: const void*) virtual 🔗

Llamado cuando una capa de composición creada a través de OpenXRCompositionLayer es destruida.

layer es un puntero a una estructura XrCompositionLayerBaseHeader.


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

Añade estructuras de datos adicionales a las swapchains de superficie de Android creadas por OpenXRCompositionLayer.

property_values contiene los valores de las propiedades devueltas por _get_viewport_composition_layer_extension_properties().


int _set_frame_end_info_and_get_next_pointer(next_pointer: void*) virtual 🔗

Añade estructuras de datos adicionales a XrFrameEndInfo.

Esto sólo se llamará si la extensión se ha registrado previamente con OpenXRAPIExtension.register_frame_info_extension().


int _set_frame_wait_info_and_get_next_pointer(next_pointer: void*) virtual 🔗

Añade estructuras de datos adicionales a XrFrameWaitInfo.

Esto sólo se llamará si la extensión se ha registrado previamente con OpenXRAPIExtension.register_frame_info_extension().


int _set_hand_joint_locations_and_get_next_pointer(hand_index: int, next_pointer: void*) virtual 🔗

Añade estructuras de datos adicionales cuando se crea cada rastreador de mano.


int _set_instance_create_info_and_get_next_pointer(next_pointer: void*) virtual 🔗

Añade estructuras de datos adicionales cuando se crea la instancia de OpenXR.


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

Añade estructuras de datos adicionales a la vista de proyección del view_index dado.


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

Añade estructuras de datos adicionales a XrReferenceSpaceCreateInfo.


int _set_session_create_and_get_next_pointer(next_pointer: void*) virtual 🔗

Añade estructuras de datos adicionales cuando se crea la sesión de OpenXR.


int _set_swapchain_create_info_and_get_next_pointer(next_pointer: void*) virtual 🔗

Adds additional data structures when creating OpenXR swapchains.


int _set_system_properties_and_get_next_pointer(next_pointer: void*) virtual 🔗

Añade estructuras de datos adicionales al consultar las capacidades del sistema OpenXR.


int _set_view_locate_info_and_get_next_pointer(next_pointer: void*) virtual 🔗

Añade estructuras de datos adicionales a XrViewLocateInfo.

Esto solo se llamará si la extensión se registró previamente con OpenXRAPIExtension.register_frame_info_extension().


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

Añade estructuras de datos adicionales a las capas de composición creadas por OpenXRCompositionLayer.

property_values contiene los valores de las propiedades devueltas por _get_viewport_composition_layer_extension_properties().

layer es un puntero a una estructura XrCompositionLayerBaseHeader.


OpenXRAPIExtension get_openxr_api() 🔗

Devuelve la OpenXRAPIExtension creada, que se puede utilizar para acceder a la API de OpenXR.


void register_extension_wrapper() 🔗

Registra la extensión. Esto debería ocurrir en el nivel de inicialización del módulo central.