Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(367)

Side by Side Diff: third_party/openvr/src/headers/openvr_capi.h

Issue 2754253003: Add OpenVR SDK to third_party (Closed)
Patch Set: feedback Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 //======= Copyright (c) Valve Corporation, All rights reserved. ===============
2 //
3 // Purpose: Header for flatted SteamAPI. Use this for binding to other languages .
4 // This file is auto-generated, do not edit it.
5 //
6 //=============================================================================
7
8 #ifndef __OPENVR_API_FLAT_H__
9 #define __OPENVR_API_FLAT_H__
10 #if defined( _WIN32 ) || defined( __clang__ )
11 #pragma once
12 #endif
13
14 #ifdef __cplusplus
15 #define EXTERN_C extern "C"
16 #else
17 #define EXTERN_C
18 #endif
19
20 #define OPENVR_FNTABLE_CALLTYPE __stdcall
21
22 // OPENVR API export macro
23 #if defined( _WIN32 ) && !defined( _X360 )
24 #if defined( OPENVR_API_EXPORTS )
25 #define S_API EXTERN_C __declspec( dllexport )
26 #elif defined( OPENVR_API_NODLL )
27 #define S_API EXTERN_C
28 #else
29 #define S_API extern "C" __declspec( dllimport )
30 #endif // OPENVR_API_EXPORTS
31 #elif defined( __GNUC__ )
32 #if defined( OPENVR_API_EXPORTS )
33 #define S_API EXTERN_C __attribute__ ((visibility("default")))
34 #else
35 #define S_API EXTERN_C
36 #endif // OPENVR_API_EXPORTS
37 #else // !WIN32
38 #if defined( OPENVR_API_EXPORTS )
39 #define S_API EXTERN_C
40 #else
41 #define S_API EXTERN_C
42 #endif // OPENVR_API_EXPORTS
43 #endif
44
45 #include <stdint.h>
46
47 #if defined( __WIN32 )
48 typedef char bool;
49 #else
50 #include <stdbool.h>
51 #endif
52
53 typedef uint64_t PropertyContainerHandle_t;
54 typedef uint32_t PropertyTypeTag_t;
55
56
57 // OpenVR Constants
58
59 static const unsigned int k_unMaxDriverDebugResponseSize = 32768;
60 static const unsigned int k_unTrackedDeviceIndex_Hmd = 0;
61 static const unsigned int k_unMaxTrackedDeviceCount = 16;
62 static const unsigned int k_unTrackedDeviceIndexOther = 4294967294;
63 static const unsigned int k_unTrackedDeviceIndexInvalid = 4294967295;
64 static const unsigned long k_ulInvalidPropertyContainer = 0;
65 static const unsigned int k_unInvalidPropertyTag = 0;
66 static const unsigned int k_unFloatPropertyTag = 1;
67 static const unsigned int k_unInt32PropertyTag = 2;
68 static const unsigned int k_unUint64PropertyTag = 3;
69 static const unsigned int k_unBoolPropertyTag = 4;
70 static const unsigned int k_unStringPropertyTag = 5;
71 static const unsigned int k_unHmdMatrix34PropertyTag = 20;
72 static const unsigned int k_unHmdMatrix44PropertyTag = 21;
73 static const unsigned int k_unHmdVector3PropertyTag = 22;
74 static const unsigned int k_unHmdVector4PropertyTag = 23;
75 static const unsigned int k_unHiddenAreaPropertyTag = 30;
76 static const unsigned int k_unOpenVRInternalReserved_Start = 1000;
77 static const unsigned int k_unOpenVRInternalReserved_End = 10000;
78 static const unsigned int k_unMaxPropertyStringSize = 32768;
79 static const unsigned int k_unControllerStateAxisCount = 5;
80 static const unsigned long k_ulOverlayHandleInvalid = 0;
81 static const unsigned int k_unScreenshotHandleInvalid = 0;
82 static const char * IVRSystem_Version = "IVRSystem_015";
83 static const char * IVRExtendedDisplay_Version = "IVRExtendedDisplay_001";
84 static const char * IVRTrackedCamera_Version = "IVRTrackedCamera_003";
85 static const unsigned int k_unMaxApplicationKeyLength = 128;
86 static const char * k_pch_MimeType_HomeApp = "vr/home";
87 static const char * k_pch_MimeType_GameTheater = "vr/game_theater";
88 static const char * IVRApplications_Version = "IVRApplications_006";
89 static const char * IVRChaperone_Version = "IVRChaperone_003";
90 static const char * IVRChaperoneSetup_Version = "IVRChaperoneSetup_005";
91 static const char * IVRCompositor_Version = "IVRCompositor_020";
92 static const unsigned int k_unVROverlayMaxKeyLength = 128;
93 static const unsigned int k_unVROverlayMaxNameLength = 128;
94 static const unsigned int k_unMaxOverlayCount = 64;
95 static const unsigned int k_unMaxOverlayIntersectionMaskPrimitivesCount = 32;
96 static const char * IVROverlay_Version = "IVROverlay_014";
97 static const char * k_pch_Controller_Component_GDC2015 = "gdc2015";
98 static const char * k_pch_Controller_Component_Base = "base";
99 static const char * k_pch_Controller_Component_Tip = "tip";
100 static const char * k_pch_Controller_Component_HandGrip = "handgrip";
101 static const char * k_pch_Controller_Component_Status = "status";
102 static const char * IVRRenderModels_Version = "IVRRenderModels_005";
103 static const unsigned int k_unNotificationTextMaxSize = 256;
104 static const char * IVRNotifications_Version = "IVRNotifications_002";
105 static const unsigned int k_unMaxSettingsKeyLength = 128;
106 static const char * IVRSettings_Version = "IVRSettings_002";
107 static const char * k_pch_SteamVR_Section = "steamvr";
108 static const char * k_pch_SteamVR_RequireHmd_String = "requireHmd";
109 static const char * k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver";
110 static const char * k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd";
111 static const char * k_pch_SteamVR_DisplayDebug_Bool = "displayDebug";
112 static const char * k_pch_SteamVR_DebugProcessPipe_String = "debugProcessPipe";
113 static const char * k_pch_SteamVR_EnableDistortion_Bool = "enableDistortion";
114 static const char * k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX";
115 static const char * k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY";
116 static const char * k_pch_SteamVR_SendSystemButtonToAllApps_Bool = "sendSystemBu ttonToAllApps";
117 static const char * k_pch_SteamVR_LogLevel_Int32 = "loglevel";
118 static const char * k_pch_SteamVR_IPD_Float = "ipd";
119 static const char * k_pch_SteamVR_Background_String = "background";
120 static const char * k_pch_SteamVR_BackgroundUseDomeProjection_Bool = "background UseDomeProjection";
121 static const char * k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCame raHeight";
122 static const char * k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRa dius";
123 static const char * k_pch_SteamVR_GridColor_String = "gridColor";
124 static const char * k_pch_SteamVR_PlayAreaColor_String = "playAreaColor";
125 static const char * k_pch_SteamVR_ShowStage_Bool = "showStage";
126 static const char * k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultip leDrivers";
127 static const char * k_pch_SteamVR_DirectMode_Bool = "directMode";
128 static const char * k_pch_SteamVR_DirectModeEdidVid_Int32 = "directModeEdidVid";
129 static const char * k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid";
130 static const char * k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers";
131 static const char * k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speak ersForwardYawOffsetDegrees";
132 static const char * k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestation PowerManagement";
133 static const char * k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses" ;
134 static const char * k_pch_SteamVR_RenderTargetMultiplier_Float = "renderTargetMu ltiplier";
135 static const char * k_pch_SteamVR_AllowAsyncReprojection_Bool = "allowAsyncRepro jection";
136 static const char * k_pch_SteamVR_AllowReprojection_Bool = "allowInterleavedRepr ojection";
137 static const char * k_pch_SteamVR_ForceReprojection_Bool = "forceReprojection";
138 static const char * k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadT racking";
139 static const char * k_pch_SteamVR_DefaultMirrorView_Int32 = "defaultMirrorView";
140 static const char * k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView";
141 static const char * k_pch_SteamVR_MirrorViewGeometry_String = "mirrorViewGeometr y";
142 static const char * k_pch_SteamVR_StartMonitorFromAppLaunch = "startMonitorFromA ppLaunch";
143 static const char * k_pch_SteamVR_StartCompositorFromAppLaunch_Bool = "startComp ositorFromAppLaunch";
144 static const char * k_pch_SteamVR_StartDashboardFromAppLaunch_Bool = "startDashb oardFromAppLaunch";
145 static const char * k_pch_SteamVR_StartOverlayAppsFromDashboard_Bool = "startOve rlayAppsFromDashboard";
146 static const char * k_pch_SteamVR_EnableHomeApp = "enableHomeApp";
147 static const char * k_pch_SteamVR_SetInitialDefaultHomeApp = "setInitialDefaultH omeApp";
148 static const char * k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32 = "CycleBack groundImageTimeSec";
149 static const char * k_pch_SteamVR_RetailDemo_Bool = "retailDemo";
150 static const char * k_pch_SteamVR_IpdOffset_Float = "ipdOffset";
151 static const char * k_pch_Lighthouse_Section = "driver_lighthouse";
152 static const char * k_pch_Lighthouse_DisableIMU_Bool = "disableimu";
153 static const char * k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguati on";
154 static const char * k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguation debug";
155 static const char * k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestat ion";
156 static const char * k_pch_Lighthouse_DBHistory_Bool = "dbhistory";
157 static const char * k_pch_Null_Section = "driver_null";
158 static const char * k_pch_Null_SerialNumber_String = "serialNumber";
159 static const char * k_pch_Null_ModelNumber_String = "modelNumber";
160 static const char * k_pch_Null_WindowX_Int32 = "windowX";
161 static const char * k_pch_Null_WindowY_Int32 = "windowY";
162 static const char * k_pch_Null_WindowWidth_Int32 = "windowWidth";
163 static const char * k_pch_Null_WindowHeight_Int32 = "windowHeight";
164 static const char * k_pch_Null_RenderWidth_Int32 = "renderWidth";
165 static const char * k_pch_Null_RenderHeight_Int32 = "renderHeight";
166 static const char * k_pch_Null_SecondsFromVsyncToPhotons_Float = "secondsFromVsy ncToPhotons";
167 static const char * k_pch_Null_DisplayFrequency_Float = "displayFrequency";
168 static const char * k_pch_UserInterface_Section = "userinterface";
169 static const char * k_pch_UserInterface_StatusAlwaysOnTop_Bool = "StatusAlwaysOn Top";
170 static const char * k_pch_UserInterface_MinimizeToTray_Bool = "MinimizeToTray";
171 static const char * k_pch_UserInterface_Screenshots_Bool = "screenshots";
172 static const char * k_pch_UserInterface_ScreenshotType_Int = "screenshotType";
173 static const char * k_pch_Notifications_Section = "notifications";
174 static const char * k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb";
175 static const char * k_pch_Keyboard_Section = "keyboard";
176 static const char * k_pch_Keyboard_TutorialCompletions = "TutorialCompletions";
177 static const char * k_pch_Keyboard_ScaleX = "ScaleX";
178 static const char * k_pch_Keyboard_ScaleY = "ScaleY";
179 static const char * k_pch_Keyboard_OffsetLeftX = "OffsetLeftX";
180 static const char * k_pch_Keyboard_OffsetRightX = "OffsetRightX";
181 static const char * k_pch_Keyboard_OffsetY = "OffsetY";
182 static const char * k_pch_Keyboard_Smoothing = "Smoothing";
183 static const char * k_pch_Perf_Section = "perfcheck";
184 static const char * k_pch_Perf_HeuristicActive_Bool = "heuristicActive";
185 static const char * k_pch_Perf_NotifyInHMD_Bool = "warnInHMD";
186 static const char * k_pch_Perf_NotifyOnlyOnce_Bool = "warnOnlyOnce";
187 static const char * k_pch_Perf_AllowTimingStore_Bool = "allowTimingStore";
188 static const char * k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit";
189 static const char * k_pch_Perf_TestData_Float = "perfTestData";
190 static const char * k_pch_CollisionBounds_Section = "collisionBounds";
191 static const char * k_pch_CollisionBounds_Style_Int32 = "CollisionBoundsStyle";
192 static const char * k_pch_CollisionBounds_GroundPerimeterOn_Bool = "CollisionBou ndsGroundPerimeterOn";
193 static const char * k_pch_CollisionBounds_CenterMarkerOn_Bool = "CollisionBounds CenterMarkerOn";
194 static const char * k_pch_CollisionBounds_PlaySpaceOn_Bool = "CollisionBoundsPla ySpaceOn";
195 static const char * k_pch_CollisionBounds_FadeDistance_Float = "CollisionBoundsF adeDistance";
196 static const char * k_pch_CollisionBounds_ColorGammaR_Int32 = "CollisionBoundsCo lorGammaR";
197 static const char * k_pch_CollisionBounds_ColorGammaG_Int32 = "CollisionBoundsCo lorGammaG";
198 static const char * k_pch_CollisionBounds_ColorGammaB_Int32 = "CollisionBoundsCo lorGammaB";
199 static const char * k_pch_CollisionBounds_ColorGammaA_Int32 = "CollisionBoundsCo lorGammaA";
200 static const char * k_pch_Camera_Section = "camera";
201 static const char * k_pch_Camera_EnableCamera_Bool = "enableCamera";
202 static const char * k_pch_Camera_EnableCameraInDashboard_Bool = "enableCameraInD ashboard";
203 static const char * k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCa meraForCollisionBounds";
204 static const char * k_pch_Camera_EnableCameraForRoomView_Bool = "enableCameraFor RoomView";
205 static const char * k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGam maR";
206 static const char * k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGam maG";
207 static const char * k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGam maB";
208 static const char * k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGam maA";
209 static const char * k_pch_Camera_BoundsStrength_Int32 = "cameraBoundsStrength";
210 static const char * k_pch_audio_Section = "audio";
211 static const char * k_pch_audio_OnPlaybackDevice_String = "onPlaybackDevice";
212 static const char * k_pch_audio_OnRecordDevice_String = "onRecordDevice";
213 static const char * k_pch_audio_OnPlaybackMirrorDevice_String = "onPlaybackMirro rDevice";
214 static const char * k_pch_audio_OffPlaybackDevice_String = "offPlaybackDevice";
215 static const char * k_pch_audio_OffRecordDevice_String = "offRecordDevice";
216 static const char * k_pch_audio_VIVEHDMIGain = "viveHDMIGain";
217 static const char * k_pch_Power_Section = "power";
218 static const char * k_pch_Power_PowerOffOnExit_Bool = "powerOffOnExit";
219 static const char * k_pch_Power_TurnOffScreensTimeout_Float = "turnOffScreensTim eout";
220 static const char * k_pch_Power_TurnOffControllersTimeout_Float = "turnOffContro llersTimeout";
221 static const char * k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdo gTimeout";
222 static const char * k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchStea mVROnButtonPress";
223 static const char * k_pch_Dashboard_Section = "dashboard";
224 static const char * k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard";
225 static const char * k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode";
226 static const char * k_pch_modelskin_Section = "modelskins";
227 static const char * k_pch_Driver_Enable_Bool = "enable";
228 static const char * IVRScreenshots_Version = "IVRScreenshots_001";
229 static const char * IVRResources_Version = "IVRResources_001";
230
231 // OpenVR Enums
232
233 typedef enum EVREye
234 {
235 EVREye_Eye_Left = 0,
236 EVREye_Eye_Right = 1,
237 } EVREye;
238
239 typedef enum ETextureType
240 {
241 ETextureType_TextureType_DirectX = 0,
242 ETextureType_TextureType_OpenGL = 1,
243 ETextureType_TextureType_Vulkan = 2,
244 ETextureType_TextureType_IOSurface = 3,
245 ETextureType_TextureType_DirectX12 = 4,
246 } ETextureType;
247
248 typedef enum EColorSpace
249 {
250 EColorSpace_ColorSpace_Auto = 0,
251 EColorSpace_ColorSpace_Gamma = 1,
252 EColorSpace_ColorSpace_Linear = 2,
253 } EColorSpace;
254
255 typedef enum ETrackingResult
256 {
257 ETrackingResult_TrackingResult_Uninitialized = 1,
258 ETrackingResult_TrackingResult_Calibrating_InProgress = 100,
259 ETrackingResult_TrackingResult_Calibrating_OutOfRange = 101,
260 ETrackingResult_TrackingResult_Running_OK = 200,
261 ETrackingResult_TrackingResult_Running_OutOfRange = 201,
262 } ETrackingResult;
263
264 typedef enum ETrackedDeviceClass
265 {
266 ETrackedDeviceClass_TrackedDeviceClass_Invalid = 0,
267 ETrackedDeviceClass_TrackedDeviceClass_HMD = 1,
268 ETrackedDeviceClass_TrackedDeviceClass_Controller = 2,
269 ETrackedDeviceClass_TrackedDeviceClass_GenericTracker = 3,
270 ETrackedDeviceClass_TrackedDeviceClass_TrackingReference = 4,
271 } ETrackedDeviceClass;
272
273 typedef enum ETrackedControllerRole
274 {
275 ETrackedControllerRole_TrackedControllerRole_Invalid = 0,
276 ETrackedControllerRole_TrackedControllerRole_LeftHand = 1,
277 ETrackedControllerRole_TrackedControllerRole_RightHand = 2,
278 } ETrackedControllerRole;
279
280 typedef enum ETrackingUniverseOrigin
281 {
282 ETrackingUniverseOrigin_TrackingUniverseSeated = 0,
283 ETrackingUniverseOrigin_TrackingUniverseStanding = 1,
284 ETrackingUniverseOrigin_TrackingUniverseRawAndUncalibrated = 2,
285 } ETrackingUniverseOrigin;
286
287 typedef enum ETrackedDeviceProperty
288 {
289 ETrackedDeviceProperty_Prop_Invalid = 0,
290 ETrackedDeviceProperty_Prop_TrackingSystemName_String = 1000,
291 ETrackedDeviceProperty_Prop_ModelNumber_String = 1001,
292 ETrackedDeviceProperty_Prop_SerialNumber_String = 1002,
293 ETrackedDeviceProperty_Prop_RenderModelName_String = 1003,
294 ETrackedDeviceProperty_Prop_WillDriftInYaw_Bool = 1004,
295 ETrackedDeviceProperty_Prop_ManufacturerName_String = 1005,
296 ETrackedDeviceProperty_Prop_TrackingFirmwareVersion_String = 1006,
297 ETrackedDeviceProperty_Prop_HardwareRevision_String = 1007,
298 ETrackedDeviceProperty_Prop_AllWirelessDongleDescriptions_String = 1008,
299 ETrackedDeviceProperty_Prop_ConnectedWirelessDongle_String = 1009,
300 ETrackedDeviceProperty_Prop_DeviceIsWireless_Bool = 1010,
301 ETrackedDeviceProperty_Prop_DeviceIsCharging_Bool = 1011,
302 ETrackedDeviceProperty_Prop_DeviceBatteryPercentage_Float = 1012,
303 ETrackedDeviceProperty_Prop_StatusDisplayTransform_Matrix34 = 1013,
304 ETrackedDeviceProperty_Prop_Firmware_UpdateAvailable_Bool = 1014,
305 ETrackedDeviceProperty_Prop_Firmware_ManualUpdate_Bool = 1015,
306 ETrackedDeviceProperty_Prop_Firmware_ManualUpdateURL_String = 1016,
307 ETrackedDeviceProperty_Prop_HardwareRevision_Uint64 = 1017,
308 ETrackedDeviceProperty_Prop_FirmwareVersion_Uint64 = 1018,
309 ETrackedDeviceProperty_Prop_FPGAVersion_Uint64 = 1019,
310 ETrackedDeviceProperty_Prop_VRCVersion_Uint64 = 1020,
311 ETrackedDeviceProperty_Prop_RadioVersion_Uint64 = 1021,
312 ETrackedDeviceProperty_Prop_DongleVersion_Uint64 = 1022,
313 ETrackedDeviceProperty_Prop_BlockServerShutdown_Bool = 1023,
314 ETrackedDeviceProperty_Prop_CanUnifyCoordinateSystemWithHmd_Bool = 1024,
315 ETrackedDeviceProperty_Prop_ContainsProximitySensor_Bool = 1025,
316 ETrackedDeviceProperty_Prop_DeviceProvidesBatteryStatus_Bool = 1026,
317 ETrackedDeviceProperty_Prop_DeviceCanPowerOff_Bool = 1027,
318 ETrackedDeviceProperty_Prop_Firmware_ProgrammingTarget_String = 1028,
319 ETrackedDeviceProperty_Prop_DeviceClass_Int32 = 1029,
320 ETrackedDeviceProperty_Prop_HasCamera_Bool = 1030,
321 ETrackedDeviceProperty_Prop_DriverVersion_String = 1031,
322 ETrackedDeviceProperty_Prop_Firmware_ForceUpdateRequired_Bool = 1032,
323 ETrackedDeviceProperty_Prop_ViveSystemButtonFixRequired_Bool = 1033,
324 ETrackedDeviceProperty_Prop_ParentDriver_Uint64 = 1034,
325 ETrackedDeviceProperty_Prop_ReportsTimeSinceVSync_Bool = 2000,
326 ETrackedDeviceProperty_Prop_SecondsFromVsyncToPhotons_Float = 2001,
327 ETrackedDeviceProperty_Prop_DisplayFrequency_Float = 2002,
328 ETrackedDeviceProperty_Prop_UserIpdMeters_Float = 2003,
329 ETrackedDeviceProperty_Prop_CurrentUniverseId_Uint64 = 2004,
330 ETrackedDeviceProperty_Prop_PreviousUniverseId_Uint64 = 2005,
331 ETrackedDeviceProperty_Prop_DisplayFirmwareVersion_Uint64 = 2006,
332 ETrackedDeviceProperty_Prop_IsOnDesktop_Bool = 2007,
333 ETrackedDeviceProperty_Prop_DisplayMCType_Int32 = 2008,
334 ETrackedDeviceProperty_Prop_DisplayMCOffset_Float = 2009,
335 ETrackedDeviceProperty_Prop_DisplayMCScale_Float = 2010,
336 ETrackedDeviceProperty_Prop_EdidVendorID_Int32 = 2011,
337 ETrackedDeviceProperty_Prop_DisplayMCImageLeft_String = 2012,
338 ETrackedDeviceProperty_Prop_DisplayMCImageRight_String = 2013,
339 ETrackedDeviceProperty_Prop_DisplayGCBlackClamp_Float = 2014,
340 ETrackedDeviceProperty_Prop_EdidProductID_Int32 = 2015,
341 ETrackedDeviceProperty_Prop_CameraToHeadTransform_Matrix34 = 2016,
342 ETrackedDeviceProperty_Prop_DisplayGCType_Int32 = 2017,
343 ETrackedDeviceProperty_Prop_DisplayGCOffset_Float = 2018,
344 ETrackedDeviceProperty_Prop_DisplayGCScale_Float = 2019,
345 ETrackedDeviceProperty_Prop_DisplayGCPrescale_Float = 2020,
346 ETrackedDeviceProperty_Prop_DisplayGCImage_String = 2021,
347 ETrackedDeviceProperty_Prop_LensCenterLeftU_Float = 2022,
348 ETrackedDeviceProperty_Prop_LensCenterLeftV_Float = 2023,
349 ETrackedDeviceProperty_Prop_LensCenterRightU_Float = 2024,
350 ETrackedDeviceProperty_Prop_LensCenterRightV_Float = 2025,
351 ETrackedDeviceProperty_Prop_UserHeadToEyeDepthMeters_Float = 2026,
352 ETrackedDeviceProperty_Prop_CameraFirmwareVersion_Uint64 = 2027,
353 ETrackedDeviceProperty_Prop_CameraFirmwareDescription_String = 2028,
354 ETrackedDeviceProperty_Prop_DisplayFPGAVersion_Uint64 = 2029,
355 ETrackedDeviceProperty_Prop_DisplayBootloaderVersion_Uint64 = 2030,
356 ETrackedDeviceProperty_Prop_DisplayHardwareVersion_Uint64 = 2031,
357 ETrackedDeviceProperty_Prop_AudioFirmwareVersion_Uint64 = 2032,
358 ETrackedDeviceProperty_Prop_CameraCompatibilityMode_Int32 = 2033,
359 ETrackedDeviceProperty_Prop_ScreenshotHorizontalFieldOfViewDegrees_Float = 2034,
360 ETrackedDeviceProperty_Prop_ScreenshotVerticalFieldOfViewDegrees_Float = 2035,
361 ETrackedDeviceProperty_Prop_DisplaySuppressed_Bool = 2036,
362 ETrackedDeviceProperty_Prop_DisplayAllowNightMode_Bool = 2037,
363 ETrackedDeviceProperty_Prop_DisplayMCImageWidth_Int32 = 2038,
364 ETrackedDeviceProperty_Prop_DisplayMCImageHeight_Int32 = 2039,
365 ETrackedDeviceProperty_Prop_DisplayMCImageNumChannels_Int32 = 2040,
366 ETrackedDeviceProperty_Prop_DisplayMCImageData_Binary = 2041,
367 ETrackedDeviceProperty_Prop_UsesDriverDirectMode_Bool = 2042,
368 ETrackedDeviceProperty_Prop_AttachedDeviceId_String = 3000,
369 ETrackedDeviceProperty_Prop_SupportedButtons_Uint64 = 3001,
370 ETrackedDeviceProperty_Prop_Axis0Type_Int32 = 3002,
371 ETrackedDeviceProperty_Prop_Axis1Type_Int32 = 3003,
372 ETrackedDeviceProperty_Prop_Axis2Type_Int32 = 3004,
373 ETrackedDeviceProperty_Prop_Axis3Type_Int32 = 3005,
374 ETrackedDeviceProperty_Prop_Axis4Type_Int32 = 3006,
375 ETrackedDeviceProperty_Prop_ControllerRoleHint_Int32 = 3007,
376 ETrackedDeviceProperty_Prop_FieldOfViewLeftDegrees_Float = 4000,
377 ETrackedDeviceProperty_Prop_FieldOfViewRightDegrees_Float = 4001,
378 ETrackedDeviceProperty_Prop_FieldOfViewTopDegrees_Float = 4002,
379 ETrackedDeviceProperty_Prop_FieldOfViewBottomDegrees_Float = 4003,
380 ETrackedDeviceProperty_Prop_TrackingRangeMinimumMeters_Float = 4004,
381 ETrackedDeviceProperty_Prop_TrackingRangeMaximumMeters_Float = 4005,
382 ETrackedDeviceProperty_Prop_ModeLabel_String = 4006,
383 ETrackedDeviceProperty_Prop_IconPathName_String = 5000,
384 ETrackedDeviceProperty_Prop_NamedIconPathDeviceOff_String = 5001,
385 ETrackedDeviceProperty_Prop_NamedIconPathDeviceSearching_String = 5002,
386 ETrackedDeviceProperty_Prop_NamedIconPathDeviceSearchingAlert_String = 5 003,
387 ETrackedDeviceProperty_Prop_NamedIconPathDeviceReady_String = 5004,
388 ETrackedDeviceProperty_Prop_NamedIconPathDeviceReadyAlert_String = 5005,
389 ETrackedDeviceProperty_Prop_NamedIconPathDeviceNotReady_String = 5006,
390 ETrackedDeviceProperty_Prop_NamedIconPathDeviceStandby_String = 5007,
391 ETrackedDeviceProperty_Prop_NamedIconPathDeviceAlertLow_String = 5008,
392 ETrackedDeviceProperty_Prop_DisplayHiddenArea_Binary_Start = 5100,
393 ETrackedDeviceProperty_Prop_DisplayHiddenArea_Binary_End = 5150,
394 ETrackedDeviceProperty_Prop_UserConfigPath_String = 6000,
395 ETrackedDeviceProperty_Prop_InstallPath_String = 6001,
396 ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_Start = 10000,
397 ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_End = 10999,
398 } ETrackedDeviceProperty;
399
400 typedef enum ETrackedPropertyError
401 {
402 ETrackedPropertyError_TrackedProp_Success = 0,
403 ETrackedPropertyError_TrackedProp_WrongDataType = 1,
404 ETrackedPropertyError_TrackedProp_WrongDeviceClass = 2,
405 ETrackedPropertyError_TrackedProp_BufferTooSmall = 3,
406 ETrackedPropertyError_TrackedProp_UnknownProperty = 4,
407 ETrackedPropertyError_TrackedProp_InvalidDevice = 5,
408 ETrackedPropertyError_TrackedProp_CouldNotContactServer = 6,
409 ETrackedPropertyError_TrackedProp_ValueNotProvidedByDevice = 7,
410 ETrackedPropertyError_TrackedProp_StringExceedsMaximumLength = 8,
411 ETrackedPropertyError_TrackedProp_NotYetAvailable = 9,
412 ETrackedPropertyError_TrackedProp_PermissionDenied = 10,
413 ETrackedPropertyError_TrackedProp_InvalidOperation = 11,
414 } ETrackedPropertyError;
415
416 typedef enum EVRSubmitFlags
417 {
418 EVRSubmitFlags_Submit_Default = 0,
419 EVRSubmitFlags_Submit_LensDistortionAlreadyApplied = 1,
420 EVRSubmitFlags_Submit_GlRenderBuffer = 2,
421 EVRSubmitFlags_Submit_Reserved = 4,
422 } EVRSubmitFlags;
423
424 typedef enum EVRState
425 {
426 EVRState_VRState_Undefined = -1,
427 EVRState_VRState_Off = 0,
428 EVRState_VRState_Searching = 1,
429 EVRState_VRState_Searching_Alert = 2,
430 EVRState_VRState_Ready = 3,
431 EVRState_VRState_Ready_Alert = 4,
432 EVRState_VRState_NotReady = 5,
433 EVRState_VRState_Standby = 6,
434 EVRState_VRState_Ready_Alert_Low = 7,
435 } EVRState;
436
437 typedef enum EVREventType
438 {
439 EVREventType_VREvent_None = 0,
440 EVREventType_VREvent_TrackedDeviceActivated = 100,
441 EVREventType_VREvent_TrackedDeviceDeactivated = 101,
442 EVREventType_VREvent_TrackedDeviceUpdated = 102,
443 EVREventType_VREvent_TrackedDeviceUserInteractionStarted = 103,
444 EVREventType_VREvent_TrackedDeviceUserInteractionEnded = 104,
445 EVREventType_VREvent_IpdChanged = 105,
446 EVREventType_VREvent_EnterStandbyMode = 106,
447 EVREventType_VREvent_LeaveStandbyMode = 107,
448 EVREventType_VREvent_TrackedDeviceRoleChanged = 108,
449 EVREventType_VREvent_WatchdogWakeUpRequested = 109,
450 EVREventType_VREvent_LensDistortionChanged = 110,
451 EVREventType_VREvent_PropertyChanged = 111,
452 EVREventType_VREvent_ButtonPress = 200,
453 EVREventType_VREvent_ButtonUnpress = 201,
454 EVREventType_VREvent_ButtonTouch = 202,
455 EVREventType_VREvent_ButtonUntouch = 203,
456 EVREventType_VREvent_MouseMove = 300,
457 EVREventType_VREvent_MouseButtonDown = 301,
458 EVREventType_VREvent_MouseButtonUp = 302,
459 EVREventType_VREvent_FocusEnter = 303,
460 EVREventType_VREvent_FocusLeave = 304,
461 EVREventType_VREvent_Scroll = 305,
462 EVREventType_VREvent_TouchPadMove = 306,
463 EVREventType_VREvent_OverlayFocusChanged = 307,
464 EVREventType_VREvent_InputFocusCaptured = 400,
465 EVREventType_VREvent_InputFocusReleased = 401,
466 EVREventType_VREvent_SceneFocusLost = 402,
467 EVREventType_VREvent_SceneFocusGained = 403,
468 EVREventType_VREvent_SceneApplicationChanged = 404,
469 EVREventType_VREvent_SceneFocusChanged = 405,
470 EVREventType_VREvent_InputFocusChanged = 406,
471 EVREventType_VREvent_SceneApplicationSecondaryRenderingStarted = 407,
472 EVREventType_VREvent_HideRenderModels = 410,
473 EVREventType_VREvent_ShowRenderModels = 411,
474 EVREventType_VREvent_OverlayShown = 500,
475 EVREventType_VREvent_OverlayHidden = 501,
476 EVREventType_VREvent_DashboardActivated = 502,
477 EVREventType_VREvent_DashboardDeactivated = 503,
478 EVREventType_VREvent_DashboardThumbSelected = 504,
479 EVREventType_VREvent_DashboardRequested = 505,
480 EVREventType_VREvent_ResetDashboard = 506,
481 EVREventType_VREvent_RenderToast = 507,
482 EVREventType_VREvent_ImageLoaded = 508,
483 EVREventType_VREvent_ShowKeyboard = 509,
484 EVREventType_VREvent_HideKeyboard = 510,
485 EVREventType_VREvent_OverlayGamepadFocusGained = 511,
486 EVREventType_VREvent_OverlayGamepadFocusLost = 512,
487 EVREventType_VREvent_OverlaySharedTextureChanged = 513,
488 EVREventType_VREvent_DashboardGuideButtonDown = 514,
489 EVREventType_VREvent_DashboardGuideButtonUp = 515,
490 EVREventType_VREvent_ScreenshotTriggered = 516,
491 EVREventType_VREvent_ImageFailed = 517,
492 EVREventType_VREvent_DashboardOverlayCreated = 518,
493 EVREventType_VREvent_RequestScreenshot = 520,
494 EVREventType_VREvent_ScreenshotTaken = 521,
495 EVREventType_VREvent_ScreenshotFailed = 522,
496 EVREventType_VREvent_SubmitScreenshotToDashboard = 523,
497 EVREventType_VREvent_ScreenshotProgressToDashboard = 524,
498 EVREventType_VREvent_PrimaryDashboardDeviceChanged = 525,
499 EVREventType_VREvent_Notification_Shown = 600,
500 EVREventType_VREvent_Notification_Hidden = 601,
501 EVREventType_VREvent_Notification_BeginInteraction = 602,
502 EVREventType_VREvent_Notification_Destroyed = 603,
503 EVREventType_VREvent_Quit = 700,
504 EVREventType_VREvent_ProcessQuit = 701,
505 EVREventType_VREvent_QuitAborted_UserPrompt = 702,
506 EVREventType_VREvent_QuitAcknowledged = 703,
507 EVREventType_VREvent_DriverRequestedQuit = 704,
508 EVREventType_VREvent_ChaperoneDataHasChanged = 800,
509 EVREventType_VREvent_ChaperoneUniverseHasChanged = 801,
510 EVREventType_VREvent_ChaperoneTempDataHasChanged = 802,
511 EVREventType_VREvent_ChaperoneSettingsHaveChanged = 803,
512 EVREventType_VREvent_SeatedZeroPoseReset = 804,
513 EVREventType_VREvent_AudioSettingsHaveChanged = 820,
514 EVREventType_VREvent_BackgroundSettingHasChanged = 850,
515 EVREventType_VREvent_CameraSettingsHaveChanged = 851,
516 EVREventType_VREvent_ReprojectionSettingHasChanged = 852,
517 EVREventType_VREvent_ModelSkinSettingsHaveChanged = 853,
518 EVREventType_VREvent_EnvironmentSettingsHaveChanged = 854,
519 EVREventType_VREvent_PowerSettingsHaveChanged = 855,
520 EVREventType_VREvent_StatusUpdate = 900,
521 EVREventType_VREvent_MCImageUpdated = 1000,
522 EVREventType_VREvent_FirmwareUpdateStarted = 1100,
523 EVREventType_VREvent_FirmwareUpdateFinished = 1101,
524 EVREventType_VREvent_KeyboardClosed = 1200,
525 EVREventType_VREvent_KeyboardCharInput = 1201,
526 EVREventType_VREvent_KeyboardDone = 1202,
527 EVREventType_VREvent_ApplicationTransitionStarted = 1300,
528 EVREventType_VREvent_ApplicationTransitionAborted = 1301,
529 EVREventType_VREvent_ApplicationTransitionNewAppStarted = 1302,
530 EVREventType_VREvent_ApplicationListUpdated = 1303,
531 EVREventType_VREvent_ApplicationMimeTypeLoad = 1304,
532 EVREventType_VREvent_ApplicationTransitionNewAppLaunchComplete = 1305,
533 EVREventType_VREvent_Compositor_MirrorWindowShown = 1400,
534 EVREventType_VREvent_Compositor_MirrorWindowHidden = 1401,
535 EVREventType_VREvent_Compositor_ChaperoneBoundsShown = 1410,
536 EVREventType_VREvent_Compositor_ChaperoneBoundsHidden = 1411,
537 EVREventType_VREvent_TrackedCamera_StartVideoStream = 1500,
538 EVREventType_VREvent_TrackedCamera_StopVideoStream = 1501,
539 EVREventType_VREvent_TrackedCamera_PauseVideoStream = 1502,
540 EVREventType_VREvent_TrackedCamera_ResumeVideoStream = 1503,
541 EVREventType_VREvent_TrackedCamera_EditingSurface = 1550,
542 EVREventType_VREvent_PerformanceTest_EnableCapture = 1600,
543 EVREventType_VREvent_PerformanceTest_DisableCapture = 1601,
544 EVREventType_VREvent_PerformanceTest_FidelityLevel = 1602,
545 EVREventType_VREvent_MessageOverlay_Closed = 1650,
546 EVREventType_VREvent_VendorSpecific_Reserved_Start = 10000,
547 EVREventType_VREvent_VendorSpecific_Reserved_End = 19999,
548 } EVREventType;
549
550 typedef enum EDeviceActivityLevel
551 {
552 EDeviceActivityLevel_k_EDeviceActivityLevel_Unknown = -1,
553 EDeviceActivityLevel_k_EDeviceActivityLevel_Idle = 0,
554 EDeviceActivityLevel_k_EDeviceActivityLevel_UserInteraction = 1,
555 EDeviceActivityLevel_k_EDeviceActivityLevel_UserInteraction_Timeout = 2,
556 EDeviceActivityLevel_k_EDeviceActivityLevel_Standby = 3,
557 } EDeviceActivityLevel;
558
559 typedef enum EVRButtonId
560 {
561 EVRButtonId_k_EButton_System = 0,
562 EVRButtonId_k_EButton_ApplicationMenu = 1,
563 EVRButtonId_k_EButton_Grip = 2,
564 EVRButtonId_k_EButton_DPad_Left = 3,
565 EVRButtonId_k_EButton_DPad_Up = 4,
566 EVRButtonId_k_EButton_DPad_Right = 5,
567 EVRButtonId_k_EButton_DPad_Down = 6,
568 EVRButtonId_k_EButton_A = 7,
569 EVRButtonId_k_EButton_ProximitySensor = 31,
570 EVRButtonId_k_EButton_Axis0 = 32,
571 EVRButtonId_k_EButton_Axis1 = 33,
572 EVRButtonId_k_EButton_Axis2 = 34,
573 EVRButtonId_k_EButton_Axis3 = 35,
574 EVRButtonId_k_EButton_Axis4 = 36,
575 EVRButtonId_k_EButton_SteamVR_Touchpad = 32,
576 EVRButtonId_k_EButton_SteamVR_Trigger = 33,
577 EVRButtonId_k_EButton_Dashboard_Back = 2,
578 EVRButtonId_k_EButton_Max = 64,
579 } EVRButtonId;
580
581 typedef enum EVRMouseButton
582 {
583 EVRMouseButton_VRMouseButton_Left = 1,
584 EVRMouseButton_VRMouseButton_Right = 2,
585 EVRMouseButton_VRMouseButton_Middle = 4,
586 } EVRMouseButton;
587
588 typedef enum EHiddenAreaMeshType
589 {
590 EHiddenAreaMeshType_k_eHiddenAreaMesh_Standard = 0,
591 EHiddenAreaMeshType_k_eHiddenAreaMesh_Inverse = 1,
592 EHiddenAreaMeshType_k_eHiddenAreaMesh_LineLoop = 2,
593 EHiddenAreaMeshType_k_eHiddenAreaMesh_Max = 3,
594 } EHiddenAreaMeshType;
595
596 typedef enum EVRControllerAxisType
597 {
598 EVRControllerAxisType_k_eControllerAxis_None = 0,
599 EVRControllerAxisType_k_eControllerAxis_TrackPad = 1,
600 EVRControllerAxisType_k_eControllerAxis_Joystick = 2,
601 EVRControllerAxisType_k_eControllerAxis_Trigger = 3,
602 } EVRControllerAxisType;
603
604 typedef enum EVRControllerEventOutputType
605 {
606 EVRControllerEventOutputType_ControllerEventOutput_OSEvents = 0,
607 EVRControllerEventOutputType_ControllerEventOutput_VREvents = 1,
608 } EVRControllerEventOutputType;
609
610 typedef enum ECollisionBoundsStyle
611 {
612 ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_BEGINNER = 0,
613 ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_INTERMEDIATE = 1,
614 ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_SQUARES = 2,
615 ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_ADVANCED = 3,
616 ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_NONE = 4,
617 ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_COUNT = 5,
618 } ECollisionBoundsStyle;
619
620 typedef enum EVROverlayError
621 {
622 EVROverlayError_VROverlayError_None = 0,
623 EVROverlayError_VROverlayError_UnknownOverlay = 10,
624 EVROverlayError_VROverlayError_InvalidHandle = 11,
625 EVROverlayError_VROverlayError_PermissionDenied = 12,
626 EVROverlayError_VROverlayError_OverlayLimitExceeded = 13,
627 EVROverlayError_VROverlayError_WrongVisibilityType = 14,
628 EVROverlayError_VROverlayError_KeyTooLong = 15,
629 EVROverlayError_VROverlayError_NameTooLong = 16,
630 EVROverlayError_VROverlayError_KeyInUse = 17,
631 EVROverlayError_VROverlayError_WrongTransformType = 18,
632 EVROverlayError_VROverlayError_InvalidTrackedDevice = 19,
633 EVROverlayError_VROverlayError_InvalidParameter = 20,
634 EVROverlayError_VROverlayError_ThumbnailCantBeDestroyed = 21,
635 EVROverlayError_VROverlayError_ArrayTooSmall = 22,
636 EVROverlayError_VROverlayError_RequestFailed = 23,
637 EVROverlayError_VROverlayError_InvalidTexture = 24,
638 EVROverlayError_VROverlayError_UnableToLoadFile = 25,
639 EVROverlayError_VROverlayError_KeyboardAlreadyInUse = 26,
640 EVROverlayError_VROverlayError_NoNeighbor = 27,
641 EVROverlayError_VROverlayError_TooManyMaskPrimitives = 29,
642 EVROverlayError_VROverlayError_BadMaskPrimitive = 30,
643 } EVROverlayError;
644
645 typedef enum EVRApplicationType
646 {
647 EVRApplicationType_VRApplication_Other = 0,
648 EVRApplicationType_VRApplication_Scene = 1,
649 EVRApplicationType_VRApplication_Overlay = 2,
650 EVRApplicationType_VRApplication_Background = 3,
651 EVRApplicationType_VRApplication_Utility = 4,
652 EVRApplicationType_VRApplication_VRMonitor = 5,
653 EVRApplicationType_VRApplication_SteamWatchdog = 6,
654 EVRApplicationType_VRApplication_Max = 7,
655 } EVRApplicationType;
656
657 typedef enum EVRFirmwareError
658 {
659 EVRFirmwareError_VRFirmwareError_None = 0,
660 EVRFirmwareError_VRFirmwareError_Success = 1,
661 EVRFirmwareError_VRFirmwareError_Fail = 2,
662 } EVRFirmwareError;
663
664 typedef enum EVRNotificationError
665 {
666 EVRNotificationError_VRNotificationError_OK = 0,
667 EVRNotificationError_VRNotificationError_InvalidNotificationId = 100,
668 EVRNotificationError_VRNotificationError_NotificationQueueFull = 101,
669 EVRNotificationError_VRNotificationError_InvalidOverlayHandle = 102,
670 EVRNotificationError_VRNotificationError_SystemWithUserValueAlreadyExist s = 103,
671 } EVRNotificationError;
672
673 typedef enum EVRInitError
674 {
675 EVRInitError_VRInitError_None = 0,
676 EVRInitError_VRInitError_Unknown = 1,
677 EVRInitError_VRInitError_Init_InstallationNotFound = 100,
678 EVRInitError_VRInitError_Init_InstallationCorrupt = 101,
679 EVRInitError_VRInitError_Init_VRClientDLLNotFound = 102,
680 EVRInitError_VRInitError_Init_FileNotFound = 103,
681 EVRInitError_VRInitError_Init_FactoryNotFound = 104,
682 EVRInitError_VRInitError_Init_InterfaceNotFound = 105,
683 EVRInitError_VRInitError_Init_InvalidInterface = 106,
684 EVRInitError_VRInitError_Init_UserConfigDirectoryInvalid = 107,
685 EVRInitError_VRInitError_Init_HmdNotFound = 108,
686 EVRInitError_VRInitError_Init_NotInitialized = 109,
687 EVRInitError_VRInitError_Init_PathRegistryNotFound = 110,
688 EVRInitError_VRInitError_Init_NoConfigPath = 111,
689 EVRInitError_VRInitError_Init_NoLogPath = 112,
690 EVRInitError_VRInitError_Init_PathRegistryNotWritable = 113,
691 EVRInitError_VRInitError_Init_AppInfoInitFailed = 114,
692 EVRInitError_VRInitError_Init_Retry = 115,
693 EVRInitError_VRInitError_Init_InitCanceledByUser = 116,
694 EVRInitError_VRInitError_Init_AnotherAppLaunching = 117,
695 EVRInitError_VRInitError_Init_SettingsInitFailed = 118,
696 EVRInitError_VRInitError_Init_ShuttingDown = 119,
697 EVRInitError_VRInitError_Init_TooManyObjects = 120,
698 EVRInitError_VRInitError_Init_NoServerForBackgroundApp = 121,
699 EVRInitError_VRInitError_Init_NotSupportedWithCompositor = 122,
700 EVRInitError_VRInitError_Init_NotAvailableToUtilityApps = 123,
701 EVRInitError_VRInitError_Init_Internal = 124,
702 EVRInitError_VRInitError_Init_HmdDriverIdIsNone = 125,
703 EVRInitError_VRInitError_Init_HmdNotFoundPresenceFailed = 126,
704 EVRInitError_VRInitError_Init_VRMonitorNotFound = 127,
705 EVRInitError_VRInitError_Init_VRMonitorStartupFailed = 128,
706 EVRInitError_VRInitError_Init_LowPowerWatchdogNotSupported = 129,
707 EVRInitError_VRInitError_Init_InvalidApplicationType = 130,
708 EVRInitError_VRInitError_Init_NotAvailableToWatchdogApps = 131,
709 EVRInitError_VRInitError_Init_WatchdogDisabledInSettings = 132,
710 EVRInitError_VRInitError_Init_VRDashboardNotFound = 133,
711 EVRInitError_VRInitError_Init_VRDashboardStartupFailed = 134,
712 EVRInitError_VRInitError_Driver_Failed = 200,
713 EVRInitError_VRInitError_Driver_Unknown = 201,
714 EVRInitError_VRInitError_Driver_HmdUnknown = 202,
715 EVRInitError_VRInitError_Driver_NotLoaded = 203,
716 EVRInitError_VRInitError_Driver_RuntimeOutOfDate = 204,
717 EVRInitError_VRInitError_Driver_HmdInUse = 205,
718 EVRInitError_VRInitError_Driver_NotCalibrated = 206,
719 EVRInitError_VRInitError_Driver_CalibrationInvalid = 207,
720 EVRInitError_VRInitError_Driver_HmdDisplayNotFound = 208,
721 EVRInitError_VRInitError_Driver_TrackedDeviceInterfaceUnknown = 209,
722 EVRInitError_VRInitError_Driver_HmdDriverIdOutOfBounds = 211,
723 EVRInitError_VRInitError_Driver_HmdDisplayMirrored = 212,
724 EVRInitError_VRInitError_IPC_ServerInitFailed = 300,
725 EVRInitError_VRInitError_IPC_ConnectFailed = 301,
726 EVRInitError_VRInitError_IPC_SharedStateInitFailed = 302,
727 EVRInitError_VRInitError_IPC_CompositorInitFailed = 303,
728 EVRInitError_VRInitError_IPC_MutexInitFailed = 304,
729 EVRInitError_VRInitError_IPC_Failed = 305,
730 EVRInitError_VRInitError_IPC_CompositorConnectFailed = 306,
731 EVRInitError_VRInitError_IPC_CompositorInvalidConnectResponse = 307,
732 EVRInitError_VRInitError_IPC_ConnectFailedAfterMultipleAttempts = 308,
733 EVRInitError_VRInitError_Compositor_Failed = 400,
734 EVRInitError_VRInitError_Compositor_D3D11HardwareRequired = 401,
735 EVRInitError_VRInitError_Compositor_FirmwareRequiresUpdate = 402,
736 EVRInitError_VRInitError_Compositor_OverlayInitFailed = 403,
737 EVRInitError_VRInitError_Compositor_ScreenshotsInitFailed = 404,
738 EVRInitError_VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000,
739 EVRInitError_VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101,
740 EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigSt art = 1102,
741 EVRInitError_VRInitError_VendorSpecific_HmdFound_NoStoredConfig = 1103,
742 EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigTooBig = 1104,
743 EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigTooSmall = 1105,
744 EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToInitZLib = 1106 ,
745 EVRInitError_VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion = 1107,
746 EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataSta rt = 1108,
747 EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStar t = 1109,
748 EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext = 1110,
749 EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataAddressRange = 1111,
750 EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataError = 1112,
751 EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113,
752 EVRInitError_VRInitError_Steam_SteamInstallationNotFound = 2000,
753 } EVRInitError;
754
755 typedef enum EVRScreenshotType
756 {
757 EVRScreenshotType_VRScreenshotType_None = 0,
758 EVRScreenshotType_VRScreenshotType_Mono = 1,
759 EVRScreenshotType_VRScreenshotType_Stereo = 2,
760 EVRScreenshotType_VRScreenshotType_Cubemap = 3,
761 EVRScreenshotType_VRScreenshotType_MonoPanorama = 4,
762 EVRScreenshotType_VRScreenshotType_StereoPanorama = 5,
763 } EVRScreenshotType;
764
765 typedef enum EVRScreenshotPropertyFilenames
766 {
767 EVRScreenshotPropertyFilenames_VRScreenshotPropertyFilenames_Preview = 0 ,
768 EVRScreenshotPropertyFilenames_VRScreenshotPropertyFilenames_VR = 1,
769 } EVRScreenshotPropertyFilenames;
770
771 typedef enum EVRTrackedCameraError
772 {
773 EVRTrackedCameraError_VRTrackedCameraError_None = 0,
774 EVRTrackedCameraError_VRTrackedCameraError_OperationFailed = 100,
775 EVRTrackedCameraError_VRTrackedCameraError_InvalidHandle = 101,
776 EVRTrackedCameraError_VRTrackedCameraError_InvalidFrameHeaderVersion = 1 02,
777 EVRTrackedCameraError_VRTrackedCameraError_OutOfHandles = 103,
778 EVRTrackedCameraError_VRTrackedCameraError_IPCFailure = 104,
779 EVRTrackedCameraError_VRTrackedCameraError_NotSupportedForThisDevice = 1 05,
780 EVRTrackedCameraError_VRTrackedCameraError_SharedMemoryFailure = 106,
781 EVRTrackedCameraError_VRTrackedCameraError_FrameBufferingFailure = 107,
782 EVRTrackedCameraError_VRTrackedCameraError_StreamSetupFailure = 108,
783 EVRTrackedCameraError_VRTrackedCameraError_InvalidGLTextureId = 109,
784 EVRTrackedCameraError_VRTrackedCameraError_InvalidSharedTextureHandle = 110,
785 EVRTrackedCameraError_VRTrackedCameraError_FailedToGetGLTextureId = 111,
786 EVRTrackedCameraError_VRTrackedCameraError_SharedTextureFailure = 112,
787 EVRTrackedCameraError_VRTrackedCameraError_NoFrameAvailable = 113,
788 EVRTrackedCameraError_VRTrackedCameraError_InvalidArgument = 114,
789 EVRTrackedCameraError_VRTrackedCameraError_InvalidFrameBufferSize = 115,
790 } EVRTrackedCameraError;
791
792 typedef enum EVRTrackedCameraFrameType
793 {
794 EVRTrackedCameraFrameType_VRTrackedCameraFrameType_Distorted = 0,
795 EVRTrackedCameraFrameType_VRTrackedCameraFrameType_Undistorted = 1,
796 EVRTrackedCameraFrameType_VRTrackedCameraFrameType_MaximumUndistorted = 2,
797 EVRTrackedCameraFrameType_MAX_CAMERA_FRAME_TYPES = 3,
798 } EVRTrackedCameraFrameType;
799
800 typedef enum EVRApplicationError
801 {
802 EVRApplicationError_VRApplicationError_None = 0,
803 EVRApplicationError_VRApplicationError_AppKeyAlreadyExists = 100,
804 EVRApplicationError_VRApplicationError_NoManifest = 101,
805 EVRApplicationError_VRApplicationError_NoApplication = 102,
806 EVRApplicationError_VRApplicationError_InvalidIndex = 103,
807 EVRApplicationError_VRApplicationError_UnknownApplication = 104,
808 EVRApplicationError_VRApplicationError_IPCFailed = 105,
809 EVRApplicationError_VRApplicationError_ApplicationAlreadyRunning = 106,
810 EVRApplicationError_VRApplicationError_InvalidManifest = 107,
811 EVRApplicationError_VRApplicationError_InvalidApplication = 108,
812 EVRApplicationError_VRApplicationError_LaunchFailed = 109,
813 EVRApplicationError_VRApplicationError_ApplicationAlreadyStarting = 110,
814 EVRApplicationError_VRApplicationError_LaunchInProgress = 111,
815 EVRApplicationError_VRApplicationError_OldApplicationQuitting = 112,
816 EVRApplicationError_VRApplicationError_TransitionAborted = 113,
817 EVRApplicationError_VRApplicationError_IsTemplate = 114,
818 EVRApplicationError_VRApplicationError_BufferTooSmall = 200,
819 EVRApplicationError_VRApplicationError_PropertyNotSet = 201,
820 EVRApplicationError_VRApplicationError_UnknownProperty = 202,
821 EVRApplicationError_VRApplicationError_InvalidParameter = 203,
822 } EVRApplicationError;
823
824 typedef enum EVRApplicationProperty
825 {
826 EVRApplicationProperty_VRApplicationProperty_Name_String = 0,
827 EVRApplicationProperty_VRApplicationProperty_LaunchType_String = 11,
828 EVRApplicationProperty_VRApplicationProperty_WorkingDirectory_String = 1 2,
829 EVRApplicationProperty_VRApplicationProperty_BinaryPath_String = 13,
830 EVRApplicationProperty_VRApplicationProperty_Arguments_String = 14,
831 EVRApplicationProperty_VRApplicationProperty_URL_String = 15,
832 EVRApplicationProperty_VRApplicationProperty_Description_String = 50,
833 EVRApplicationProperty_VRApplicationProperty_NewsURL_String = 51,
834 EVRApplicationProperty_VRApplicationProperty_ImagePath_String = 52,
835 EVRApplicationProperty_VRApplicationProperty_Source_String = 53,
836 EVRApplicationProperty_VRApplicationProperty_IsDashboardOverlay_Bool = 6 0,
837 EVRApplicationProperty_VRApplicationProperty_IsTemplate_Bool = 61,
838 EVRApplicationProperty_VRApplicationProperty_IsInstanced_Bool = 62,
839 EVRApplicationProperty_VRApplicationProperty_IsInternal_Bool = 63,
840 EVRApplicationProperty_VRApplicationProperty_LastLaunchTime_Uint64 = 70,
841 } EVRApplicationProperty;
842
843 typedef enum EVRApplicationTransitionState
844 {
845 EVRApplicationTransitionState_VRApplicationTransition_None = 0,
846 EVRApplicationTransitionState_VRApplicationTransition_OldAppQuitSent = 1 0,
847 EVRApplicationTransitionState_VRApplicationTransition_WaitingForExternal Launch = 11,
848 EVRApplicationTransitionState_VRApplicationTransition_NewAppLaunched = 2 0,
849 } EVRApplicationTransitionState;
850
851 typedef enum ChaperoneCalibrationState
852 {
853 ChaperoneCalibrationState_OK = 1,
854 ChaperoneCalibrationState_Warning = 100,
855 ChaperoneCalibrationState_Warning_BaseStationMayHaveMoved = 101,
856 ChaperoneCalibrationState_Warning_BaseStationRemoved = 102,
857 ChaperoneCalibrationState_Warning_SeatedBoundsInvalid = 103,
858 ChaperoneCalibrationState_Error = 200,
859 ChaperoneCalibrationState_Error_BaseStationUninitialized = 201,
860 ChaperoneCalibrationState_Error_BaseStationConflict = 202,
861 ChaperoneCalibrationState_Error_PlayAreaInvalid = 203,
862 ChaperoneCalibrationState_Error_CollisionBoundsInvalid = 204,
863 } ChaperoneCalibrationState;
864
865 typedef enum EChaperoneConfigFile
866 {
867 EChaperoneConfigFile_Live = 1,
868 EChaperoneConfigFile_Temp = 2,
869 } EChaperoneConfigFile;
870
871 typedef enum EChaperoneImportFlags
872 {
873 EChaperoneImportFlags_EChaperoneImport_BoundsOnly = 1,
874 } EChaperoneImportFlags;
875
876 typedef enum EVRCompositorError
877 {
878 EVRCompositorError_VRCompositorError_None = 0,
879 EVRCompositorError_VRCompositorError_RequestFailed = 1,
880 EVRCompositorError_VRCompositorError_IncompatibleVersion = 100,
881 EVRCompositorError_VRCompositorError_DoNotHaveFocus = 101,
882 EVRCompositorError_VRCompositorError_InvalidTexture = 102,
883 EVRCompositorError_VRCompositorError_IsNotSceneApplication = 103,
884 EVRCompositorError_VRCompositorError_TextureIsOnWrongDevice = 104,
885 EVRCompositorError_VRCompositorError_TextureUsesUnsupportedFormat = 105,
886 EVRCompositorError_VRCompositorError_SharedTexturesNotSupported = 106,
887 EVRCompositorError_VRCompositorError_IndexOutOfRange = 107,
888 EVRCompositorError_VRCompositorError_AlreadySubmitted = 108,
889 } EVRCompositorError;
890
891 typedef enum VROverlayInputMethod
892 {
893 VROverlayInputMethod_None = 0,
894 VROverlayInputMethod_Mouse = 1,
895 } VROverlayInputMethod;
896
897 typedef enum VROverlayTransformType
898 {
899 VROverlayTransformType_VROverlayTransform_Absolute = 0,
900 VROverlayTransformType_VROverlayTransform_TrackedDeviceRelative = 1,
901 VROverlayTransformType_VROverlayTransform_SystemOverlay = 2,
902 VROverlayTransformType_VROverlayTransform_TrackedComponent = 3,
903 } VROverlayTransformType;
904
905 typedef enum VROverlayFlags
906 {
907 VROverlayFlags_None = 0,
908 VROverlayFlags_Curved = 1,
909 VROverlayFlags_RGSS4X = 2,
910 VROverlayFlags_NoDashboardTab = 3,
911 VROverlayFlags_AcceptsGamepadEvents = 4,
912 VROverlayFlags_ShowGamepadFocus = 5,
913 VROverlayFlags_SendVRScrollEvents = 6,
914 VROverlayFlags_SendVRTouchpadEvents = 7,
915 VROverlayFlags_ShowTouchPadScrollWheel = 8,
916 VROverlayFlags_TransferOwnershipToInternalProcess = 9,
917 VROverlayFlags_SideBySide_Parallel = 10,
918 VROverlayFlags_SideBySide_Crossed = 11,
919 VROverlayFlags_Panorama = 12,
920 VROverlayFlags_StereoPanorama = 13,
921 VROverlayFlags_SortWithNonSceneOverlays = 14,
922 VROverlayFlags_VisibleInDashboard = 15,
923 } VROverlayFlags;
924
925 typedef enum VRMessageOverlayResponse
926 {
927 VRMessageOverlayResponse_ButtonPress_0 = 0,
928 VRMessageOverlayResponse_ButtonPress_1 = 1,
929 VRMessageOverlayResponse_ButtonPress_2 = 2,
930 VRMessageOverlayResponse_ButtonPress_3 = 3,
931 VRMessageOverlayResponse_CouldntFindSystemOverlay = 4,
932 VRMessageOverlayResponse_CouldntFindOrCreateClientOverlay = 5,
933 VRMessageOverlayResponse_ApplicationQuit = 6,
934 } VRMessageOverlayResponse;
935
936 typedef enum EGamepadTextInputMode
937 {
938 EGamepadTextInputMode_k_EGamepadTextInputModeNormal = 0,
939 EGamepadTextInputMode_k_EGamepadTextInputModePassword = 1,
940 EGamepadTextInputMode_k_EGamepadTextInputModeSubmit = 2,
941 } EGamepadTextInputMode;
942
943 typedef enum EGamepadTextInputLineMode
944 {
945 EGamepadTextInputLineMode_k_EGamepadTextInputLineModeSingleLine = 0,
946 EGamepadTextInputLineMode_k_EGamepadTextInputLineModeMultipleLines = 1,
947 } EGamepadTextInputLineMode;
948
949 typedef enum EOverlayDirection
950 {
951 EOverlayDirection_OverlayDirection_Up = 0,
952 EOverlayDirection_OverlayDirection_Down = 1,
953 EOverlayDirection_OverlayDirection_Left = 2,
954 EOverlayDirection_OverlayDirection_Right = 3,
955 EOverlayDirection_OverlayDirection_Count = 4,
956 } EOverlayDirection;
957
958 typedef enum EVROverlayIntersectionMaskPrimitiveType
959 {
960 EVROverlayIntersectionMaskPrimitiveType_OverlayIntersectionPrimitiveType _Rectangle = 0,
961 EVROverlayIntersectionMaskPrimitiveType_OverlayIntersectionPrimitiveType _Circle = 1,
962 } EVROverlayIntersectionMaskPrimitiveType;
963
964 typedef enum EVRRenderModelError
965 {
966 EVRRenderModelError_VRRenderModelError_None = 0,
967 EVRRenderModelError_VRRenderModelError_Loading = 100,
968 EVRRenderModelError_VRRenderModelError_NotSupported = 200,
969 EVRRenderModelError_VRRenderModelError_InvalidArg = 300,
970 EVRRenderModelError_VRRenderModelError_InvalidModel = 301,
971 EVRRenderModelError_VRRenderModelError_NoShapes = 302,
972 EVRRenderModelError_VRRenderModelError_MultipleShapes = 303,
973 EVRRenderModelError_VRRenderModelError_TooManyVertices = 304,
974 EVRRenderModelError_VRRenderModelError_MultipleTextures = 305,
975 EVRRenderModelError_VRRenderModelError_BufferTooSmall = 306,
976 EVRRenderModelError_VRRenderModelError_NotEnoughNormals = 307,
977 EVRRenderModelError_VRRenderModelError_NotEnoughTexCoords = 308,
978 EVRRenderModelError_VRRenderModelError_InvalidTexture = 400,
979 } EVRRenderModelError;
980
981 typedef enum EVRComponentProperty
982 {
983 EVRComponentProperty_VRComponentProperty_IsStatic = 1,
984 EVRComponentProperty_VRComponentProperty_IsVisible = 2,
985 EVRComponentProperty_VRComponentProperty_IsTouched = 4,
986 EVRComponentProperty_VRComponentProperty_IsPressed = 8,
987 EVRComponentProperty_VRComponentProperty_IsScrolled = 16,
988 } EVRComponentProperty;
989
990 typedef enum EVRNotificationType
991 {
992 EVRNotificationType_Transient = 0,
993 EVRNotificationType_Persistent = 1,
994 EVRNotificationType_Transient_SystemWithUserValue = 2,
995 } EVRNotificationType;
996
997 typedef enum EVRNotificationStyle
998 {
999 EVRNotificationStyle_None = 0,
1000 EVRNotificationStyle_Application = 100,
1001 EVRNotificationStyle_Contact_Disabled = 200,
1002 EVRNotificationStyle_Contact_Enabled = 201,
1003 EVRNotificationStyle_Contact_Active = 202,
1004 } EVRNotificationStyle;
1005
1006 typedef enum EVRSettingsError
1007 {
1008 EVRSettingsError_VRSettingsError_None = 0,
1009 EVRSettingsError_VRSettingsError_IPCFailed = 1,
1010 EVRSettingsError_VRSettingsError_WriteFailed = 2,
1011 EVRSettingsError_VRSettingsError_ReadFailed = 3,
1012 EVRSettingsError_VRSettingsError_JsonParseFailed = 4,
1013 EVRSettingsError_VRSettingsError_UnsetSettingHasNoDefault = 5,
1014 } EVRSettingsError;
1015
1016 typedef enum EVRScreenshotError
1017 {
1018 EVRScreenshotError_VRScreenshotError_None = 0,
1019 EVRScreenshotError_VRScreenshotError_RequestFailed = 1,
1020 EVRScreenshotError_VRScreenshotError_IncompatibleVersion = 100,
1021 EVRScreenshotError_VRScreenshotError_NotFound = 101,
1022 EVRScreenshotError_VRScreenshotError_BufferTooSmall = 102,
1023 EVRScreenshotError_VRScreenshotError_ScreenshotAlreadyInProgress = 108,
1024 } EVRScreenshotError;
1025
1026
1027 // OpenVR typedefs
1028
1029 typedef uint32_t TrackedDeviceIndex_t;
1030 typedef uint32_t VRNotificationId;
1031 typedef uint64_t VROverlayHandle_t;
1032
1033 typedef void * glSharedTextureHandle_t;
1034 typedef int32_t glInt_t;
1035 typedef uint32_t glUInt_t;
1036 typedef uint64_t SharedTextureHandle_t;
1037 typedef uint32_t TrackedDeviceIndex_t;
1038 typedef uint64_t PropertyContainerHandle_t;
1039 typedef uint32_t PropertyTypeTag_t;
1040 typedef uint64_t VROverlayHandle_t;
1041 typedef uint64_t TrackedCameraHandle_t;
1042 typedef uint32_t ScreenshotHandle_t;
1043 typedef uint32_t VRComponentProperties;
1044 typedef int32_t TextureID_t;
1045 typedef uint32_t VRNotificationId;
1046 typedef EVRInitError HmdError;
1047 typedef EVREye Hmd_Eye;
1048 typedef EColorSpace ColorSpace;
1049 typedef ETrackingResult HmdTrackingResult;
1050 typedef ETrackedDeviceClass TrackedDeviceClass;
1051 typedef ETrackingUniverseOrigin TrackingUniverseOrigin;
1052 typedef ETrackedDeviceProperty TrackedDeviceProperty;
1053 typedef ETrackedPropertyError TrackedPropertyError;
1054 typedef EVRSubmitFlags VRSubmitFlags_t;
1055 typedef EVRState VRState_t;
1056 typedef ECollisionBoundsStyle CollisionBoundsStyle_t;
1057 typedef EVROverlayError VROverlayError;
1058 typedef EVRFirmwareError VRFirmwareError;
1059 typedef EVRCompositorError VRCompositorError;
1060 typedef EVRScreenshotError VRScreenshotsError;
1061
1062 // OpenVR Structs
1063
1064 typedef struct HmdMatrix34_t
1065 {
1066 float m[3][4]; //float[3][4]
1067 } HmdMatrix34_t;
1068
1069 typedef struct HmdMatrix44_t
1070 {
1071 float m[4][4]; //float[4][4]
1072 } HmdMatrix44_t;
1073
1074 typedef struct HmdVector3_t
1075 {
1076 float v[3]; //float[3]
1077 } HmdVector3_t;
1078
1079 typedef struct HmdVector4_t
1080 {
1081 float v[4]; //float[4]
1082 } HmdVector4_t;
1083
1084 typedef struct HmdVector3d_t
1085 {
1086 double v[3]; //double[3]
1087 } HmdVector3d_t;
1088
1089 typedef struct HmdVector2_t
1090 {
1091 float v[2]; //float[2]
1092 } HmdVector2_t;
1093
1094 typedef struct HmdQuaternion_t
1095 {
1096 double w;
1097 double x;
1098 double y;
1099 double z;
1100 } HmdQuaternion_t;
1101
1102 typedef struct HmdColor_t
1103 {
1104 float r;
1105 float g;
1106 float b;
1107 float a;
1108 } HmdColor_t;
1109
1110 typedef struct HmdQuad_t
1111 {
1112 struct HmdVector3_t vCorners[4]; //struct vr::HmdVector3_t[4]
1113 } HmdQuad_t;
1114
1115 typedef struct HmdRect2_t
1116 {
1117 struct HmdVector2_t vTopLeft;
1118 struct HmdVector2_t vBottomRight;
1119 } HmdRect2_t;
1120
1121 typedef struct DistortionCoordinates_t
1122 {
1123 float rfRed[2]; //float[2]
1124 float rfGreen[2]; //float[2]
1125 float rfBlue[2]; //float[2]
1126 } DistortionCoordinates_t;
1127
1128 typedef struct Texture_t
1129 {
1130 void * handle; // void *
1131 enum ETextureType eType;
1132 enum EColorSpace eColorSpace;
1133 } Texture_t;
1134
1135 typedef struct TrackedDevicePose_t
1136 {
1137 struct HmdMatrix34_t mDeviceToAbsoluteTracking;
1138 struct HmdVector3_t vVelocity;
1139 struct HmdVector3_t vAngularVelocity;
1140 enum ETrackingResult eTrackingResult;
1141 bool bPoseIsValid;
1142 bool bDeviceIsConnected;
1143 } TrackedDevicePose_t;
1144
1145 typedef struct VRTextureBounds_t
1146 {
1147 float uMin;
1148 float vMin;
1149 float uMax;
1150 float vMax;
1151 } VRTextureBounds_t;
1152
1153 typedef struct VRVulkanTextureData_t
1154 {
1155 uint64_t m_nImage;
1156 struct VkDevice_T * m_pDevice; // struct VkDevice_T *
1157 struct VkPhysicalDevice_T * m_pPhysicalDevice; // struct VkPhysicalDevic e_T *
1158 struct VkInstance_T * m_pInstance; // struct VkInstance_T *
1159 struct VkQueue_T * m_pQueue; // struct VkQueue_T *
1160 uint32_t m_nQueueFamilyIndex;
1161 uint32_t m_nWidth;
1162 uint32_t m_nHeight;
1163 uint32_t m_nFormat;
1164 uint32_t m_nSampleCount;
1165 } VRVulkanTextureData_t;
1166
1167 typedef struct D3D12TextureData_t
1168 {
1169 struct ID3D12Resource * m_pResource; // struct ID3D12Resource *
1170 struct ID3D12CommandQueue * m_pCommandQueue; // struct ID3D12CommandQueu e *
1171 uint32_t m_nNodeMask;
1172 } D3D12TextureData_t;
1173
1174 typedef struct VREvent_Controller_t
1175 {
1176 uint32_t button;
1177 } VREvent_Controller_t;
1178
1179 typedef struct VREvent_Mouse_t
1180 {
1181 float x;
1182 float y;
1183 uint32_t button;
1184 } VREvent_Mouse_t;
1185
1186 typedef struct VREvent_Scroll_t
1187 {
1188 float xdelta;
1189 float ydelta;
1190 uint32_t repeatCount;
1191 } VREvent_Scroll_t;
1192
1193 typedef struct VREvent_TouchPadMove_t
1194 {
1195 bool bFingerDown;
1196 float flSecondsFingerDown;
1197 float fValueXFirst;
1198 float fValueYFirst;
1199 float fValueXRaw;
1200 float fValueYRaw;
1201 } VREvent_TouchPadMove_t;
1202
1203 typedef struct VREvent_Notification_t
1204 {
1205 uint64_t ulUserValue;
1206 uint32_t notificationId;
1207 } VREvent_Notification_t;
1208
1209 typedef struct VREvent_Process_t
1210 {
1211 uint32_t pid;
1212 uint32_t oldPid;
1213 bool bForced;
1214 } VREvent_Process_t;
1215
1216 typedef struct VREvent_Overlay_t
1217 {
1218 uint64_t overlayHandle;
1219 } VREvent_Overlay_t;
1220
1221 typedef struct VREvent_Status_t
1222 {
1223 uint32_t statusState;
1224 } VREvent_Status_t;
1225
1226 typedef struct VREvent_Keyboard_t
1227 {
1228 char * cNewInput[8]; //char[8]
1229 uint64_t uUserValue;
1230 } VREvent_Keyboard_t;
1231
1232 typedef struct VREvent_Ipd_t
1233 {
1234 float ipdMeters;
1235 } VREvent_Ipd_t;
1236
1237 typedef struct VREvent_Chaperone_t
1238 {
1239 uint64_t m_nPreviousUniverse;
1240 uint64_t m_nCurrentUniverse;
1241 } VREvent_Chaperone_t;
1242
1243 typedef struct VREvent_Reserved_t
1244 {
1245 uint64_t reserved0;
1246 uint64_t reserved1;
1247 } VREvent_Reserved_t;
1248
1249 typedef struct VREvent_PerformanceTest_t
1250 {
1251 uint32_t m_nFidelityLevel;
1252 } VREvent_PerformanceTest_t;
1253
1254 typedef struct VREvent_SeatedZeroPoseReset_t
1255 {
1256 bool bResetBySystemMenu;
1257 } VREvent_SeatedZeroPoseReset_t;
1258
1259 typedef struct VREvent_Screenshot_t
1260 {
1261 uint32_t handle;
1262 uint32_t type;
1263 } VREvent_Screenshot_t;
1264
1265 typedef struct VREvent_ScreenshotProgress_t
1266 {
1267 float progress;
1268 } VREvent_ScreenshotProgress_t;
1269
1270 typedef struct VREvent_ApplicationLaunch_t
1271 {
1272 uint32_t pid;
1273 uint32_t unArgsHandle;
1274 } VREvent_ApplicationLaunch_t;
1275
1276 typedef struct VREvent_EditingCameraSurface_t
1277 {
1278 uint64_t overlayHandle;
1279 uint32_t nVisualMode;
1280 } VREvent_EditingCameraSurface_t;
1281
1282 typedef struct VREvent_MessageOverlay_t
1283 {
1284 uint32_t unVRMessageOverlayResponse;
1285 } VREvent_MessageOverlay_t;
1286
1287 typedef struct VREvent_Property_t
1288 {
1289 PropertyContainerHandle_t container;
1290 enum ETrackedDeviceProperty prop;
1291 } VREvent_Property_t;
1292
1293 typedef struct HiddenAreaMesh_t
1294 {
1295 struct HmdVector2_t * pVertexData; // const struct vr::HmdVector2_t *
1296 uint32_t unTriangleCount;
1297 } HiddenAreaMesh_t;
1298
1299 typedef struct VRControllerAxis_t
1300 {
1301 float x;
1302 float y;
1303 } VRControllerAxis_t;
1304
1305 typedef struct VRControllerState_t
1306 {
1307 uint32_t unPacketNum;
1308 uint64_t ulButtonPressed;
1309 uint64_t ulButtonTouched;
1310 struct VRControllerAxis_t rAxis[5]; //struct vr::VRControllerAxis_t[5]
1311 } VRControllerState_t;
1312
1313 typedef struct Compositor_OverlaySettings
1314 {
1315 uint32_t size;
1316 bool curved;
1317 bool antialias;
1318 float scale;
1319 float distance;
1320 float alpha;
1321 float uOffset;
1322 float vOffset;
1323 float uScale;
1324 float vScale;
1325 float gridDivs;
1326 float gridWidth;
1327 float gridScale;
1328 struct HmdMatrix44_t transform;
1329 } Compositor_OverlaySettings;
1330
1331 typedef struct CameraVideoStreamFrameHeader_t
1332 {
1333 enum EVRTrackedCameraFrameType eFrameType;
1334 uint32_t nWidth;
1335 uint32_t nHeight;
1336 uint32_t nBytesPerPixel;
1337 uint32_t nFrameSequence;
1338 struct TrackedDevicePose_t standingTrackedDevicePose;
1339 } CameraVideoStreamFrameHeader_t;
1340
1341 typedef struct AppOverrideKeys_t
1342 {
1343 char * pchKey; // const char *
1344 char * pchValue; // const char *
1345 } AppOverrideKeys_t;
1346
1347 typedef struct Compositor_FrameTiming
1348 {
1349 uint32_t m_nSize;
1350 uint32_t m_nFrameIndex;
1351 uint32_t m_nNumFramePresents;
1352 uint32_t m_nNumMisPresented;
1353 uint32_t m_nNumDroppedFrames;
1354 uint32_t m_nReprojectionFlags;
1355 double m_flSystemTimeInSeconds;
1356 float m_flPreSubmitGpuMs;
1357 float m_flPostSubmitGpuMs;
1358 float m_flTotalRenderGpuMs;
1359 float m_flCompositorRenderGpuMs;
1360 float m_flCompositorRenderCpuMs;
1361 float m_flCompositorIdleCpuMs;
1362 float m_flClientFrameIntervalMs;
1363 float m_flPresentCallCpuMs;
1364 float m_flWaitForPresentCpuMs;
1365 float m_flSubmitFrameMs;
1366 float m_flWaitGetPosesCalledMs;
1367 float m_flNewPosesReadyMs;
1368 float m_flNewFrameReadyMs;
1369 float m_flCompositorUpdateStartMs;
1370 float m_flCompositorUpdateEndMs;
1371 float m_flCompositorRenderStartMs;
1372 TrackedDevicePose_t m_HmdPose;
1373 } Compositor_FrameTiming;
1374
1375 typedef struct Compositor_CumulativeStats
1376 {
1377 uint32_t m_nPid;
1378 uint32_t m_nNumFramePresents;
1379 uint32_t m_nNumDroppedFrames;
1380 uint32_t m_nNumReprojectedFrames;
1381 uint32_t m_nNumFramePresentsOnStartup;
1382 uint32_t m_nNumDroppedFramesOnStartup;
1383 uint32_t m_nNumReprojectedFramesOnStartup;
1384 uint32_t m_nNumLoading;
1385 uint32_t m_nNumFramePresentsLoading;
1386 uint32_t m_nNumDroppedFramesLoading;
1387 uint32_t m_nNumReprojectedFramesLoading;
1388 uint32_t m_nNumTimedOut;
1389 uint32_t m_nNumFramePresentsTimedOut;
1390 uint32_t m_nNumDroppedFramesTimedOut;
1391 uint32_t m_nNumReprojectedFramesTimedOut;
1392 } Compositor_CumulativeStats;
1393
1394 typedef struct VROverlayIntersectionParams_t
1395 {
1396 struct HmdVector3_t vSource;
1397 struct HmdVector3_t vDirection;
1398 enum ETrackingUniverseOrigin eOrigin;
1399 } VROverlayIntersectionParams_t;
1400
1401 typedef struct VROverlayIntersectionResults_t
1402 {
1403 struct HmdVector3_t vPoint;
1404 struct HmdVector3_t vNormal;
1405 struct HmdVector2_t vUVs;
1406 float fDistance;
1407 } VROverlayIntersectionResults_t;
1408
1409 typedef struct IntersectionMaskRectangle_t
1410 {
1411 float m_flTopLeftX;
1412 float m_flTopLeftY;
1413 float m_flWidth;
1414 float m_flHeight;
1415 } IntersectionMaskRectangle_t;
1416
1417 typedef struct IntersectionMaskCircle_t
1418 {
1419 float m_flCenterX;
1420 float m_flCenterY;
1421 float m_flRadius;
1422 } IntersectionMaskCircle_t;
1423
1424 typedef struct RenderModel_ComponentState_t
1425 {
1426 struct HmdMatrix34_t mTrackingToComponentRenderModel;
1427 struct HmdMatrix34_t mTrackingToComponentLocal;
1428 VRComponentProperties uProperties;
1429 } RenderModel_ComponentState_t;
1430
1431 typedef struct RenderModel_Vertex_t
1432 {
1433 struct HmdVector3_t vPosition;
1434 struct HmdVector3_t vNormal;
1435 float rfTextureCoord[2]; //float[2]
1436 } RenderModel_Vertex_t;
1437
1438 typedef struct RenderModel_TextureMap_t
1439 {
1440 uint16_t unWidth;
1441 uint16_t unHeight;
1442 uint8_t * rubTextureMapData; // const uint8_t *
1443 } RenderModel_TextureMap_t;
1444
1445 typedef struct RenderModel_t
1446 {
1447 struct RenderModel_Vertex_t * rVertexData; // const struct vr::RenderMod el_Vertex_t *
1448 uint32_t unVertexCount;
1449 uint16_t * rIndexData; // const uint16_t *
1450 uint32_t unTriangleCount;
1451 TextureID_t diffuseTextureId;
1452 } RenderModel_t;
1453
1454 typedef struct RenderModel_ControllerMode_State_t
1455 {
1456 bool bScrollWheelVisible;
1457 } RenderModel_ControllerMode_State_t;
1458
1459 typedef struct NotificationBitmap_t
1460 {
1461 void * m_pImageData; // void *
1462 int32_t m_nWidth;
1463 int32_t m_nHeight;
1464 int32_t m_nBytesPerPixel;
1465 } NotificationBitmap_t;
1466
1467 typedef struct COpenVRContext
1468 {
1469 intptr_t m_pVRSystem; // class vr::IVRSystem *
1470 intptr_t m_pVRChaperone; // class vr::IVRChaperone *
1471 intptr_t m_pVRChaperoneSetup; // class vr::IVRChaperoneSetup *
1472 intptr_t m_pVRCompositor; // class vr::IVRCompositor *
1473 intptr_t m_pVROverlay; // class vr::IVROverlay *
1474 intptr_t m_pVRResources; // class vr::IVRResources *
1475 intptr_t m_pVRRenderModels; // class vr::IVRRenderModels *
1476 intptr_t m_pVRExtendedDisplay; // class vr::IVRExtendedDisplay *
1477 intptr_t m_pVRSettings; // class vr::IVRSettings *
1478 intptr_t m_pVRApplications; // class vr::IVRApplications *
1479 intptr_t m_pVRTrackedCamera; // class vr::IVRTrackedCamera *
1480 intptr_t m_pVRScreenshots; // class vr::IVRScreenshots *
1481 } COpenVRContext;
1482
1483
1484 typedef union
1485 {
1486 VREvent_Reserved_t reserved;
1487 VREvent_Controller_t controller;
1488 VREvent_Mouse_t mouse;
1489 VREvent_Scroll_t scroll;
1490 VREvent_Process_t process;
1491 VREvent_Notification_t notification;
1492 VREvent_Overlay_t overlay;
1493 VREvent_Status_t status;
1494 VREvent_Keyboard_t keyboard;
1495 VREvent_Ipd_t ipd;
1496 VREvent_Chaperone_t chaperone;
1497 VREvent_PerformanceTest_t performanceTest;
1498 VREvent_TouchPadMove_t touchPadMove;
1499 VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset;
1500 } VREvent_Data_t;
1501
1502 /** An event posted by the server to all running applications */
1503 struct VREvent_t
1504 {
1505 uint32_t eventType; // EVREventType enum
1506 TrackedDeviceIndex_t trackedDeviceIndex;
1507 float eventAgeSeconds;
1508 // event data must be the end of the struct as its size is variable
1509 VREvent_Data_t data;
1510 };
1511
1512
1513 typedef union
1514 {
1515 IntersectionMaskRectangle_t m_Rectangle;
1516 IntersectionMaskCircle_t m_Circle;
1517 } VROverlayIntersectionMaskPrimitive_Data_t;
1518
1519 struct VROverlayIntersectionMaskPrimitive_t
1520 {
1521 EVROverlayIntersectionMaskPrimitiveType m_nPrimitiveType;
1522 VROverlayIntersectionMaskPrimitive_Data_t m_Primitive;
1523 };
1524
1525
1526 // OpenVR Function Pointer Tables
1527
1528 struct VR_IVRSystem_FnTable
1529 {
1530 void (OPENVR_FNTABLE_CALLTYPE *GetRecommendedRenderTargetSize)(uint32_t * pnWidth, uint32_t * pnHeight);
1531 struct HmdMatrix44_t (OPENVR_FNTABLE_CALLTYPE *GetProjectionMatrix)(EVRE ye eEye, float fNearZ, float fFarZ);
1532 void (OPENVR_FNTABLE_CALLTYPE *GetProjectionRaw)(EVREye eEye, float * pf Left, float * pfRight, float * pfTop, float * pfBottom);
1533 bool (OPENVR_FNTABLE_CALLTYPE *ComputeDistortion)(EVREye eEye, float fU, float fV, struct DistortionCoordinates_t * pDistortionCoordinates);
1534 struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetEyeToHeadTransform)(EV REye eEye);
1535 bool (OPENVR_FNTABLE_CALLTYPE *GetTimeSinceLastVsync)(float * pfSecondsS inceLastVsync, uint64_t * pulFrameCounter);
1536 int32_t (OPENVR_FNTABLE_CALLTYPE *GetD3D9AdapterIndex)();
1537 void (OPENVR_FNTABLE_CALLTYPE *GetDXGIOutputInfo)(int32_t * pnAdapterInd ex);
1538 bool (OPENVR_FNTABLE_CALLTYPE *IsDisplayOnDesktop)();
1539 bool (OPENVR_FNTABLE_CALLTYPE *SetDisplayVisibility)(bool bIsVisibleOnDe sktop);
1540 void (OPENVR_FNTABLE_CALLTYPE *GetDeviceToAbsoluteTrackingPose)(ETrackin gUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow, struct Tracked DevicePose_t * pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount);
1541 void (OPENVR_FNTABLE_CALLTYPE *ResetSeatedZeroPose)();
1542 struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetSeatedZeroPoseToStandi ngAbsoluteTrackingPose)();
1543 struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetRawZeroPoseToStandingA bsoluteTrackingPose)();
1544 uint32_t (OPENVR_FNTABLE_CALLTYPE *GetSortedTrackedDeviceIndicesOfClass) (ETrackedDeviceClass eTrackedDeviceClass, TrackedDeviceIndex_t * punTrackedDevic eIndexArray, uint32_t unTrackedDeviceIndexArrayCount, TrackedDeviceIndex_t unRel ativeToTrackedDeviceIndex);
1545 EDeviceActivityLevel (OPENVR_FNTABLE_CALLTYPE *GetTrackedDeviceActivityL evel)(TrackedDeviceIndex_t unDeviceId);
1546 void (OPENVR_FNTABLE_CALLTYPE *ApplyTransform)(struct TrackedDevicePose_ t * pOutputPose, struct TrackedDevicePose_t * pTrackedDevicePose, struct HmdMatr ix34_t * pTransform);
1547 TrackedDeviceIndex_t (OPENVR_FNTABLE_CALLTYPE *GetTrackedDeviceIndexForC ontrollerRole)(ETrackedControllerRole unDeviceType);
1548 ETrackedControllerRole (OPENVR_FNTABLE_CALLTYPE *GetControllerRoleForTra ckedDeviceIndex)(TrackedDeviceIndex_t unDeviceIndex);
1549 ETrackedDeviceClass (OPENVR_FNTABLE_CALLTYPE *GetTrackedDeviceClass)(Tra ckedDeviceIndex_t unDeviceIndex);
1550 bool (OPENVR_FNTABLE_CALLTYPE *IsTrackedDeviceConnected)(TrackedDeviceIn dex_t unDeviceIndex);
1551 bool (OPENVR_FNTABLE_CALLTYPE *GetBoolTrackedDeviceProperty)(TrackedDevi ceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pE rror);
1552 float (OPENVR_FNTABLE_CALLTYPE *GetFloatTrackedDeviceProperty)(TrackedDe viceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError);
1553 int32_t (OPENVR_FNTABLE_CALLTYPE *GetInt32TrackedDeviceProperty)(Tracked DeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError);
1554 uint64_t (OPENVR_FNTABLE_CALLTYPE *GetUint64TrackedDeviceProperty)(Track edDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyErro r * pError);
1555 struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetMatrix34TrackedDeviceP roperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrack edPropertyError * pError);
1556 uint32_t (OPENVR_FNTABLE_CALLTYPE *GetStringTrackedDeviceProperty)(Track edDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, char * pchValue, uin t32_t unBufferSize, ETrackedPropertyError * pError);
1557 char * (OPENVR_FNTABLE_CALLTYPE *GetPropErrorNameFromEnum)(ETrackedPrope rtyError error);
1558 bool (OPENVR_FNTABLE_CALLTYPE *PollNextEvent)(struct VREvent_t * pEvent, uint32_t uncbVREvent);
1559 bool (OPENVR_FNTABLE_CALLTYPE *PollNextEventWithPose)(ETrackingUniverseO rigin eOrigin, struct VREvent_t * pEvent, uint32_t uncbVREvent, TrackedDevicePos e_t * pTrackedDevicePose);
1560 char * (OPENVR_FNTABLE_CALLTYPE *GetEventTypeNameFromEnum)(EVREventType eType);
1561 struct HiddenAreaMesh_t (OPENVR_FNTABLE_CALLTYPE *GetHiddenAreaMesh)(EVR Eye eEye, EHiddenAreaMeshType type);
1562 bool (OPENVR_FNTABLE_CALLTYPE *GetControllerState)(TrackedDeviceIndex_t unControllerDeviceIndex, VRControllerState_t * pControllerState, uint32_t unCont rollerStateSize);
1563 bool (OPENVR_FNTABLE_CALLTYPE *GetControllerStateWithPose)(ETrackingUniv erseOrigin eOrigin, TrackedDeviceIndex_t unControllerDeviceIndex, VRControllerSt ate_t * pControllerState, uint32_t unControllerStateSize, struct TrackedDevicePo se_t * pTrackedDevicePose);
1564 void (OPENVR_FNTABLE_CALLTYPE *TriggerHapticPulse)(TrackedDeviceIndex_t unControllerDeviceIndex, uint32_t unAxisId, unsigned short usDurationMicroSec);
1565 char * (OPENVR_FNTABLE_CALLTYPE *GetButtonIdNameFromEnum)(EVRButtonId eB uttonId);
1566 char * (OPENVR_FNTABLE_CALLTYPE *GetControllerAxisTypeNameFromEnum)(EVRC ontrollerAxisType eAxisType);
1567 bool (OPENVR_FNTABLE_CALLTYPE *CaptureInputFocus)();
1568 void (OPENVR_FNTABLE_CALLTYPE *ReleaseInputFocus)();
1569 bool (OPENVR_FNTABLE_CALLTYPE *IsInputFocusCapturedByAnotherProcess)();
1570 uint32_t (OPENVR_FNTABLE_CALLTYPE *DriverDebugRequest)(TrackedDeviceInde x_t unDeviceIndex, char * pchRequest, char * pchResponseBuffer, uint32_t unRespo nseBufferSize);
1571 EVRFirmwareError (OPENVR_FNTABLE_CALLTYPE *PerformFirmwareUpdate)(Tracke dDeviceIndex_t unDeviceIndex);
1572 void (OPENVR_FNTABLE_CALLTYPE *AcknowledgeQuit_Exiting)();
1573 void (OPENVR_FNTABLE_CALLTYPE *AcknowledgeQuit_UserPrompt)();
1574 };
1575
1576 struct VR_IVRExtendedDisplay_FnTable
1577 {
1578 void (OPENVR_FNTABLE_CALLTYPE *GetWindowBounds)(int32_t * pnX, int32_t * pnY, uint32_t * pnWidth, uint32_t * pnHeight);
1579 void (OPENVR_FNTABLE_CALLTYPE *GetEyeOutputViewport)(EVREye eEye, uint32 _t * pnX, uint32_t * pnY, uint32_t * pnWidth, uint32_t * pnHeight);
1580 void (OPENVR_FNTABLE_CALLTYPE *GetDXGIOutputInfo)(int32_t * pnAdapterInd ex, int32_t * pnAdapterOutputIndex);
1581 };
1582
1583 struct VR_IVRTrackedCamera_FnTable
1584 {
1585 char * (OPENVR_FNTABLE_CALLTYPE *GetCameraErrorNameFromEnum)(EVRTrackedC ameraError eCameraError);
1586 EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *HasCamera)(TrackedDevice Index_t nDeviceIndex, bool * pHasCamera);
1587 EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetCameraFrameSize)(Trac kedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, uint32_t * pnWidth, uint32_t * pnHeight, uint32_t * pnFrameBufferSize);
1588 EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetCameraIntrinsics)(Tra ckedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, HmdVector2 _t * pFocalLength, HmdVector2_t * pCenter);
1589 EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetCameraProjection)(Tra ckedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, float flZN ear, float flZFar, HmdMatrix44_t * pProjection);
1590 EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *AcquireVideoStreamingSer vice)(TrackedDeviceIndex_t nDeviceIndex, TrackedCameraHandle_t * pHandle);
1591 EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *ReleaseVideoStreamingSer vice)(TrackedCameraHandle_t hTrackedCamera);
1592 EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetVideoStreamFrameBuffe r)(TrackedCameraHandle_t hTrackedCamera, EVRTrackedCameraFrameType eFrameType, v oid * pFrameBuffer, uint32_t nFrameBufferSize, CameraVideoStreamFrameHeader_t * pFrameHeader, uint32_t nFrameHeaderSize);
1593 EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetVideoStreamTextureSiz e)(TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, VRTe xtureBounds_t * pTextureBounds, uint32_t * pnWidth, uint32_t * pnHeight);
1594 EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetVideoStreamTextureD3D 11)(TrackedCameraHandle_t hTrackedCamera, EVRTrackedCameraFrameType eFrameType, void * pD3D11DeviceOrResource, void ** ppD3D11ShaderResourceView, CameraVideoStr eamFrameHeader_t * pFrameHeader, uint32_t nFrameHeaderSize);
1595 EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetVideoStreamTextureGL) (TrackedCameraHandle_t hTrackedCamera, EVRTrackedCameraFrameType eFrameType, glU Int_t * pglTextureId, CameraVideoStreamFrameHeader_t * pFrameHeader, uint32_t nF rameHeaderSize);
1596 EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *ReleaseVideoStreamTextur eGL)(TrackedCameraHandle_t hTrackedCamera, glUInt_t glTextureId);
1597 };
1598
1599 struct VR_IVRApplications_FnTable
1600 {
1601 EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *AddApplicationManifest)(ch ar * pchApplicationManifestFullPath, bool bTemporary);
1602 EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *RemoveApplicationManifest) (char * pchApplicationManifestFullPath);
1603 bool (OPENVR_FNTABLE_CALLTYPE *IsApplicationInstalled)(char * pchAppKey) ;
1604 uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationCount)();
1605 EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *GetApplicationKeyByIndex)( uint32_t unApplicationIndex, char * pchAppKeyBuffer, uint32_t unAppKeyBufferLen) ;
1606 EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *GetApplicationKeyByProcess Id)(uint32_t unProcessId, char * pchAppKeyBuffer, uint32_t unAppKeyBufferLen);
1607 EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchApplication)(char * pchAppKey);
1608 EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchTemplateApplication) (char * pchTemplateAppKey, char * pchNewAppKey, struct AppOverrideKeys_t * pKeys , uint32_t unKeys);
1609 EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchApplicationFromMimeT ype)(char * pchMimeType, char * pchArgs);
1610 EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchDashboardOverlay)(ch ar * pchAppKey);
1611 bool (OPENVR_FNTABLE_CALLTYPE *CancelApplicationLaunch)(char * pchAppKey );
1612 EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *IdentifyApplication)(uint3 2_t unProcessId, char * pchAppKey);
1613 uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationProcessId)(char * pchAp pKey);
1614 char * (OPENVR_FNTABLE_CALLTYPE *GetApplicationsErrorNameFromEnum)(EVRAp plicationError error);
1615 uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationPropertyString)(char * pchAppKey, EVRApplicationProperty eProperty, char * pchPropertyValueBuffer, uint 32_t unPropertyValueBufferLen, EVRApplicationError * peError);
1616 bool (OPENVR_FNTABLE_CALLTYPE *GetApplicationPropertyBool)(char * pchApp Key, EVRApplicationProperty eProperty, EVRApplicationError * peError);
1617 uint64_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationPropertyUint64)(char * pchAppKey, EVRApplicationProperty eProperty, EVRApplicationError * peError);
1618 EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *SetApplicationAutoLaunch)( char * pchAppKey, bool bAutoLaunch);
1619 bool (OPENVR_FNTABLE_CALLTYPE *GetApplicationAutoLaunch)(char * pchAppKe y);
1620 EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *SetDefaultApplicationForMi meType)(char * pchAppKey, char * pchMimeType);
1621 bool (OPENVR_FNTABLE_CALLTYPE *GetDefaultApplicationForMimeType)(char * pchMimeType, char * pchAppKeyBuffer, uint32_t unAppKeyBufferLen);
1622 bool (OPENVR_FNTABLE_CALLTYPE *GetApplicationSupportedMimeTypes)(char * pchAppKey, char * pchMimeTypesBuffer, uint32_t unMimeTypesBuffer);
1623 uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationsThatSupportMimeType)(c har * pchMimeType, char * pchAppKeysThatSupportBuffer, uint32_t unAppKeysThatSup portBuffer);
1624 uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationLaunchArguments)(uint32 _t unHandle, char * pchArgs, uint32_t unArgs);
1625 EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *GetStartingApplication)(ch ar * pchAppKeyBuffer, uint32_t unAppKeyBufferLen);
1626 EVRApplicationTransitionState (OPENVR_FNTABLE_CALLTYPE *GetTransitionSta te)();
1627 EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *PerformApplicationPrelaunc hCheck)(char * pchAppKey);
1628 char * (OPENVR_FNTABLE_CALLTYPE *GetApplicationsTransitionStateNameFromE num)(EVRApplicationTransitionState state);
1629 bool (OPENVR_FNTABLE_CALLTYPE *IsQuitUserPromptRequested)();
1630 EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchInternalProcess)(cha r * pchBinaryPath, char * pchArguments, char * pchWorkingDirectory);
1631 uint32_t (OPENVR_FNTABLE_CALLTYPE *GetCurrentSceneProcessId)();
1632 };
1633
1634 struct VR_IVRChaperone_FnTable
1635 {
1636 ChaperoneCalibrationState (OPENVR_FNTABLE_CALLTYPE *GetCalibrationState) ();
1637 bool (OPENVR_FNTABLE_CALLTYPE *GetPlayAreaSize)(float * pSizeX, float * pSizeZ);
1638 bool (OPENVR_FNTABLE_CALLTYPE *GetPlayAreaRect)(struct HmdQuad_t * rect) ;
1639 void (OPENVR_FNTABLE_CALLTYPE *ReloadInfo)();
1640 void (OPENVR_FNTABLE_CALLTYPE *SetSceneColor)(struct HmdColor_t color);
1641 void (OPENVR_FNTABLE_CALLTYPE *GetBoundsColor)(struct HmdColor_t * pOutp utColorArray, int nNumOutputColors, float flCollisionBoundsFadeDistance, struct HmdColor_t * pOutputCameraColor);
1642 bool (OPENVR_FNTABLE_CALLTYPE *AreBoundsVisible)();
1643 void (OPENVR_FNTABLE_CALLTYPE *ForceBoundsVisible)(bool bForce);
1644 };
1645
1646 struct VR_IVRChaperoneSetup_FnTable
1647 {
1648 bool (OPENVR_FNTABLE_CALLTYPE *CommitWorkingCopy)(EChaperoneConfigFile c onfigFile);
1649 void (OPENVR_FNTABLE_CALLTYPE *RevertWorkingCopy)();
1650 bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingPlayAreaSize)(float * pSizeX, f loat * pSizeZ);
1651 bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingPlayAreaRect)(struct HmdQuad_t * rect);
1652 bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingCollisionBoundsInfo)(struct Hmd Quad_t * pQuadsBuffer, uint32_t * punQuadsCount);
1653 bool (OPENVR_FNTABLE_CALLTYPE *GetLiveCollisionBoundsInfo)(struct HmdQua d_t * pQuadsBuffer, uint32_t * punQuadsCount);
1654 bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingSeatedZeroPoseToRawTrackingPose )(struct HmdMatrix34_t * pmatSeatedZeroPoseToRawTrackingPose);
1655 bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingStandingZeroPoseToRawTrackingPo se)(struct HmdMatrix34_t * pmatStandingZeroPoseToRawTrackingPose);
1656 void (OPENVR_FNTABLE_CALLTYPE *SetWorkingPlayAreaSize)(float sizeX, floa t sizeZ);
1657 void (OPENVR_FNTABLE_CALLTYPE *SetWorkingCollisionBoundsInfo)(struct Hmd Quad_t * pQuadsBuffer, uint32_t unQuadsCount);
1658 void (OPENVR_FNTABLE_CALLTYPE *SetWorkingSeatedZeroPoseToRawTrackingPose )(struct HmdMatrix34_t * pMatSeatedZeroPoseToRawTrackingPose);
1659 void (OPENVR_FNTABLE_CALLTYPE *SetWorkingStandingZeroPoseToRawTrackingPo se)(struct HmdMatrix34_t * pMatStandingZeroPoseToRawTrackingPose);
1660 void (OPENVR_FNTABLE_CALLTYPE *ReloadFromDisk)(EChaperoneConfigFile conf igFile);
1661 bool (OPENVR_FNTABLE_CALLTYPE *GetLiveSeatedZeroPoseToRawTrackingPose)(s truct HmdMatrix34_t * pmatSeatedZeroPoseToRawTrackingPose);
1662 void (OPENVR_FNTABLE_CALLTYPE *SetWorkingCollisionBoundsTagsInfo)(uint8_ t * pTagsBuffer, uint32_t unTagCount);
1663 bool (OPENVR_FNTABLE_CALLTYPE *GetLiveCollisionBoundsTagsInfo)(uint8_t * pTagsBuffer, uint32_t * punTagCount);
1664 bool (OPENVR_FNTABLE_CALLTYPE *SetWorkingPhysicalBoundsInfo)(struct HmdQ uad_t * pQuadsBuffer, uint32_t unQuadsCount);
1665 bool (OPENVR_FNTABLE_CALLTYPE *GetLivePhysicalBoundsInfo)(struct HmdQuad _t * pQuadsBuffer, uint32_t * punQuadsCount);
1666 bool (OPENVR_FNTABLE_CALLTYPE *ExportLiveToBuffer)(char * pBuffer, uint3 2_t * pnBufferLength);
1667 bool (OPENVR_FNTABLE_CALLTYPE *ImportFromBufferToWorking)(char * pBuffer , uint32_t nImportFlags);
1668 };
1669
1670 struct VR_IVRCompositor_FnTable
1671 {
1672 void (OPENVR_FNTABLE_CALLTYPE *SetTrackingSpace)(ETrackingUniverseOrigin eOrigin);
1673 ETrackingUniverseOrigin (OPENVR_FNTABLE_CALLTYPE *GetTrackingSpace)();
1674 EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *WaitGetPoses)(struct Tracke dDevicePose_t * pRenderPoseArray, uint32_t unRenderPoseArrayCount, struct Tracke dDevicePose_t * pGamePoseArray, uint32_t unGamePoseArrayCount);
1675 EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetLastPoses)(struct Tracke dDevicePose_t * pRenderPoseArray, uint32_t unRenderPoseArrayCount, struct Tracke dDevicePose_t * pGamePoseArray, uint32_t unGamePoseArrayCount);
1676 EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetLastPoseForTrackedDevice Index)(TrackedDeviceIndex_t unDeviceIndex, struct TrackedDevicePose_t * pOutputP ose, struct TrackedDevicePose_t * pOutputGamePose);
1677 EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *Submit)(EVREye eEye, struct Texture_t * pTexture, struct VRTextureBounds_t * pBounds, EVRSubmitFlags nSubmi tFlags);
1678 void (OPENVR_FNTABLE_CALLTYPE *ClearLastSubmittedFrame)();
1679 void (OPENVR_FNTABLE_CALLTYPE *PostPresentHandoff)();
1680 bool (OPENVR_FNTABLE_CALLTYPE *GetFrameTiming)(struct Compositor_FrameTi ming * pTiming, uint32_t unFramesAgo);
1681 uint32_t (OPENVR_FNTABLE_CALLTYPE *GetFrameTimings)(struct Compositor_Fr ameTiming * pTiming, uint32_t nFrames);
1682 float (OPENVR_FNTABLE_CALLTYPE *GetFrameTimeRemaining)();
1683 void (OPENVR_FNTABLE_CALLTYPE *GetCumulativeStats)(struct Compositor_Cum ulativeStats * pStats, uint32_t nStatsSizeInBytes);
1684 void (OPENVR_FNTABLE_CALLTYPE *FadeToColor)(float fSeconds, float fRed, float fGreen, float fBlue, float fAlpha, bool bBackground);
1685 struct HmdColor_t (OPENVR_FNTABLE_CALLTYPE *GetCurrentFadeColor)(bool bB ackground);
1686 void (OPENVR_FNTABLE_CALLTYPE *FadeGrid)(float fSeconds, bool bFadeIn);
1687 float (OPENVR_FNTABLE_CALLTYPE *GetCurrentGridAlpha)();
1688 EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *SetSkyboxOverride)(struct T exture_t * pTextures, uint32_t unTextureCount);
1689 void (OPENVR_FNTABLE_CALLTYPE *ClearSkyboxOverride)();
1690 void (OPENVR_FNTABLE_CALLTYPE *CompositorBringToFront)();
1691 void (OPENVR_FNTABLE_CALLTYPE *CompositorGoToBack)();
1692 void (OPENVR_FNTABLE_CALLTYPE *CompositorQuit)();
1693 bool (OPENVR_FNTABLE_CALLTYPE *IsFullscreen)();
1694 uint32_t (OPENVR_FNTABLE_CALLTYPE *GetCurrentSceneFocusProcess)();
1695 uint32_t (OPENVR_FNTABLE_CALLTYPE *GetLastFrameRenderer)();
1696 bool (OPENVR_FNTABLE_CALLTYPE *CanRenderScene)();
1697 void (OPENVR_FNTABLE_CALLTYPE *ShowMirrorWindow)();
1698 void (OPENVR_FNTABLE_CALLTYPE *HideMirrorWindow)();
1699 bool (OPENVR_FNTABLE_CALLTYPE *IsMirrorWindowVisible)();
1700 void (OPENVR_FNTABLE_CALLTYPE *CompositorDumpImages)();
1701 bool (OPENVR_FNTABLE_CALLTYPE *ShouldAppRenderWithLowResources)();
1702 void (OPENVR_FNTABLE_CALLTYPE *ForceInterleavedReprojectionOn)(bool bOve rride);
1703 void (OPENVR_FNTABLE_CALLTYPE *ForceReconnectProcess)();
1704 void (OPENVR_FNTABLE_CALLTYPE *SuspendRendering)(bool bSuspend);
1705 EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetMirrorTextureD3D11)(EVRE ye eEye, void * pD3D11DeviceOrResource, void ** ppD3D11ShaderResourceView);
1706 void (OPENVR_FNTABLE_CALLTYPE *ReleaseMirrorTextureD3D11)(void * pD3D11S haderResourceView);
1707 EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetMirrorTextureGL)(EVREye eEye, glUInt_t * pglTextureId, glSharedTextureHandle_t * pglSharedTextureHandle) ;
1708 bool (OPENVR_FNTABLE_CALLTYPE *ReleaseSharedGLTexture)(glUInt_t glTextur eId, glSharedTextureHandle_t glSharedTextureHandle);
1709 void (OPENVR_FNTABLE_CALLTYPE *LockGLSharedTextureForAccess)(glSharedTex tureHandle_t glSharedTextureHandle);
1710 void (OPENVR_FNTABLE_CALLTYPE *UnlockGLSharedTextureForAccess)(glSharedT extureHandle_t glSharedTextureHandle);
1711 uint32_t (OPENVR_FNTABLE_CALLTYPE *GetVulkanInstanceExtensionsRequired)( char * pchValue, uint32_t unBufferSize);
1712 uint32_t (OPENVR_FNTABLE_CALLTYPE *GetVulkanDeviceExtensionsRequired)(st ruct VkPhysicalDevice_T * pPhysicalDevice, char * pchValue, uint32_t unBufferSiz e);
1713 };
1714
1715 struct VR_IVROverlay_FnTable
1716 {
1717 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *FindOverlay)(char * pchOverlay Key, VROverlayHandle_t * pOverlayHandle);
1718 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *CreateOverlay)(char * pchOverl ayKey, char * pchOverlayFriendlyName, VROverlayHandle_t * pOverlayHandle);
1719 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *DestroyOverlay)(VROverlayHandl e_t ulOverlayHandle);
1720 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetHighQualityOverlay)(VROverl ayHandle_t ulOverlayHandle);
1721 VROverlayHandle_t (OPENVR_FNTABLE_CALLTYPE *GetHighQualityOverlay)();
1722 uint32_t (OPENVR_FNTABLE_CALLTYPE *GetOverlayKey)(VROverlayHandle_t ulOv erlayHandle, char * pchValue, uint32_t unBufferSize, EVROverlayError * pError);
1723 uint32_t (OPENVR_FNTABLE_CALLTYPE *GetOverlayName)(VROverlayHandle_t ulO verlayHandle, char * pchValue, uint32_t unBufferSize, EVROverlayError * pError);
1724 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayImageData)(VROverlay Handle_t ulOverlayHandle, void * pvBuffer, uint32_t unBufferSize, uint32_t * pun Width, uint32_t * punHeight);
1725 char * (OPENVR_FNTABLE_CALLTYPE *GetOverlayErrorNameFromEnum)(EVROverlay Error error);
1726 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayRenderingPid)(VROver layHandle_t ulOverlayHandle, uint32_t unPID);
1727 uint32_t (OPENVR_FNTABLE_CALLTYPE *GetOverlayRenderingPid)(VROverlayHand le_t ulOverlayHandle);
1728 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayFlag)(VROverlayHandl e_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool bEnabled);
1729 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayFlag)(VROverlayHandl e_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool * pbEnabled);
1730 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayColor)(VROverlayHand le_t ulOverlayHandle, float fRed, float fGreen, float fBlue);
1731 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayColor)(VROverlayHand le_t ulOverlayHandle, float * pfRed, float * pfGreen, float * pfBlue);
1732 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayAlpha)(VROverlayHand le_t ulOverlayHandle, float fAlpha);
1733 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayAlpha)(VROverlayHand le_t ulOverlayHandle, float * pfAlpha);
1734 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTexelAspect)(VROverl ayHandle_t ulOverlayHandle, float fTexelAspect);
1735 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTexelAspect)(VROverl ayHandle_t ulOverlayHandle, float * pfTexelAspect);
1736 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlaySortOrder)(VROverlay Handle_t ulOverlayHandle, uint32_t unSortOrder);
1737 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlaySortOrder)(VROverlay Handle_t ulOverlayHandle, uint32_t * punSortOrder);
1738 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayWidthInMeters)(VROve rlayHandle_t ulOverlayHandle, float fWidthInMeters);
1739 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayWidthInMeters)(VROve rlayHandle_t ulOverlayHandle, float * pfWidthInMeters);
1740 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayAutoCurveDistanceRan geInMeters)(VROverlayHandle_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters);
1741 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayAutoCurveDistanceRan geInMeters)(VROverlayHandle_t ulOverlayHandle, float * pfMinDistanceInMeters, fl oat * pfMaxDistanceInMeters);
1742 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTextureColorSpace)(V ROverlayHandle_t ulOverlayHandle, EColorSpace eTextureColorSpace);
1743 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTextureColorSpace)(V ROverlayHandle_t ulOverlayHandle, EColorSpace * peTextureColorSpace);
1744 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTextureBounds)(VROve rlayHandle_t ulOverlayHandle, struct VRTextureBounds_t * pOverlayTextureBounds);
1745 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTextureBounds)(VROve rlayHandle_t ulOverlayHandle, struct VRTextureBounds_t * pOverlayTextureBounds);
1746 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformType)(VROve rlayHandle_t ulOverlayHandle, VROverlayTransformType * peTransformType);
1747 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTransformAbsolute)(V ROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, struc t HmdMatrix34_t * pmatTrackingOriginToOverlayTransform);
1748 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformAbsolute)(V ROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin * peTrackingOrigin, st ruct HmdMatrix34_t * pmatTrackingOriginToOverlayTransform);
1749 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTransformTrackedDevi ceRelative)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unTrackedDev ice, struct HmdMatrix34_t * pmatTrackedDeviceToOverlayTransform);
1750 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformTrackedDevi ceRelative)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t * punTracked Device, struct HmdMatrix34_t * pmatTrackedDeviceToOverlayTransform);
1751 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTransformTrackedDevi ceComponent)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unDeviceInd ex, char * pchComponentName);
1752 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformTrackedDevi ceComponent)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t * punDevice Index, char * pchComponentName, uint32_t unComponentNameSize);
1753 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ShowOverlay)(VROverlayHandle_t ulOverlayHandle);
1754 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *HideOverlay)(VROverlayHandle_t ulOverlayHandle);
1755 bool (OPENVR_FNTABLE_CALLTYPE *IsOverlayVisible)(VROverlayHandle_t ulOve rlayHandle);
1756 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetTransformForOverlayCoordina tes)(VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, struct HmdVector2_t coordinatesInOverlay, struct HmdMatrix34_t * pmatTransform) ;
1757 bool (OPENVR_FNTABLE_CALLTYPE *PollNextOverlayEvent)(VROverlayHandle_t u lOverlayHandle, struct VREvent_t * pEvent, uint32_t uncbVREvent);
1758 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayInputMethod)(VROverl ayHandle_t ulOverlayHandle, VROverlayInputMethod * peInputMethod);
1759 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayInputMethod)(VROverl ayHandle_t ulOverlayHandle, VROverlayInputMethod eInputMethod);
1760 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayMouseScale)(VROverla yHandle_t ulOverlayHandle, struct HmdVector2_t * pvecMouseScale);
1761 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayMouseScale)(VROverla yHandle_t ulOverlayHandle, struct HmdVector2_t * pvecMouseScale);
1762 bool (OPENVR_FNTABLE_CALLTYPE *ComputeOverlayIntersection)(VROverlayHand le_t ulOverlayHandle, struct VROverlayIntersectionParams_t * pParams, struct VRO verlayIntersectionResults_t * pResults);
1763 bool (OPENVR_FNTABLE_CALLTYPE *HandleControllerOverlayInteractionAsMouse )(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unControllerDeviceInde x);
1764 bool (OPENVR_FNTABLE_CALLTYPE *IsHoverTargetOverlay)(VROverlayHandle_t u lOverlayHandle);
1765 VROverlayHandle_t (OPENVR_FNTABLE_CALLTYPE *GetGamepadFocusOverlay)();
1766 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetGamepadFocusOverlay)(VROver layHandle_t ulNewFocusOverlay);
1767 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayNeighbor)(EOverlayDi rection eDirection, VROverlayHandle_t ulFrom, VROverlayHandle_t ulTo);
1768 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *MoveGamepadFocusToNeighbor)(EO verlayDirection eDirection, VROverlayHandle_t ulFrom);
1769 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTexture)(VROverlayHa ndle_t ulOverlayHandle, struct Texture_t * pTexture);
1770 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ClearOverlayTexture)(VROverlay Handle_t ulOverlayHandle);
1771 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayRaw)(VROverlayHandle _t ulOverlayHandle, void * pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32 _t unDepth);
1772 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayFromFile)(VROverlayH andle_t ulOverlayHandle, char * pchFilePath);
1773 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTexture)(VROverlayHa ndle_t ulOverlayHandle, void ** pNativeTextureHandle, void * pNativeTextureRef, uint32_t * pWidth, uint32_t * pHeight, uint32_t * pNativeFormat, ETextureType * pAPIType, EColorSpace * pColorSpace, struct VRTextureBounds_t * pTextureBounds);
1774 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ReleaseNativeOverlayHandle)(VR OverlayHandle_t ulOverlayHandle, void * pNativeTextureHandle);
1775 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTextureSize)(VROverl ayHandle_t ulOverlayHandle, uint32_t * pWidth, uint32_t * pHeight);
1776 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *CreateDashboardOverlay)(char * pchOverlayKey, char * pchOverlayFriendlyName, VROverlayHandle_t * pMainHandle, VROverlayHandle_t * pThumbnailHandle);
1777 bool (OPENVR_FNTABLE_CALLTYPE *IsDashboardVisible)();
1778 bool (OPENVR_FNTABLE_CALLTYPE *IsActiveDashboardOverlay)(VROverlayHandle _t ulOverlayHandle);
1779 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetDashboardOverlaySceneProces s)(VROverlayHandle_t ulOverlayHandle, uint32_t unProcessId);
1780 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetDashboardOverlaySceneProces s)(VROverlayHandle_t ulOverlayHandle, uint32_t * punProcessId);
1781 void (OPENVR_FNTABLE_CALLTYPE *ShowDashboard)(char * pchOverlayToShow);
1782 TrackedDeviceIndex_t (OPENVR_FNTABLE_CALLTYPE *GetPrimaryDashboardDevice )();
1783 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ShowKeyboard)(EGamepadTextInpu tMode eInputMode, EGamepadTextInputLineMode eLineInputMode, char * pchDescriptio n, uint32_t unCharMax, char * pchExistingText, bool bUseMinimalMode, uint64_t uU serValue);
1784 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ShowKeyboardForOverlay)(VROver layHandle_t ulOverlayHandle, EGamepadTextInputMode eInputMode, EGamepadTextInput LineMode eLineInputMode, char * pchDescription, uint32_t unCharMax, char * pchEx istingText, bool bUseMinimalMode, uint64_t uUserValue);
1785 uint32_t (OPENVR_FNTABLE_CALLTYPE *GetKeyboardText)(char * pchText, uint 32_t cchText);
1786 void (OPENVR_FNTABLE_CALLTYPE *HideKeyboard)();
1787 void (OPENVR_FNTABLE_CALLTYPE *SetKeyboardTransformAbsolute)(ETrackingUn iverseOrigin eTrackingOrigin, struct HmdMatrix34_t * pmatTrackingOriginToKeyboar dTransform);
1788 void (OPENVR_FNTABLE_CALLTYPE *SetKeyboardPositionForOverlay)(VROverlayH andle_t ulOverlayHandle, struct HmdRect2_t avoidRect);
1789 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayIntersectionMask)(VR OverlayHandle_t ulOverlayHandle, struct VROverlayIntersectionMaskPrimitive_t * p MaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize);
1790 EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayFlags)(VROverlayHand le_t ulOverlayHandle, uint32_t * pFlags);
1791 VRMessageOverlayResponse (OPENVR_FNTABLE_CALLTYPE *ShowMessageOverlay)(c har * pchText, char * pchCaption, char * pchButton0Text, char * pchButton1Text, char * pchButton2Text, char * pchButton3Text);
1792 };
1793
1794 struct VR_IVRRenderModels_FnTable
1795 {
1796 EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadRenderModel_Async)(cha r * pchRenderModelName, struct RenderModel_t ** ppRenderModel);
1797 void (OPENVR_FNTABLE_CALLTYPE *FreeRenderModel)(struct RenderModel_t * p RenderModel);
1798 EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadTexture_Async)(Texture ID_t textureId, struct RenderModel_TextureMap_t ** ppTexture);
1799 void (OPENVR_FNTABLE_CALLTYPE *FreeTexture)(struct RenderModel_TextureMa p_t * pTexture);
1800 EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadTextureD3D11_Async)(Te xtureID_t textureId, void * pD3D11Device, void ** ppD3D11Texture2D);
1801 EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadIntoTextureD3D11_Async )(TextureID_t textureId, void * pDstTexture);
1802 void (OPENVR_FNTABLE_CALLTYPE *FreeTextureD3D11)(void * pD3D11Texture2D) ;
1803 uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelName)(uint32_t unRender ModelIndex, char * pchRenderModelName, uint32_t unRenderModelNameLen);
1804 uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelCount)();
1805 uint32_t (OPENVR_FNTABLE_CALLTYPE *GetComponentCount)(char * pchRenderMo delName);
1806 uint32_t (OPENVR_FNTABLE_CALLTYPE *GetComponentName)(char * pchRenderMod elName, uint32_t unComponentIndex, char * pchComponentName, uint32_t unComponent NameLen);
1807 uint64_t (OPENVR_FNTABLE_CALLTYPE *GetComponentButtonMask)(char * pchRen derModelName, char * pchComponentName);
1808 uint32_t (OPENVR_FNTABLE_CALLTYPE *GetComponentRenderModelName)(char * p chRenderModelName, char * pchComponentName, char * pchComponentRenderModelName, uint32_t unComponentRenderModelNameLen);
1809 bool (OPENVR_FNTABLE_CALLTYPE *GetComponentState)(char * pchRenderModelN ame, char * pchComponentName, VRControllerState_t * pControllerState, struct Ren derModel_ControllerMode_State_t * pState, struct RenderModel_ComponentState_t * pComponentState);
1810 bool (OPENVR_FNTABLE_CALLTYPE *RenderModelHasComponent)(char * pchRender ModelName, char * pchComponentName);
1811 uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelThumbnailURL)(char * pc hRenderModelName, char * pchThumbnailURL, uint32_t unThumbnailURLLen, EVRRenderM odelError * peError);
1812 uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelOriginalPath)(char * pc hRenderModelName, char * pchOriginalPath, uint32_t unOriginalPathLen, EVRRenderM odelError * peError);
1813 char * (OPENVR_FNTABLE_CALLTYPE *GetRenderModelErrorNameFromEnum)(EVRRen derModelError error);
1814 };
1815
1816 struct VR_IVRNotifications_FnTable
1817 {
1818 EVRNotificationError (OPENVR_FNTABLE_CALLTYPE *CreateNotification)(VROve rlayHandle_t ulOverlayHandle, uint64_t ulUserValue, EVRNotificationType type, ch ar * pchText, EVRNotificationStyle style, struct NotificationBitmap_t * pImage, VRNotificationId * pNotificationId);
1819 EVRNotificationError (OPENVR_FNTABLE_CALLTYPE *RemoveNotification)(VRNot ificationId notificationId);
1820 };
1821
1822 struct VR_IVRSettings_FnTable
1823 {
1824 char * (OPENVR_FNTABLE_CALLTYPE *GetSettingsErrorNameFromEnum)(EVRSettin gsError eError);
1825 bool (OPENVR_FNTABLE_CALLTYPE *Sync)(bool bForce, EVRSettingsError * peE rror);
1826 void (OPENVR_FNTABLE_CALLTYPE *SetBool)(char * pchSection, char * pchSet tingsKey, bool bValue, EVRSettingsError * peError);
1827 void (OPENVR_FNTABLE_CALLTYPE *SetInt32)(char * pchSection, char * pchSe ttingsKey, int32_t nValue, EVRSettingsError * peError);
1828 void (OPENVR_FNTABLE_CALLTYPE *SetFloat)(char * pchSection, char * pchSe ttingsKey, float flValue, EVRSettingsError * peError);
1829 void (OPENVR_FNTABLE_CALLTYPE *SetString)(char * pchSection, char * pchS ettingsKey, char * pchValue, EVRSettingsError * peError);
1830 bool (OPENVR_FNTABLE_CALLTYPE *GetBool)(char * pchSection, char * pchSet tingsKey, EVRSettingsError * peError);
1831 int32_t (OPENVR_FNTABLE_CALLTYPE *GetInt32)(char * pchSection, char * pc hSettingsKey, EVRSettingsError * peError);
1832 float (OPENVR_FNTABLE_CALLTYPE *GetFloat)(char * pchSection, char * pchS ettingsKey, EVRSettingsError * peError);
1833 void (OPENVR_FNTABLE_CALLTYPE *GetString)(char * pchSection, char * pchS ettingsKey, char * pchValue, uint32_t unValueLen, EVRSettingsError * peError);
1834 void (OPENVR_FNTABLE_CALLTYPE *RemoveSection)(char * pchSection, EVRSett ingsError * peError);
1835 void (OPENVR_FNTABLE_CALLTYPE *RemoveKeyInSection)(char * pchSection, ch ar * pchSettingsKey, EVRSettingsError * peError);
1836 };
1837
1838 struct VR_IVRScreenshots_FnTable
1839 {
1840 EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *RequestScreenshot)(Screensh otHandle_t * pOutScreenshotHandle, EVRScreenshotType type, char * pchPreviewFile name, char * pchVRFilename);
1841 EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *HookScreenshot)(EVRScreensh otType * pSupportedTypes, int numTypes);
1842 EVRScreenshotType (OPENVR_FNTABLE_CALLTYPE *GetScreenshotPropertyType)(S creenshotHandle_t screenshotHandle, EVRScreenshotError * pError);
1843 uint32_t (OPENVR_FNTABLE_CALLTYPE *GetScreenshotPropertyFilename)(Screen shotHandle_t screenshotHandle, EVRScreenshotPropertyFilenames filenameType, char * pchFilename, uint32_t cchFilename, EVRScreenshotError * pError);
1844 EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *UpdateScreenshotProgress)(S creenshotHandle_t screenshotHandle, float flProgress);
1845 EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *TakeStereoScreenshot)(Scree nshotHandle_t * pOutScreenshotHandle, char * pchPreviewFilename, char * pchVRFil ename);
1846 EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *SubmitScreenshot)(Screensho tHandle_t screenshotHandle, EVRScreenshotType type, char * pchSourcePreviewFilen ame, char * pchSourceVRFilename);
1847 };
1848
1849 struct VR_IVRResources_FnTable
1850 {
1851 uint32_t (OPENVR_FNTABLE_CALLTYPE *LoadSharedResource)(char * pchResourc eName, char * pchBuffer, uint32_t unBufferLen);
1852 uint32_t (OPENVR_FNTABLE_CALLTYPE *GetResourceFullPath)(char * pchResour ceName, char * pchResourceTypeDirectory, char * pchPathBuffer, uint32_t unBuffer Len);
1853 };
1854
1855
1856 #if 0
1857 // Global entry points
1858 S_API intptr_t VR_InitInternal( EVRInitError *peError, EVRApplicationType eType );
1859 S_API void VR_ShutdownInternal();
1860 S_API bool VR_IsHmdPresent();
1861 S_API intptr_t VR_GetGenericInterface( const char *pchInterfaceVersion, EVRInitE rror *peError );
1862 S_API bool VR_IsRuntimeInstalled();
1863 S_API const char * VR_GetVRInitErrorAsSymbol( EVRInitError error );
1864 S_API const char * VR_GetVRInitErrorAsEnglishDescription( EVRInitError error );
1865 #endif
1866
1867 #endif // __OPENVR_API_FLAT_H__
1868
1869
OLDNEW
« no previous file with comments | « third_party/openvr/src/headers/openvr_api.json ('k') | third_party/openvr/src/headers/openvr_driver.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698