Monado OpenXR Runtime
|
Common defines and enums for XRT. More...
#include "xrt/xrt_compiler.h"
Go to the source code of this file.
Data Structures | |
struct | xrt_reference |
A base class for reference counted objects. More... | |
struct | xrt_quat |
A quaternion with single floats. More... | |
struct | xrt_vec1 |
A 1 element vector with single floats. More... | |
struct | xrt_vec2 |
A 2 element vector with single floats. More... | |
struct | xrt_vec3 |
A 3 element vector with single floats. More... | |
struct | xrt_vec3_i32 |
A 3 element vector with 32 bit integers. More... | |
struct | xrt_vec2_i32 |
A 2 element vector with 32 bit integers. More... | |
struct | xrt_colour_rgb_u8 |
A 3 element colour with 8 bits per channel. More... | |
struct | xrt_colour_rgba_u8 |
A 4 element colour with 8 bits per channel. More... | |
struct | xrt_colour_rgb_f32 |
A 3 element colour with floating point channels. More... | |
struct | xrt_colour_rgba_f32 |
A 4 element colour with floating point channels. More... | |
struct | xrt_size |
Image size. More... | |
struct | xrt_pose |
A pose composed of a position and orientation. More... | |
struct | xrt_fov |
Describes a projection matrix fov. More... | |
struct | xrt_matrix_2x2 |
A tightly packed 2x2 matrix of floats. More... | |
struct | xrt_matrix_3x3 |
A tightly packed 3x3 matrix of floats. More... | |
struct | xrt_matrix_4x4 |
A tightly packed 4x4 matrix of floats. More... | |
struct | xrt_api_requirements |
A range of API versions supported. More... | |
struct | xrt_space_relation |
A relation with two spaces, includes velocity and acceleration. More... | |
union | xrt_input_value |
A union of all input types. More... | |
union | xrt_output_value |
A union of all output types. More... | |
Macros | |
#define | XRT_INPUT_NAME(id, type) ((id << 8) | XRT_INPUT_TYPE_##type) |
Create an enum value for xrt_input_name that packs an ID and input type. More... | |
#define | XRT_GET_INPUT_TYPE(name) (name & 0xff) |
Extract the xrt_input_type from an xrt_input_name. More... | |
#define | XRT_OUTPUT_NAME(id, type) ((id << 8) | XRT_OUTPUT_TYPE_##type) |
Enumerations | |
enum | xrt_blend_mode { XRT_BLEND_MODE_OPAQUE = 1 << 0, XRT_BLEND_MODE_ADDITIVE = 1 << 1, XRT_BLEND_MODE_ALPHA_BLEND = 1 << 2 } |
Which blend mode does the device support, used as both a bitfield and value. More... | |
enum | xrt_distortion_model { XRT_DISTORTION_MODEL_NONE = 1 << 0, XRT_DISTORTION_MODEL_PANOTOOLS = 1 << 1, XRT_DISTORTION_MODEL_VIVE = 1 << 2, XRT_DISTORTION_MODEL_MESHUV = 1 << 3 } |
Which distortion model does the device expose, used both as a bitfield and value. More... | |
enum | xrt_format { XRT_FORMAT_R8G8B8X8, XRT_FORMAT_R8G8B8A8, XRT_FORMAT_R8G8B8, XRT_FORMAT_R8G8, XRT_FORMAT_R8, XRT_FORMAT_L8, XRT_FORMAT_BITMAP_8X1, XRT_FORMAT_BITMAP_8X8, XRT_FORMAT_YUV888, XRT_FORMAT_YUV422, XRT_FORMAT_MJPEG } |
Common formats, use u_format_* functions to reason about them. More... | |
enum | xrt_stereo_format { XRT_STEREO_FORMAT_NONE, XRT_STEREO_FORMAT_SBS, XRT_STEREO_FORMAT_INTERLEAVED, XRT_STEREO_FORMAT_OAU } |
What type of stereo format a frame has. More... | |
enum | xrt_space_relation_flags { XRT_SPACE_RELATION_ORIENTATION_VALID_BIT = 0x00000001, XRT_SPACE_RELATION_POSITION_VALID_BIT = 0x00000002, XRT_SPACE_RELATION_LINEAR_VELOCITY_VALID_BIT = 0x00000004, XRT_SPACE_RELATION_ANGULAR_VELOCITY_VALID_BIT = 0x00000008, XRT_SPACE_RELATION_LINEAR_ACCELERATION_VALID_BIT = 0x00000010, XRT_SPACE_RELATION_ANGULAR_ACCELERATION_VALID_BIT = 0x00000020, XRT_SPACE_RELATION_ORIENTATION_TRACKED_BIT = 0x00000040, XRT_SPACE_RELATION_POSITION_TRACKED_BIT = 0x00000080, XRT_SPACE_RELATION_BITMASK_ALL, XRT_SPACE_RELATION_BITMASK_NONE = 0 } |
Flags of which components of a xrt_space_relation is valid. More... | |
enum | xrt_device_name { XRT_DEVICE_GENERIC_HMD = 1, XRT_DEVICE_PSMV = 2, XRT_DEVICE_HYDRA = 3, XRT_DEVICE_DAYDREAM = 4 } |
A enum that is used to name devices so that the state trackers can reason about the devices easier. More... | |
enum | xrt_input_type { XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE = 0x00, XRT_INPUT_TYPE_VEC1_MINUS_ONE_TO_ONE = 0x01, XRT_INPUT_TYPE_VEC2_MINUS_ONE_TO_ONE = 0x02, XRT_INPUT_TYPE_VEC3_MINUS_ONE_TO_ONE = 0x03, XRT_INPUT_TYPE_BOOLEAN = 0x04, XRT_INPUT_TYPE_POSE = 0x05 } |
Base type of this inputs. More... | |
enum | xrt_input_name { XRT_INPUT_GENERIC_HEAD_POSE = XRT_INPUT_NAME(0x0000, POSE), XRT_INPUT_GENERIC_HEAD_DETECT = XRT_INPUT_NAME(0x0001, BOOLEAN), XRT_INPUT_PSMV_PS_CLICK = XRT_INPUT_NAME(0x0020, BOOLEAN), XRT_INPUT_PSMV_MOVE_CLICK = XRT_INPUT_NAME(0x0021, BOOLEAN), XRT_INPUT_PSMV_START_CLICK = XRT_INPUT_NAME(0x0022, BOOLEAN), XRT_INPUT_PSMV_SELECT_CLICK = XRT_INPUT_NAME(0x0023, BOOLEAN), XRT_INPUT_PSMV_SQUARE_CLICK = XRT_INPUT_NAME(0x0024, BOOLEAN), XRT_INPUT_PSMV_CROSS_CLICK = XRT_INPUT_NAME(0x0025, BOOLEAN), XRT_INPUT_PSMV_CIRCLE_CLICK = XRT_INPUT_NAME(0x0026, BOOLEAN), XRT_INPUT_PSMV_TRIANGLE_CLICK = XRT_INPUT_NAME(0x0027, BOOLEAN), XRT_INPUT_PSMV_TRIGGER_VALUE = XRT_INPUT_NAME(0x0028, VEC1_ZERO_TO_ONE), XRT_INPUT_PSMV_BODY_CENTER_POSE = XRT_INPUT_NAME(0x0029, POSE), XRT_INPUT_PSMV_BALL_CENTER_POSE = XRT_INPUT_NAME(0x002A, POSE), XRT_INPUT_PSMV_BALL_TIP_POSE = XRT_INPUT_NAME(0x002B, POSE), XRT_INPUT_HYDRA_1_CLICK = XRT_INPUT_NAME(0x0030, BOOLEAN), XRT_INPUT_HYDRA_2_CLICK = XRT_INPUT_NAME(0x0031, BOOLEAN), XRT_INPUT_HYDRA_3_CLICK = XRT_INPUT_NAME(0x0032, BOOLEAN), XRT_INPUT_HYDRA_4_CLICK = XRT_INPUT_NAME(0x0033, BOOLEAN), XRT_INPUT_HYDRA_MIDDLE_CLICK = XRT_INPUT_NAME(0x0034, BOOLEAN), XRT_INPUT_HYDRA_BUMPER_CLICK = XRT_INPUT_NAME(0x0035, BOOLEAN), XRT_INPUT_HYDRA_JOYSTICK_CLICK = XRT_INPUT_NAME(0x0036, BOOLEAN), XRT_INPUT_HYDRA_JOYSTICK_VALUE = XRT_INPUT_NAME(0x0037, VEC2_MINUS_ONE_TO_ONE), XRT_INPUT_HYDRA_TRIGGER_VALUE = XRT_INPUT_NAME(0x0038, VEC1_ZERO_TO_ONE), XRT_INPUT_HYDRA_POSE = XRT_INPUT_NAME(0x0039, POSE), XRT_INPUT_DAYDREAM_TOUCHPAD_CLICK = XRT_INPUT_NAME(0x0040, BOOLEAN), XRT_INPUT_DAYDREAM_BAR_CLICK = XRT_INPUT_NAME(0x0041, BOOLEAN), XRT_INPUT_DAYDREAM_CIRCLE_CLICK = XRT_INPUT_NAME(0x0042, BOOLEAN), XRT_INPUT_DAYDREAM_VOLUP_CLICK = XRT_INPUT_NAME(0x0043, BOOLEAN), XRT_INPUT_DAYDREAM_VOLDN_CLICK = XRT_INPUT_NAME(0x0044, BOOLEAN), XRT_INPUT_DAYDREAM_TOUCHPAD_VALUE_X = XRT_INPUT_NAME(0x0045, VEC1_ZERO_TO_ONE), XRT_INPUT_DAYDREAM_TOUCHPAD_VALUE_Y = XRT_INPUT_NAME(0x0046, VEC1_ZERO_TO_ONE), XRT_INPUT_DAYDREAM_POSE = XRT_INPUT_NAME(0x0047, POSE) } |
Name of a input with a baked in type. More... | |
enum | xrt_output_type { XRT_OUTPUT_TYPE_VIBRATION = 0x00 } |
Base type of this output. More... | |
enum | xrt_output_name { XRT_OUTPUT_NAME_PSMV_RUMBLE_VIBRATION = XRT_OUTPUT_NAME(0x0020, VIBRATION) } |
Name of a output with a baked in type. More... | |
Common defines and enums for XRT.
enum xrt_device_name |
A enum that is used to name devices so that the state trackers can reason about the devices easier.
enum xrt_distortion_model |
Which distortion model does the device expose, used both as a bitfield and value.
enum xrt_format |
Common formats, use u_format_*
functions to reason about them.