37 XRT_BLEND_MODE_OPAQUE = 1 << 0,
38 XRT_BLEND_MODE_ADDITIVE = 1 << 1,
39 XRT_BLEND_MODE_ALPHA_BLEND = 1 << 2,
50 XRT_DISTORTION_MODEL_NONE = 1 << 0,
51 XRT_DISTORTION_MODEL_PANOTOOLS = 1 << 1,
52 XRT_DISTORTION_MODEL_VIVE = 1 << 2,
53 XRT_DISTORTION_MODEL_MESHUV = 1 << 3,
70 XRT_FORMAT_BITMAP_8X1,
71 XRT_FORMAT_BITMAP_8X8,
86 XRT_STEREO_FORMAT_NONE,
305 XRT_SPACE_RELATION_ORIENTATION_VALID_BIT = 0x00000001,
306 XRT_SPACE_RELATION_POSITION_VALID_BIT = 0x00000002,
307 XRT_SPACE_RELATION_LINEAR_VELOCITY_VALID_BIT = 0x00000004,
308 XRT_SPACE_RELATION_ANGULAR_VELOCITY_VALID_BIT = 0x00000008,
309 XRT_SPACE_RELATION_LINEAR_ACCELERATION_VALID_BIT = 0x00000010,
310 XRT_SPACE_RELATION_ANGULAR_ACCELERATION_VALID_BIT = 0x00000020,
311 XRT_SPACE_RELATION_ORIENTATION_TRACKED_BIT = 0x00000040,
312 XRT_SPACE_RELATION_POSITION_TRACKED_BIT = 0x00000080,
313 XRT_SPACE_RELATION_BITMASK_ALL =
314 XRT_SPACE_RELATION_ORIENTATION_VALID_BIT |
315 XRT_SPACE_RELATION_POSITION_VALID_BIT |
316 XRT_SPACE_RELATION_LINEAR_VELOCITY_VALID_BIT |
317 XRT_SPACE_RELATION_ANGULAR_VELOCITY_VALID_BIT |
318 XRT_SPACE_RELATION_LINEAR_ACCELERATION_VALID_BIT |
319 XRT_SPACE_RELATION_ANGULAR_ACCELERATION_VALID_BIT |
320 XRT_SPACE_RELATION_ORIENTATION_TRACKED_BIT |
321 XRT_SPACE_RELATION_POSITION_TRACKED_BIT,
322 XRT_SPACE_RELATION_BITMASK_NONE = 0
340 struct xrt_vec3 linear_acceleration;
341 struct xrt_vec3 angular_acceleration;
357 XRT_DEVICE_GENERIC_HMD = 1,
360 XRT_DEVICE_HYDRA = 3,
361 XRT_DEVICE_DAYDREAM = 4,
398 #define XRT_INPUT_NAME(id, type) ((id << 8) | XRT_INPUT_TYPE_##type) 409 #define XRT_GET_INPUT_TYPE(name) (name & 0xff) 431 XRT_INPUT_PSMV_TRIGGER_VALUE =
XRT_INPUT_NAME(0x0028, VEC1_ZERO_TO_ONE),
443 XRT_INPUT_HYDRA_JOYSTICK_VALUE =
XRT_INPUT_NAME(0x0037, VEC2_MINUS_ONE_TO_ONE),
444 XRT_INPUT_HYDRA_TRIGGER_VALUE =
XRT_INPUT_NAME(0x0038, VEC1_ZERO_TO_ONE),
447 XRT_INPUT_DAYDREAM_TOUCHPAD_CLICK =
XRT_INPUT_NAME(0x0040, BOOLEAN),
449 XRT_INPUT_DAYDREAM_CIRCLE_CLICK =
XRT_INPUT_NAME(0x0042, BOOLEAN),
454 XRT_INPUT_DAYDREAM_TOUCHPAD_VALUE_Y =
XRT_INPUT_NAME(0x0046, VEC1_ZERO_TO_ONE),
482 XRT_OUTPUT_TYPE_VIBRATION = 0x00,
486 #define XRT_OUTPUT_NAME(id, type) ((id << 8) | XRT_OUTPUT_TYPE_##type) 497 XRT_OUTPUT_NAME_PSMV_RUMBLE_VIBRATION = XRT_OUTPUT_NAME(0x0020, VIBRATION),
525 int count = xrt_atomic_dec_return(&xref->count);
532 xrt_atomic_inc_return(&xref->count);
Over & Under.
Definition: xrt_defines.h:89
A tracked pose.
Definition: xrt_defines.h:383
A 3 element vector with single floats.
Definition: xrt_defines.h:131
A 3 element colour with 8 bits per channel.
Definition: xrt_defines.h:166
A pose composed of a position and orientation.
Definition: xrt_defines.h:229
Float input in [-1, 1].
Definition: xrt_defines.h:375
A 2 element vector with single floats.
Definition: xrt_defines.h:120
xrt_input_type
Base type of this inputs.
Definition: xrt_defines.h:369
Vec2 input, components in [-1, 1].
Definition: xrt_defines.h:377
xrt_distortion_model
Which distortion model does the device expose, used both as a bitfield and value. ...
Definition: xrt_defines.h:47
A tightly packed 3x3 matrix of floats.
Definition: xrt_defines.h:266
A quaternion with single floats.
Definition: xrt_defines.h:97
xrt_stereo_format
What type of stereo format a frame has.
Definition: xrt_defines.h:84
A relation with two spaces, includes velocity and acceleration.
Definition: xrt_defines.h:334
Vec3 input, components in [-1, 1].
Definition: xrt_defines.h:379
A 2 element vector with 32 bit integers.
Definition: xrt_defines.h:155
A 1 element vector with single floats.
Definition: xrt_defines.h:110
A union of all output types.
Definition: xrt_defines.h:507
A range of API versions supported.
Definition: xrt_defines.h:286
Boolean (digital, binary) input.
Definition: xrt_defines.h:381
A 4 element colour with floating point channels.
Definition: xrt_defines.h:203
A 3 element vector with 32 bit integers.
Definition: xrt_defines.h:143
xrt_output_name
Name of a output with a baked in type.
Definition: xrt_defines.h:494
xrt_output_type
Base type of this output.
Definition: xrt_defines.h:479
Image size.
Definition: xrt_defines.h:216
A tightly packed 4x4 matrix of floats.
Definition: xrt_defines.h:276
#define XRT_INPUT_NAME(id, type)
Create an enum value for xrt_input_name that packs an ID and input type.
Definition: xrt_defines.h:398
xrt_blend_mode
Which blend mode does the device support, used as both a bitfield and value.
Definition: xrt_defines.h:34
Describes a projection matrix fov.
Definition: xrt_defines.h:240
A 3 element colour with floating point channels.
Definition: xrt_defines.h:191
A 4 element colour with 8 bits per channel.
Definition: xrt_defines.h:178
xrt_device_name
A enum that is used to name devices so that the state trackers can reason about the devices easier...
Definition: xrt_defines.h:355
xrt_format
Common formats, use u_format_* functions to reason about them.
Definition: xrt_defines.h:60
Side by side.
Definition: xrt_defines.h:87
A base class for reference counted objects.
Definition: xrt_defines.h:24
xrt_space_relation_flags
Flags of which components of a xrt_space_relation is valid.
Definition: xrt_defines.h:303
Header holding common defines.
Float input in [0, 1].
Definition: xrt_defines.h:373
Definition: xrt_defines.h:453
A tightly packed 2x2 matrix of floats.
Definition: xrt_defines.h:253
xrt_input_name
Name of a input with a baked in type.
Definition: xrt_defines.h:417
Interleaved pixels.
Definition: xrt_defines.h:88