Namespace Wave.OpenXR
Classes
ClientInterface
DisableVisibilityMask
OpenXRHelper
VisibilityMaskDisabler
VIVEFocus3Feature
VIVEFocus3Profile
This UnityEngine.XR.OpenXR.Features.OpenXRInteractionFeature enables the use of HTC VIVE Focus 3 interaction profiles in OpenXR.
VIVEFocus3Profile.VIVEFocus3Controller
An Input System device based on the hand interaction profile in the Interaction Profile.
ViveFoveation
Structs
XrBool32
Boolean values used by OpenXR are of type XrBool32 and are 32-bits wide as suggested by the name.
XrColor4f
Unless otherwise specified, colors are encoded as linear (not with sRGB nor other gamma compression) values with individual components being in the range of 0.0 through 1.0, and without the RGB components being premultiplied by the alpha component.
If color encoding is specified as being premultiplied by the alpha component, the RGB components are set to zero if the alpha component is zero.
XrDuration
The difference between two timepoints is a duration, and thus the difference between two XrTime values is an XrDuration value.
Functions that refer to durations use XrDuration as opposed to XrTime.
XrExtent2Df
A two-dimensional floating-point extent is defined by XrExtent2Df.
XrExtent2Di
A two-dimensional integer extent is defined by the XrExtent2Di.
XrFlags64
Bitmasks are passed to many functions and structures to compactly represent options and are stored in memory defined by the XrFlags64 type. But the API does not use the XrFlags64 type directly. Instead, a Xr*Flags type is used which is an alias of the XrFlags64 type. The API also defines a set of constant bit definitions used to set the bitmasks.
XrFoveationConfigurationHTC
XrInstance
An OpenXR instance is an object that allows an OpenXR application to communicate with an OpenXR runtime. The application accomplishes this communication by calling
The XrInstance object stores and tracks OpenXR-related application state, without storing any such state in the application’s global address space. This allows the application to create multiple instances as well as safely encapsulate the application’s OpenXR state since this object is opaque to the application. OpenXR runtimes may limit the number of simultaneous XrInstance objects that may be created and used, but they must support the creation and usage of at least one XrInstance object per process.
XrOffset2Di
An integer offset is defined by the XrOffset2Di.
XrPosef
A pose is defined by the XrPosef structure.
XrQuaternionf
Rotation is represented by a unit quaternion defined by the XrQuaternionf structure.
XrRect2Di
A rectangle with integer values is defined by the XrRect2Di.
XrReferenceSpaceCreateInfo
A structure indicates the space.
XrSession
A session represents an application’s intention to display XR content to the user.
Refer to Session Lifecycle for more details.
XrSessionCreateFlags
There are currently no session creation flags. This is reserved for future use.
XrSessionCreateInfo
A structure contains information about how to create the session.
XrSpace
Across both virtual reality and augmented reality, XR applications have a core need to map the location of virtual objects to the corresponding real-world locations where they will be rendered. Spaces allow applications to explicitly create and specify the frames of reference in which they choose to track the real world, and then determine how those frames of reference move relative to one another over time.
Spaces are represented by XrSpace handles, which the application creates and then uses in API calls. Whenever an application calls a function that returns coordinates, it provides an XrSpace to specify the frame of reference in which those coordinates will be expressed. Similarly, when providing coordinates to a function, the application specifies which XrSpace the runtime should use to interpret those coordinates.
OpenXR defines a set of well-known reference spaces that applications use to bootstrap their spatial reasoning. These reference spaces are: VIEW, LOCAL and STAGE. Each reference space has a well-defined meaning, which establishes where its origin is positioned and how its axes are oriented.
Runtimes whose tracking systems improve their understanding of the world over time may track spaces independently. For example, even though a LOCAL space and a STAGE space each map their origin to a static position in the world, a runtime with an inside-out tracking system may introduce slight adjustments to the origin of each space on a continuous basis to keep each origin in place.
Beyond well-known reference spaces, runtimes expose other independently-tracked spaces, such as a pose action space that tracks the pose of a motion controller over time.
When one or both spaces are tracking a dynamic object, passing in an updated time to
Some devices improve their understanding of the world as the device is used. The location returned by
Composition layers submitted by the application include an XrSpace for the runtime to use to position that layer over time. Composition layers whose XrSpace is relative to the VIEW reference space are implicitly "head-locked", even if they may not be "display-locked" for non-head-mounted form factors.
XrSpaceVelocityFlags
Flag bits for XrSpaceVelocityFlags:
XR_SPACE_VELOCITY_LINEAR_VALID_BIT indicates that the linearVelocity member contains valid data. Applications must not read the linearVelocity field if this flag is unset.
XR_SPACE_VELOCITY_ANGULAR_VALID_BIT indicates that the angularVelocity member contains valid data. Applications must not read the angularVelocity field if this flag is unset.
XrSystemGraphicsProperties
A structure indicates the system graphics properties.
XrSystemId
An XrSystemId is an opaque atom used by the runtime to identify a system. The value XR_NULL_SYSTEM_ID is considered an invalid system.
XrSystemProperties
A structure indicates the system properties.
XrSystemTrackingProperties
A structure indicates the system tracking properties.
XrTime
XrTime is a base value type that represents time as a signed 64-bit integer, representing the monotonically-increasing count of nanoseconds that have elapsed since a runtime-chosen epoch. XrTime always represents the time elasped since that constant epoch, rather than a duration or a time point relative to some moving epoch such as vsync time, etc.
XrVector2f
XrVector3f
A three-dimensional vector is defined by the XrVector3f structure.
Enums
XrEnvironmentBlendMode
The possible blend modes are specified by the XrEnvironmentBlendMode enumeration.
XrEyeVisibility
The XrEyeVisibility enum selects which of the viewer’s eyes to display a layer.
XrFoveationLevelHTC
XrFoveationModeHTC
XrObjectType
Defines values, each of which corresponds to a specific OpenXR handle type. These values can be used to associate debug information with a particular type of object through one or more extensions.
XrReferenceSpaceType
Runtimes implement well-known reference spaces from XrReferenceSpaceType if they support tracking of that kind.
XrResult
All return codes in the OpenXR Core API are reported via XrResult return values.
XrSessionState
The XrSessionState enumerates the possible session lifecycle states.
XrSpaceLocationFlags
Flag bits for XrSpaceLocationFlags.
XrStructureType
Any parameter that is a structure containing a type member must have a value of type which is a valid XrStructureType value matching the type of the structure.
Delegates
OpenXRHelper.xrCreateReferenceSpaceDelegate
The function delegate declaration of xrCreateReferenceSpace.
OpenXRHelper.xrCreateSessionDelegate
The function delegate declaration of xrCreateSession.
OpenXRHelper.xrDestroySpaceDelegate
The function delegate declaration of xrDestroySpace.
OpenXRHelper.xrEnumerateReferenceSpacesDelegate
The function delegate declaration of xrEnumerateReferenceSpaces.
OpenXRHelper.xrGetInstanceProcAddrDelegate
The function delegate declaration of xrGetInstanceProcAddr.
OpenXRHelper.xrGetSystemPropertiesDelegate
The function delegate declaration of xrGetSystemProperties.