Tilt Five NDK  1.4.1
Tilt Fiveā„¢ Common Types

Data Structures

struct  T5_Vec2
 2D vector More...
 
struct  T5_Vec3
 3D vector More...
 
struct  T5_Quat
 Quaternion. More...
 
struct  T5_GraphicsContextGL
 
struct  T5_GraphicsContextVulkan
 
struct  T5_GameboardSize
 Physical dimensions of a gameboard. More...
 
struct  T5_ClientInfo
 Client provided information for use with t5CreateGlasses() More...
 
struct  T5_GlassesPose
 Glasses pose information to be retrieved with t5GetGlassesPose() More...
 
struct  T5_CameraStreamConfig
 Camera stream configuration. More...
 
struct  T5_FrameInfo
 Render information to be used with t5SendFrameToGlasses() More...
 
struct  T5_CamImage
 Camera Frame information to be retrieved with t5GetFilledCamImageBuffer() More...
 
struct  T5_WandStreamConfig
 Wand stream configuration. More...
 
struct  T5_WandReport
 Contains wand related information (Pose, Buttons, Trigger, Stick, Battery) More...
 
struct  T5_WandStreamEvent
 Represents an event from the wand stream. More...
 
struct  T5_ProjectionInfo
 Projection parameters. More...
 

Macros

#define T5_MAX_STRING_PARAM_LEN   (260)
 The maximum number of characters allowed for string values. More...
 
#define T5_MIN_CAM_IMAGE_BUFFER_WIDTH   (768)
 The minimum width required for camera image buffers. More...
 
#define T5_MIN_CAM_IMAGE_BUFFER_HEIGHT   (600)
 The minimum height required for camera image buffers. More...
 

Typedefs

typedef struct T5_ContextImpl * T5_Context
 Opaque handle used with system-wide functions. More...
 
typedef struct T5_GlassesImpl * T5_Glasses
 Opaque handle used with glasses. More...
 
typedef uint8_t T5_WandHandle
 Opaque handle used with wands. More...
 

Enumerations

enum  T5_MatrixOrder { kT5_MatrixOrder_RowMajor = 1 , kT5_MatrixOrder_ColumnMajor = 2 }
 Matrix order. More...
 
enum  T5_DepthRange { kT5_DepthRange_MinusOneToOne = 1 , kT5_DepthRange_ZeroToOne = 2 }
 Z Depth range. More...
 
enum  T5_CartesianCoordinateHandedness { kT5_CartesianCoordinateHandedness_Left = 1 , kT5_CartesianCoordinateHandedness_Right = 2 }
 Handedness of a cartesian coordinate system. More...
 
enum  T5_GraphicsApi { kT5_GraphicsApi_None = 1 , kT5_GraphicsApi_GL = 2 , kT5_GraphicsApi_D3D11 = 3 , kT5_GraphicsApi_Vulkan = 4 }
 Graphics API types. More...
 
enum  T5_GraphicsApi_GL_TextureMode { kT5_GraphicsApi_GL_TextureMode_Pair = 1 , kT5_GraphicsApi_GL_TextureMode_Array = 2 }
 
enum  T5_GraphicsApi_Vulkan_TextureMode { kT5_GraphicsApi_Vulkan_TextureMode_Image = 1 , kT5_GraphicsApi_Vulkan_TextureMode_ImageView = 2 }
 
enum  T5_GameboardType { kT5_GameboardType_None = 1 , kT5_GameboardType_LE = 2 , kT5_GameboardType_XE = 3 , kT5_GameboardType_XE_Raised = 4 }
 Possible gameboard types. More...
 
enum  T5_ConnectionState { kT5_ConnectionState_ExclusiveConnection = 1 , kT5_ConnectionState_ExclusiveReservation = 2 , kT5_ConnectionState_NotExclusivelyConnected = 3 , kT5_ConnectionState_Disconnected = 4 }
 Glasses connection state. More...
 
enum  T5_GlassesPoseUsage { kT5_GlassesPoseUsage_GlassesPresentation = 1 , kT5_GlassesPoseUsage_SpectatorPresentation = 2 }
 Glasses pose usage indicator. More...
 
enum  T5_WandStreamEventType { kT5_WandStreamEventType_Connect = 1 , kT5_WandStreamEventType_Disconnect = 2 , kT5_WandStreamEventType_Desync = 3 , kT5_WandStreamEventType_Report = 4 }
 Wand stream event type. More...
 
enum  T5_Hand { kT5_Hand_Unknown = 0 , kT5_Hand_Left = 1 , kT5_Hand_Right = 2 }
 Wand hand. More...
 
enum  T5_ParamGlasses { kT5_ParamGlasses_Float_IPD = 1 , kT5_ParamGlasses_UTF8_FriendlyName = 6 }
 Possible parameters that can be retrieved for glasses. More...
 
enum  T5_ParamSys { kT5_ParamSys_UTF8_Service_Version = 1 , kT5_ParamSys_Integer_CPL_AttRequired = 2 }
 Possible parameters that can be retrieved with System-wide parameters. More...
 

Detailed Description

Common types for use with C and C++ interface

Macro Definition Documentation

◆ T5_MAX_STRING_PARAM_LEN

#define T5_MAX_STRING_PARAM_LEN   (260)

The maximum number of characters allowed for string values.

Definition at line 38 of file types.h.

◆ T5_MIN_CAM_IMAGE_BUFFER_HEIGHT

#define T5_MIN_CAM_IMAGE_BUFFER_HEIGHT   (600)

The minimum height required for camera image buffers.

Definition at line 44 of file types.h.

◆ T5_MIN_CAM_IMAGE_BUFFER_WIDTH

#define T5_MIN_CAM_IMAGE_BUFFER_WIDTH   (768)

The minimum width required for camera image buffers.

Definition at line 41 of file types.h.

Typedef Documentation

◆ T5_Context

typedef struct T5_ContextImpl* T5_Context

Opaque handle used with system-wide functions.

Obtained from t5GetContext().
Release with t5ReleaseContext().

Definition at line 92 of file types.h.

◆ T5_Glasses

typedef struct T5_GlassesImpl* T5_Glasses

Opaque handle used with glasses.

Obtained from t5CreateGlasses().
Released with t5DestroyGlasses().

Definition at line 98 of file types.h.

◆ T5_WandHandle

typedef uint8_t T5_WandHandle

Opaque handle used with wands.

Obtained from t5ListWandsForGlasses().
Release not currently required.

Definition at line 104 of file types.h.

Enumeration Type Documentation

◆ T5_CartesianCoordinateHandedness

Handedness of a cartesian coordinate system.

For an explanation of coordinate system handedness, refer to https://learn.microsoft.com/en-us/windows/win32/direct3d9/coordinate-systems

Definition at line 83 of file types.h.

◆ T5_ConnectionState

Glasses connection state.

Enumerator
kT5_ConnectionState_ExclusiveConnection 

Glasses are connected for exclusive use.

kT5_ConnectionState_ExclusiveReservation 

Glasses are reserved for exclusive use.

kT5_ConnectionState_NotExclusivelyConnected 

Glasses have not been exclusively connected or reserved.

kT5_ConnectionState_Disconnected 

Glasses were previously exclusively connected, but the device has disconnected.

Definition at line 234 of file types.h.

◆ T5_DepthRange

Z Depth range.

Definition at line 74 of file types.h.

◆ T5_GameboardType

Possible gameboard types.

Enumerator
kT5_GameboardType_None 

No gameboard.

kT5_GameboardType_LE 

An LE gameboard.

kT5_GameboardType_XE 

An XE gameboard, flap laid flat.

kT5_GameboardType_XE_Raised 

An XE gameboard, flap raised at an angle on the kickstand.

Definition at line 179 of file types.h.

◆ T5_GlassesPoseUsage

Glasses pose usage indicator.

Enumerator
kT5_GlassesPoseUsage_GlassesPresentation 

The pose will be used to render images to be presented on the glasses.

Querying a glasses pose for this usage will return a pose prediction intended to account for
the render and presentation latency. The predicted pose is prone to include errors, and the
rendered images may appear very jittery if they are displayed on a device other than the
glasses. When displayed via the glasses, the on-glasses image stabilization compensates for
this prediction error, so the image should not appear jittery. 
kT5_GlassesPoseUsage_SpectatorPresentation 

The pose will be used to render images to be presented on a device other than the glasses, such at the host system's primary display.

Querying a glasses pose for this usage will return a pose with less noise than that intended for presentation via the glasses.

Definition at line 249 of file types.h.

◆ T5_GraphicsApi

Graphics API types.

Enumerator
kT5_GraphicsApi_None 

No graphics API (for clients that don't send frames)

kT5_GraphicsApi_GL 

OpenGL.

kT5_GraphicsApi_D3D11 

Direct3D 11 (Windows Only)

kT5_GraphicsApi_Vulkan 

Vulkan.

Definition at line 107 of file types.h.

◆ T5_GraphicsApi_GL_TextureMode

Enumerator
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.

Left/Right array index should be specified in T5_GraphicsContextGL::leftEyeArrayIndex and T5_GraphicsContextGL::rightEyeArrayIndex

Definition at line 121 of file types.h.

◆ T5_GraphicsApi_Vulkan_TextureMode

Enumerator
kT5_GraphicsApi_Vulkan_TextureMode_Image 

Treat T5_FrameInfo.leftTexHandle and T5_FrameInfo.rightTexHandle as a pair of pointers to VkImage handles.

kT5_GraphicsApi_Vulkan_TextureMode_ImageView 

Treat T5_FrameInfo.leftTexHandle and T5_FrameInfo.rightTexHandle as a pair of pointers to VkImageView handles.

Definition at line 145 of file types.h.

◆ T5_Hand

enum T5_Hand

Wand hand.

Enumerator
kT5_Hand_Unknown 

Hand unknown.

kT5_Hand_Left 

Left hand.

kT5_Hand_Right 

Right hand.

Definition at line 415 of file types.h.

◆ T5_MatrixOrder

Matrix order.

Definition at line 68 of file types.h.

◆ T5_ParamGlasses

Possible parameters that can be retrieved for glasses.

Enumerator
kT5_ParamGlasses_Float_IPD 

Interpupillary distance - Float, millimeters

kT5_ParamGlasses_UTF8_FriendlyName 

User-facing name of the glasses - UTF8.

Definition at line 500 of file types.h.

◆ T5_ParamSys

Possible parameters that can be retrieved with System-wide parameters.

Enumerator
kT5_ParamSys_UTF8_Service_Version 

Version of the service software - UTF8.

kT5_ParamSys_Integer_CPL_AttRequired 

Non-zero if the control panel requires user interaction (E.g. Important firmware update) - Integer, boolean.

Definition at line 510 of file types.h.

◆ T5_WandStreamEventType

Wand stream event type.

Enumerator
kT5_WandStreamEventType_Connect 

Wand connected.

kT5_WandStreamEventType_Disconnect 

Wand disconnected.

kT5_WandStreamEventType_Desync 

Stream has desynchronized.

kT5_WandStreamEventType_Report 

Wand report (Pose, Buttons, Trigger, Stick, Battery)

Definition at line 400 of file types.h.