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