Documentation
¶
Overview ¶
Package OpenXRExtensionWrapperExtension provides methods for working with OpenXRExtensionWrapperExtension object instances.
Index ¶
- type Advanced
- type Any
- type Implementation
- type Instance
- func (self Instance) AsObject() [1]gd.Object
- func (self Instance) AsOpenXRExtensionWrapperExtension() Instance
- func (self Instance) GetOpenxrApi() [1]gdclass.OpenXRAPIExtension
- func (self Instance) RegisterExtensionWrapper()
- func (self *Instance) UnsafePointer() unsafe.Pointer
- func (self Instance) Virtual(name string) reflect.Value
- type Interface
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Advanced ¶
type Advanced = class
Advanced exposes a 1:1 low-level instance of the class, undocumented, for those who know what they are doing.
type Implementation ¶
type Implementation = implementation
Implementation implements Interface with empty methods.
type Instance ¶
type Instance [1]gdclass.OpenXRExtensionWrapperExtension
[OpenXRExtensionWrapperExtension] allows clients to implement OpenXR extensions with GDExtension. The extension should be registered with [method register_extension_wrapper].
See [Interface] for methods that can be overridden by a [Class] that extends it.
%!(EXTRA string=OpenXRExtensionWrapperExtension)
var Nil Instance
Nil is a nil/null instance of the class. Equivalent to the zero value.
func (Instance) AsOpenXRExtensionWrapperExtension ¶
func (Instance) GetOpenxrApi ¶
func (self Instance) GetOpenxrApi() [1]gdclass.OpenXRAPIExtension
Returns the created [OpenXRAPIExtension], which can be used to access the OpenXR API.
func (Instance) RegisterExtensionWrapper ¶
func (self Instance) RegisterExtensionWrapper()
Registers the extension. This should happen at core module initialization level.
func (*Instance) UnsafePointer ¶
type Interface ¶
type Interface interface { //Returns a [Dictionary] of OpenXR extensions related to this extension. The [Dictionary] should contain the name of the extension, mapped to a [code]bool *[/code] cast to an integer: //- If the [code]bool *[/code] is a [code]nullptr[/code] this extension is mandatory. //- If the [code]bool *[/code] points to a boolean, the boolean will be updated to [code]true[/code] if the extension is enabled. GetRequestedExtensions() map[any]any //Adds additional data structures when interogating OpenXR system abilities. SetSystemPropertiesAndGetNextPointer(next_pointer unsafe.Pointer) int //Adds additional data structures when the OpenXR instance is created. SetInstanceCreateInfoAndGetNextPointer(next_pointer unsafe.Pointer) int //Adds additional data structures when the OpenXR session is created. SetSessionCreateAndGetNextPointer(next_pointer unsafe.Pointer) int //Adds additional data structures when creating OpenXR swapchains. SetSwapchainCreateInfoAndGetNextPointer(next_pointer unsafe.Pointer) int //Adds additional data structures when each hand tracker is created. SetHandJointLocationsAndGetNextPointer(hand_index int, next_pointer unsafe.Pointer) int //Returns the number of composition layers this extension wrapper provides via [method _get_composition_layer]. //This will only be called if the extension previously registered itself with [method OpenXRAPIExtension.register_composition_layer_provider]. GetCompositionLayerCount() int //Returns a pointer to an [code]XrCompositionLayerBaseHeader[/code] struct to provide the given composition layer. //This will only be called if the extension previously registered itself with [method OpenXRAPIExtension.register_composition_layer_provider]. GetCompositionLayer(index int) int //Returns an integer that will be used to sort the given composition layer provided via [method _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 [code]0[/code], so layers provided by this method should probably be above or below (but not exactly) [code]0[/code]. //This will only be called if the extension previously registered itself with [method OpenXRAPIExtension.register_composition_layer_provider]. GetCompositionLayerOrder(index int) int //Returns a [PackedStringArray] of positional tracker names that are used within the extension wrapper. GetSuggestedTrackerNames() []string //Allows extensions to register additional controller metadata. This function is called even when the OpenXR API is not constructed as the metadata needs to be available to the editor. //Extensions should also provide metadata regardless of whether they are supported on the host system. The controller data is used to setup action maps for users who may have access to the relevant hardware. OnRegisterMetadata() //Called before the OpenXR instance is created. OnBeforeInstanceCreated() //Called right after the OpenXR instance is created. OnInstanceCreated(instance int) //Called right before the OpenXR instance is destroyed. OnInstanceDestroyed() //Called right after the OpenXR session is created. OnSessionCreated(session int) //Called as part of the OpenXR process handling. This happens right before general and physics processing steps of the main loop. During this step controller data is queried and made available to game logic. OnProcess() //Called right before the XR viewports begin their rendering step. OnPreRender() //Called right after the main swapchains are (re)created. OnMainSwapchainsCreated() //Called right before the OpenXR session is destroyed. OnSessionDestroyed() //Called when the OpenXR session state is changed to idle. OnStateIdle() //Called when the OpenXR session state is changed to ready. This means OpenXR is ready to set up the session. OnStateReady() //Called when the OpenXR session state is changed to synchronized. OpenXR also returns to this state when the application loses focus. OnStateSynchronized() //Called when the OpenXR session state is changed to visible. This means OpenXR is now ready to receive frames. OnStateVisible() //Called when the OpenXR session state is changed to focused. This state is the active state when the game runs. OnStateFocused() //Called when the OpenXR session state is changed to stopping. OnStateStopping() //Called when the OpenXR session state is changed to loss pending. OnStateLossPending() //Called when the OpenXR session state is changed to exiting. OnStateExiting() //Called when there is an OpenXR event to process. When implementing, return [code]true[/code] if the event was handled, return [code]false[/code] otherwise. OnEventPolled(event unsafe.Pointer) bool //Adds additional data structures to composition layers created by [OpenXRCompositionLayer]. //[param property_values] contains the values of the properties returned by [method _get_viewport_composition_layer_extension_properties]. //[param layer] is a pointer to an [code]XrCompositionLayerBaseHeader[/code] struct. SetViewportCompositionLayerAndGetNextPointer(layer unsafe.Pointer, property_values map[any]any, next_pointer unsafe.Pointer) int //Gets an array of [Dictionary]s that represent properties, just like [method Object._get_property_list], that will be added to [OpenXRCompositionLayer] nodes. GetViewportCompositionLayerExtensionProperties() []map[any]any //Gets a [Dictionary] containing the default values for the properties returned by [method _get_viewport_composition_layer_extension_properties]. GetViewportCompositionLayerExtensionPropertyDefaults() map[any]any //Called when a composition layer created via [OpenXRCompositionLayer] is destroyed. //[param layer] is a pointer to an [code]XrCompositionLayerBaseHeader[/code] struct. OnViewportCompositionLayerDestroyed(layer unsafe.Pointer) }