38#define T5_MAX_STRING_PARAM_LEN (260)
41#define T5_MIN_CAM_IMAGE_BUFFER_WIDTH (768)
44#define T5_MIN_CAM_IMAGE_BUFFER_HEIGHT (600)
69 kT5_MatrixOrder_RowMajor = 1,
70 kT5_MatrixOrder_ColumnMajor = 2,
75 kT5_DepthRange_MinusOneToOne = 1,
76 kT5_DepthRange_ZeroToOne = 2,
84 kT5_CartesianCoordinateHandedness_Left = 1,
85 kT5_CartesianCoordinateHandedness_Right = 2,
T5_GraphicsApi_GL_TextureMode
T5_ConnectionState
Glasses connection state.
T5_MatrixOrder
Matrix order.
T5_ParamGlasses
Possible parameters that can be retrieved for glasses.
uint8_t T5_WandHandle
Opaque handle used with wands.
T5_DepthRange
Z Depth range.
struct T5_ContextImpl * T5_Context
Opaque handle used with system-wide functions.
T5_GraphicsApi
Graphics API types.
T5_GraphicsApi_Vulkan_TextureMode
T5_ParamSys
Possible parameters that can be retrieved with System-wide parameters.
T5_GameboardType
Possible gameboard types.
T5_WandStreamEventType
Wand stream event type.
struct T5_GlassesImpl * T5_Glasses
Opaque handle used with glasses.
T5_GlassesPoseUsage
Glasses pose usage indicator.
T5_CartesianCoordinateHandedness
Handedness of a cartesian coordinate system.
@ kT5_GraphicsApi_GL_TextureMode_Pair
Treat T5_FrameInfo.leftTexHandle and T5_FrameInfo.rightTexHandle as a pair of GL_TEXTURE_2D.
@ kT5_GraphicsApi_GL_TextureMode_Array
Treat T5_FrameInfo.leftTexHandle as a GL_TEXTURE_2D_ARRAY. T5_FrameInfo.rightTexHandle is unused.
@ kT5_ConnectionState_Disconnected
Glasses were previously exclusively connected, but the device has disconnected.
@ kT5_ConnectionState_ExclusiveConnection
Glasses are connected for exclusive use.
@ kT5_ConnectionState_NotExclusivelyConnected
Glasses have not been exclusively connected or reserved.
@ kT5_ConnectionState_ExclusiveReservation
Glasses are reserved for exclusive use.
@ kT5_ParamGlasses_Float_IPD
Interpupillary distance - Float, millimeters
@ kT5_ParamGlasses_UTF8_FriendlyName
User-facing name of the glasses - UTF8.
@ kT5_GraphicsApi_Vulkan
Vulkan.
@ kT5_GraphicsApi_None
No graphics API (for clients that don't send frames)
@ kT5_GraphicsApi_D3D11
Direct3D 11 (Windows Only)
@ kT5_GraphicsApi_GL
OpenGL.
@ kT5_Hand_Right
Right hand.
@ kT5_Hand_Unknown
Hand unknown.
@ kT5_Hand_Left
Left hand.
@ kT5_GraphicsApi_Vulkan_TextureMode_Image
Treat T5_FrameInfo.leftTexHandle and T5_FrameInfo.rightTexHandle as a pair of pointers to VkImage han...
@ kT5_GraphicsApi_Vulkan_TextureMode_ImageView
Treat T5_FrameInfo.leftTexHandle and T5_FrameInfo.rightTexHandle as a pair of pointers to VkImageView...
@ kT5_ParamSys_Integer_CPL_AttRequired
Non-zero if the control panel requires user interaction (E.g. Important firmware update) - Integer,...
@ kT5_ParamSys_UTF8_Service_Version
Version of the service software - UTF8.
@ kT5_GameboardType_LE
An LE gameboard.
@ kT5_GameboardType_XE
An XE gameboard, flap laid flat.
@ kT5_GameboardType_None
No gameboard.
@ kT5_GameboardType_XE_Raised
An XE gameboard, flap raised at an angle on the kickstand.
@ kT5_WandStreamEventType_Connect
Wand connected.
@ kT5_WandStreamEventType_Disconnect
Wand disconnected.
@ kT5_WandStreamEventType_Report
Wand report (Pose, Buttons, Trigger, Stick, Battery)
@ kT5_WandStreamEventType_Desync
Stream has desynchronized.
@ kT5_GlassesPoseUsage_GlassesPresentation
The pose will be used to render images to be presented on the glasses.
@ kT5_GlassesPoseUsage_SpectatorPresentation
The pose will be used to render images to be presented on a device other than the glasses,...
Camera Frame information to be retrieved with t5GetFilledCamImageBuffer()
T5_Quat rotToCAM_GBD
The rotation of the camera relative to the GBD.
uint8_t illuminationMode
The illumination mode for incoming frames. 0 for unknown frame. 1 for Light frames....
uint8_t * pixelData
The image buffer being filled by the Tilt Five service.
uint16_t imageHeight
The height of the image in the image buffer. Empty buffers should set these parameters to 0.
uint16_t imageStride
The stride of the image in the image buffer. Empty buffers should set these parameters to 0.
uint32_t bufferSize
The total size of the provided image buffer. Must be at least T5_MIN_CAM_IMAGE_BUFFER_WIDTH * T5_MIN_...
T5_Vec3 posCAM_GBD
The position of the camera relative to the GBD.
uint8_t cameraIndex
The index of the desired camera. 0 for tangible tracking camera, 1 for head tracking camera.
uint16_t imageWidth
The width of the image in the image buffer. Empty buffers should set these parameters to 0.
Camera stream configuration.
uint8_t cameraIndex
The index of the camera to be modified.
bool enabled
Enable or disable the camera stream. True = enabled.
Client provided information for use with t5CreateGlasses()
uint8_t sdkType
The SDK type.
const char * applicationId
The application ID.
const char * applicationVersion
The application version.
uint64_t reserved
RESERVED: Must be set to 0.
Render information to be used with t5SendFrameToGlasses()
T5_Quat rotToLVC_GBD
The rotation from GBD to VC, the virtual camera reference frame for the left eye.
void * rightTexHandle
Texture handle for the right image.
T5_Vec3 posLVC_GBD
The position of VC, the virtual camera reference frame, relative to GBD for the left eye.
bool isUpsideDown
True if the image is 'upside down'.
bool isSrgb
True if the texture is srgb. This is only relevant for the OpenGL graphics API.
T5_Vec3 posRVC_GBD
The position of VC, the virtual camera reference frame, relative to GBD for the right eye.
uint16_t texWidth_PIX
Width of the textures pointed to by leftTexHandle and rightTexHandle.
uint16_t texHeight_PIX
Height of the textures pointed to by leftTexHandle and rightTexHandle.
void * leftTexHandle
Texture handle for the left image.
T5_Quat rotToRVC_GBD
The rotation from GBD to VC, the virtual camera reference frame for the right eye.
Physical dimensions of a gameboard.
float viewableExtentNegativeY
The distance in meters from the gameboard origin to the edge of the viewable area in the negative Y d...
float viewableExtentPositiveZ
The distance in meters above the gameboard origin that the viewable area extends in the positive Z di...
float viewableExtentPositiveY
The distance in meters from the gameboard origin to the edge of the viewable area in the positive Y d...
float viewableExtentNegativeX
The distance in meters from the gameboard origin to the edge of the viewable area in the negative X d...
float viewableExtentPositiveX
The distance in meters from the gameboard origin to the edge of the viewable area in the positive X d...
Glasses pose information to be retrieved with t5GetGlassesPose()
uint64_t timestampNanos
The timestamp of the pose.
T5_Vec3 posGLS_GBD
The position of the origin of the GLS (glasses) frame relative to the GBD (gameboard) frame.
T5_Quat rotToGLS_GBD
The rotation that transforms points in the GBD (gameboard) frame orientation to the GLS (glasses) fra...
T5_GameboardType gameboardType
The type of gameboard visible for this pose.
T5_GraphicsApi_GL_TextureMode textureMode
Specify the interpretation of the texture handles in T5_FrameInfo.
uint32_t rightEyeArrayIndex
In kT5_GraphicsApi_GL_TextureMode_Array, specify the array index of the right eye.
uint32_t leftEyeArrayIndex
In kT5_GraphicsApi_GL_TextureMode_Array, specify the array index of the left eye.
void * physicalDevice
A pointer to a VkPhysicalDevice.
T5_GraphicsApi_Vulkan_TextureMode textureMode
Specify the interpretation of the texture handles in T5_FrameInfo.
void * queue
A pointer to a VkQueue.
void * device
A pointer to a VkDevice.
void * instance
A pointer to a VkInstance.
uint32_t queueFamilyIndex
The queue family index used to create the queue.
uint16_t framebufferWidth
Framebuffer Width.
uint16_t framebufferHeight
Framebuffer Height.
double fieldOfView
Field of View (Y Axis in Degrees)
double aspectRatio
Aspect Ratio.
Contains wand related information (Pose, Buttons, Trigger, Stick, Battery)
bool poseValid
Validity of pose parameters. True = valid.
bool batteryValid
Validity of battery parameters. True = valid.
uint64_t timestampNanos
The timestamp of the wand event in nanoseconds.
T5_Quat rotToWND_GBD
WND/GBD rotation unit quaternion.
T5_Vec3 posGrip_GBD
Position (Grip) - Vector3f.
float trigger
Trigger - Analog, Range [0.0 - 1.0], 1.0 = Fully depressed.
T5_Vec3 posAim_GBD
Position (Aim Point) - Vector3f.
bool analogValid
Validity of analog parameters. True = valid.
bool buttonsValid
Validity of button parameters. True = valid.
T5_Vec3 posFingertips_GBD
Position (Fingertips) - Vector3f.
T5_Vec2 stick
Stick (X/Y) - Analog, Range [-1.0 - 1.0], 0 = Centered, 1.0 = Top/Right.
Wand stream configuration.
bool enabled
Enable or disable the entire stream. True = enabled.
Represents an event from the wand stream.
uint64_t timestampNanos
The timestamp of the wand event in nanoseconds.
T5_WandReport report
Report (Valid if type = kT5_WandStreamEventType_Report)
T5_WandStreamEventType type
Type of event.
T5_WandHandle wandId
Opaque identifier for the wand.