Add RtMidi for midi control, use the --midi option in premake, and see

update to OpenVR sdk 1.03 from https://github.com/ValveSoftware/openvr
add camPosX/Y/Z and camRotZ to adjust relative camera/world transform for VR (so you can align virtual table with real table etc)
tweak quadruped.py to move a bit
add mouse picking to physics server
This commit is contained in:
erwincoumans
2016-11-16 16:12:59 -08:00
parent b4b93573fc
commit 2329c00faa
32 changed files with 6434 additions and 398 deletions

View File

@@ -28,7 +28,7 @@
#else
#define S_API extern "C" __declspec( dllimport )
#endif // OPENVR_API_EXPORTS
#elif defined( GNUC )
#elif defined( __GNUC__ )
#if defined( OPENVR_API_EXPORTS )
#define S_API EXTERN_C __attribute__ ((visibility("default")))
#else
@@ -65,14 +65,16 @@ static const char * IVRSystem_Version = "IVRSystem_012";
static const char * IVRExtendedDisplay_Version = "IVRExtendedDisplay_001";
static const char * IVRTrackedCamera_Version = "IVRTrackedCamera_003";
static const unsigned int k_unMaxApplicationKeyLength = 128;
static const char * IVRApplications_Version = "IVRApplications_005";
static const char * k_pch_MimeType_HomeApp = "vr/home";
static const char * k_pch_MimeType_GameTheater = "vr/game_theater";
static const char * IVRApplications_Version = "IVRApplications_006";
static const char * IVRChaperone_Version = "IVRChaperone_003";
static const char * IVRChaperoneSetup_Version = "IVRChaperoneSetup_005";
static const char * IVRCompositor_Version = "IVRCompositor_015";
static const char * IVRCompositor_Version = "IVRCompositor_016";
static const unsigned int k_unVROverlayMaxKeyLength = 128;
static const unsigned int k_unVROverlayMaxNameLength = 128;
static const unsigned int k_unMaxOverlayCount = 32;
static const char * IVROverlay_Version = "IVROverlay_012";
static const unsigned int k_unMaxOverlayCount = 64;
static const char * IVROverlay_Version = "IVROverlay_013";
static const char * k_pch_Controller_Component_GDC2015 = "gdc2015";
static const char * k_pch_Controller_Component_Base = "base";
static const char * k_pch_Controller_Component_Tip = "tip";
@@ -82,7 +84,7 @@ static const char * IVRRenderModels_Version = "IVRRenderModels_005";
static const unsigned int k_unNotificationTextMaxSize = 256;
static const char * IVRNotifications_Version = "IVRNotifications_002";
static const unsigned int k_unMaxSettingsKeyLength = 128;
static const char * IVRSettings_Version = "IVRSettings_001";
static const char * IVRSettings_Version = "IVRSettings_002";
static const char * k_pch_SteamVR_Section = "steamvr";
static const char * k_pch_SteamVR_RequireHmd_String = "requireHmd";
static const char * k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver";
@@ -103,9 +105,6 @@ static const char * k_pch_SteamVR_GridColor_String = "gridColor";
static const char * k_pch_SteamVR_PlayAreaColor_String = "playAreaColor";
static const char * k_pch_SteamVR_ShowStage_Bool = "showStage";
static const char * k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers";
static const char * k_pch_SteamVR_PowerOffOnExit_Bool = "powerOffOnExit";
static const char * k_pch_SteamVR_StandbyAppRunningTimeout_Float = "standbyAppRunningTimeout";
static const char * k_pch_SteamVR_StandbyNoAppTimeout_Float = "standbyNoAppTimeout";
static const char * k_pch_SteamVR_DirectMode_Bool = "directMode";
static const char * k_pch_SteamVR_DirectModeEdidVid_Int32 = "directModeEdidVid";
static const char * k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid";
@@ -119,14 +118,17 @@ static const char * k_pch_SteamVR_ForceReprojection_Bool = "forceReprojection";
static const char * k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking";
static const char * k_pch_SteamVR_DefaultMirrorView_Int32 = "defaultMirrorView";
static const char * k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView";
static const char * k_pch_SteamVR_MirrorViewGeometry_String = "mirrorViewGeometry";
static const char * k_pch_SteamVR_StartMonitorFromAppLaunch = "startMonitorFromAppLaunch";
static const char * k_pch_SteamVR_EnableHomeApp = "enableHomeApp";
static const char * k_pch_SteamVR_SetInitialDefaultHomeApp = "setInitialDefaultHomeApp";
static const char * k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32 = "CycleBackgroundImageTimeSec";
static const char * k_pch_SteamVR_RetailDemo_Bool = "retailDemo";
static const char * k_pch_Lighthouse_Section = "driver_lighthouse";
static const char * k_pch_Lighthouse_DisableIMU_Bool = "disableimu";
static const char * k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation";
static const char * k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug";
static const char * k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation";
static const char * k_pch_Lighthouse_LighthouseName_String = "lighthousename";
static const char * k_pch_Lighthouse_MaxIncidenceAngleDegrees_Float = "maxincidenceangledegrees";
static const char * k_pch_Lighthouse_UseLighthouseDirect_Bool = "uselighthousedirect";
static const char * k_pch_Lighthouse_DBHistory_Bool = "dbhistory";
static const char * k_pch_Null_Section = "driver_null";
static const char * k_pch_Null_EnableNullDriver_Bool = "enable";
@@ -142,7 +144,8 @@ static const char * k_pch_Null_SecondsFromVsyncToPhotons_Float = "secondsFromVsy
static const char * k_pch_Null_DisplayFrequency_Float = "displayFrequency";
static const char * k_pch_UserInterface_Section = "userinterface";
static const char * k_pch_UserInterface_StatusAlwaysOnTop_Bool = "StatusAlwaysOnTop";
static const char * k_pch_UserInterface_EnableScreenshots_Bool = "EnableScreenshots";
static const char * k_pch_UserInterface_Screenshots_Bool = "screenshots";
static const char * k_pch_UserInterface_ScreenshotType_Int = "screenshotType";
static const char * k_pch_Notifications_Section = "notifications";
static const char * k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb";
static const char * k_pch_Keyboard_Section = "keyboard";
@@ -179,6 +182,7 @@ static const char * k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGam
static const char * k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGammaG";
static const char * k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB";
static const char * k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA";
static const char * k_pch_Camera_BoundsStrength_Int32 = "cameraBoundsStrength";
static const char * k_pch_audio_Section = "audio";
static const char * k_pch_audio_OnPlaybackDevice_String = "onPlaybackDevice";
static const char * k_pch_audio_OnRecordDevice_String = "onRecordDevice";
@@ -186,8 +190,18 @@ static const char * k_pch_audio_OnPlaybackMirrorDevice_String = "onPlaybackMirro
static const char * k_pch_audio_OffPlaybackDevice_String = "offPlaybackDevice";
static const char * k_pch_audio_OffRecordDevice_String = "offRecordDevice";
static const char * k_pch_audio_VIVEHDMIGain = "viveHDMIGain";
static const char * k_pch_Power_Section = "power";
static const char * k_pch_Power_PowerOffOnExit_Bool = "powerOffOnExit";
static const char * k_pch_Power_TurnOffScreensTimeout_Float = "turnOffScreensTimeout";
static const char * k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout";
static const char * k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout";
static const char * k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress";
static const char * k_pch_Dashboard_Section = "dashboard";
static const char * k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard";
static const char * k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode";
static const char * k_pch_modelskin_Section = "modelskins";
static const char * IVRScreenshots_Version = "IVRScreenshots_001";
static const char * IVRResources_Version = "IVRResources_001";
// OpenVR Enums
@@ -225,6 +239,7 @@ typedef enum ETrackedDeviceClass
ETrackedDeviceClass_TrackedDeviceClass_HMD = 1,
ETrackedDeviceClass_TrackedDeviceClass_Controller = 2,
ETrackedDeviceClass_TrackedDeviceClass_TrackingReference = 4,
ETrackedDeviceClass_TrackedDeviceClass_Count = 5,
ETrackedDeviceClass_TrackedDeviceClass_Other = 1000,
} ETrackedDeviceClass;
@@ -321,6 +336,7 @@ typedef enum ETrackedDeviceProperty
ETrackedDeviceProperty_Prop_Axis2Type_Int32 = 3004,
ETrackedDeviceProperty_Prop_Axis3Type_Int32 = 3005,
ETrackedDeviceProperty_Prop_Axis4Type_Int32 = 3006,
ETrackedDeviceProperty_Prop_ControllerRoleHint_Int32 = 3007,
ETrackedDeviceProperty_Prop_FieldOfViewLeftDegrees_Float = 4000,
ETrackedDeviceProperty_Prop_FieldOfViewRightDegrees_Float = 4001,
ETrackedDeviceProperty_Prop_FieldOfViewTopDegrees_Float = 4002,
@@ -328,6 +344,15 @@ typedef enum ETrackedDeviceProperty
ETrackedDeviceProperty_Prop_TrackingRangeMinimumMeters_Float = 4004,
ETrackedDeviceProperty_Prop_TrackingRangeMaximumMeters_Float = 4005,
ETrackedDeviceProperty_Prop_ModeLabel_String = 4006,
ETrackedDeviceProperty_Prop_IconPathName_String = 5000,
ETrackedDeviceProperty_Prop_NamedIconPathDeviceOff_String = 5001,
ETrackedDeviceProperty_Prop_NamedIconPathDeviceSearching_String = 5002,
ETrackedDeviceProperty_Prop_NamedIconPathDeviceSearchingAlert_String = 5003,
ETrackedDeviceProperty_Prop_NamedIconPathDeviceReady_String = 5004,
ETrackedDeviceProperty_Prop_NamedIconPathDeviceReadyAlert_String = 5005,
ETrackedDeviceProperty_Prop_NamedIconPathDeviceNotReady_String = 5006,
ETrackedDeviceProperty_Prop_NamedIconPathDeviceStandby_String = 5007,
ETrackedDeviceProperty_Prop_NamedIconPathDeviceAlertLow_String = 5008,
ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_Start = 10000,
ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_End = 10999,
} ETrackedDeviceProperty;
@@ -351,6 +376,7 @@ typedef enum EVRSubmitFlags
EVRSubmitFlags_Submit_Default = 0,
EVRSubmitFlags_Submit_LensDistortionAlreadyApplied = 1,
EVRSubmitFlags_Submit_GlRenderBuffer = 2,
EVRSubmitFlags_Submit_VulkanTexture = 4,
} EVRSubmitFlags;
typedef enum EVRState
@@ -363,6 +389,7 @@ typedef enum EVRState
EVRState_VRState_Ready_Alert = 4,
EVRState_VRState_NotReady = 5,
EVRState_VRState_Standby = 6,
EVRState_VRState_Ready_Alert_Low = 7,
} EVRState;
typedef enum EVREventType
@@ -377,6 +404,8 @@ typedef enum EVREventType
EVREventType_VREvent_EnterStandbyMode = 106,
EVREventType_VREvent_LeaveStandbyMode = 107,
EVREventType_VREvent_TrackedDeviceRoleChanged = 108,
EVREventType_VREvent_WatchdogWakeUpRequested = 109,
EVREventType_VREvent_LensDistortionChanged = 110,
EVREventType_VREvent_ButtonPress = 200,
EVREventType_VREvent_ButtonUnpress = 201,
EVREventType_VREvent_ButtonTouch = 202,
@@ -388,6 +417,7 @@ typedef enum EVREventType
EVREventType_VREvent_FocusLeave = 304,
EVREventType_VREvent_Scroll = 305,
EVREventType_VREvent_TouchPadMove = 306,
EVREventType_VREvent_OverlayFocusChanged = 307,
EVREventType_VREvent_InputFocusCaptured = 400,
EVREventType_VREvent_InputFocusReleased = 401,
EVREventType_VREvent_SceneFocusLost = 402,
@@ -416,10 +446,12 @@ typedef enum EVREventType
EVREventType_VREvent_DashboardGuideButtonUp = 515,
EVREventType_VREvent_ScreenshotTriggered = 516,
EVREventType_VREvent_ImageFailed = 517,
EVREventType_VREvent_DashboardOverlayCreated = 518,
EVREventType_VREvent_RequestScreenshot = 520,
EVREventType_VREvent_ScreenshotTaken = 521,
EVREventType_VREvent_ScreenshotFailed = 522,
EVREventType_VREvent_SubmitScreenshotToDashboard = 523,
EVREventType_VREvent_ScreenshotProgressToDashboard = 524,
EVREventType_VREvent_Notification_Shown = 600,
EVREventType_VREvent_Notification_Hidden = 601,
EVREventType_VREvent_Notification_BeginInteraction = 602,
@@ -440,6 +472,7 @@ typedef enum EVREventType
EVREventType_VREvent_ReprojectionSettingHasChanged = 852,
EVREventType_VREvent_ModelSkinSettingsHaveChanged = 853,
EVREventType_VREvent_EnvironmentSettingsHaveChanged = 854,
EVREventType_VREvent_PowerSettingsHaveChanged = 855,
EVREventType_VREvent_StatusUpdate = 900,
EVREventType_VREvent_MCImageUpdated = 1000,
EVREventType_VREvent_FirmwareUpdateStarted = 1100,
@@ -451,6 +484,7 @@ typedef enum EVREventType
EVREventType_VREvent_ApplicationTransitionAborted = 1301,
EVREventType_VREvent_ApplicationTransitionNewAppStarted = 1302,
EVREventType_VREvent_ApplicationListUpdated = 1303,
EVREventType_VREvent_ApplicationMimeTypeLoad = 1304,
EVREventType_VREvent_Compositor_MirrorWindowShown = 1400,
EVREventType_VREvent_Compositor_MirrorWindowHidden = 1401,
EVREventType_VREvent_Compositor_ChaperoneBoundsShown = 1410,
@@ -459,6 +493,7 @@ typedef enum EVREventType
EVREventType_VREvent_TrackedCamera_StopVideoStream = 1501,
EVREventType_VREvent_TrackedCamera_PauseVideoStream = 1502,
EVREventType_VREvent_TrackedCamera_ResumeVideoStream = 1503,
EVREventType_VREvent_TrackedCamera_EditingSurface = 1550,
EVREventType_VREvent_PerformanceTest_EnableCapture = 1600,
EVREventType_VREvent_PerformanceTest_DisableCapture = 1601,
EVREventType_VREvent_PerformanceTest_FidelityLevel = 1602,
@@ -485,6 +520,7 @@ typedef enum EVRButtonId
EVRButtonId_k_EButton_DPad_Right = 5,
EVRButtonId_k_EButton_DPad_Down = 6,
EVRButtonId_k_EButton_A = 7,
EVRButtonId_k_EButton_ProximitySensor = 31,
EVRButtonId_k_EButton_Axis0 = 32,
EVRButtonId_k_EButton_Axis1 = 33,
EVRButtonId_k_EButton_Axis2 = 34,
@@ -546,7 +582,7 @@ typedef enum EVROverlayError
EVROverlayError_VROverlayError_RequestFailed = 23,
EVROverlayError_VROverlayError_InvalidTexture = 24,
EVROverlayError_VROverlayError_UnableToLoadFile = 25,
EVROverlayError_VROVerlayError_KeyboardAlreadyInUse = 26,
EVROverlayError_VROverlayError_KeyboardAlreadyInUse = 26,
EVROverlayError_VROverlayError_NoNeighbor = 27,
} EVROverlayError;
@@ -558,6 +594,8 @@ typedef enum EVRApplicationType
EVRApplicationType_VRApplication_Background = 3,
EVRApplicationType_VRApplication_Utility = 4,
EVRApplicationType_VRApplication_VRMonitor = 5,
EVRApplicationType_VRApplication_SteamWatchdog = 6,
EVRApplicationType_VRApplication_Max = 7,
} EVRApplicationType;
typedef enum EVRFirmwareError
@@ -605,6 +643,14 @@ typedef enum EVRInitError
EVRInitError_VRInitError_Init_NotSupportedWithCompositor = 122,
EVRInitError_VRInitError_Init_NotAvailableToUtilityApps = 123,
EVRInitError_VRInitError_Init_Internal = 124,
EVRInitError_VRInitError_Init_HmdDriverIdIsNone = 125,
EVRInitError_VRInitError_Init_HmdNotFoundPresenceFailed = 126,
EVRInitError_VRInitError_Init_VRMonitorNotFound = 127,
EVRInitError_VRInitError_Init_VRMonitorStartupFailed = 128,
EVRInitError_VRInitError_Init_LowPowerWatchdogNotSupported = 129,
EVRInitError_VRInitError_Init_InvalidApplicationType = 130,
EVRInitError_VRInitError_Init_NotAvailableToWatchdogApps = 131,
EVRInitError_VRInitError_Init_WatchdogDisabledInSettings = 132,
EVRInitError_VRInitError_Driver_Failed = 200,
EVRInitError_VRInitError_Driver_Unknown = 201,
EVRInitError_VRInitError_Driver_HmdUnknown = 202,
@@ -614,12 +660,18 @@ typedef enum EVRInitError
EVRInitError_VRInitError_Driver_NotCalibrated = 206,
EVRInitError_VRInitError_Driver_CalibrationInvalid = 207,
EVRInitError_VRInitError_Driver_HmdDisplayNotFound = 208,
EVRInitError_VRInitError_Driver_TrackedDeviceInterfaceUnknown = 209,
EVRInitError_VRInitError_Driver_HmdDriverIdOutOfBounds = 211,
EVRInitError_VRInitError_Driver_HmdDisplayMirrored = 212,
EVRInitError_VRInitError_IPC_ServerInitFailed = 300,
EVRInitError_VRInitError_IPC_ConnectFailed = 301,
EVRInitError_VRInitError_IPC_SharedStateInitFailed = 302,
EVRInitError_VRInitError_IPC_CompositorInitFailed = 303,
EVRInitError_VRInitError_IPC_MutexInitFailed = 304,
EVRInitError_VRInitError_IPC_Failed = 305,
EVRInitError_VRInitError_IPC_CompositorConnectFailed = 306,
EVRInitError_VRInitError_IPC_CompositorInvalidConnectResponse = 307,
EVRInitError_VRInitError_IPC_ConnectFailedAfterMultipleAttempts = 308,
EVRInitError_VRInitError_Compositor_Failed = 400,
EVRInitError_VRInitError_Compositor_D3D11HardwareRequired = 401,
EVRInitError_VRInitError_Compositor_FirmwareRequiresUpdate = 402,
@@ -806,6 +858,7 @@ typedef enum VROverlayFlags
VROverlayFlags_SideBySide_Crossed = 11,
VROverlayFlags_Panorama = 12,
VROverlayFlags_StereoPanorama = 13,
VROverlayFlags_SortWithNonSceneOverlays = 14,
} VROverlayFlags;
typedef enum EGamepadTextInputMode
@@ -878,6 +931,8 @@ typedef enum EVRSettingsError
EVRSettingsError_VRSettingsError_IPCFailed = 1,
EVRSettingsError_VRSettingsError_WriteFailed = 2,
EVRSettingsError_VRSettingsError_ReadFailed = 3,
EVRSettingsError_VRSettingsError_JsonParseFailed = 4,
EVRSettingsError_VRSettingsError_UnsetSettingHasNoDefault = 5,
} EVRSettingsError;
typedef enum EVRScreenshotError
@@ -899,6 +954,7 @@ typedef uint64_t VROverlayHandle_t;
typedef void * glSharedTextureHandle_t;
typedef int32_t glInt_t;
typedef uint32_t glUInt_t;
typedef uint64_t SharedTextureHandle_t;
typedef uint32_t TrackedDeviceIndex_t;
typedef uint64_t VROverlayHandle_t;
typedef uint64_t TrackedCameraHandle_t;
@@ -1014,6 +1070,20 @@ typedef struct VRTextureBounds_t
float vMax;
} VRTextureBounds_t;
typedef struct VulkanData_t
{
uint64_t m_nImage;
struct VkDevice_T * m_pDevice; // struct VkDevice_T *
struct VkPhysicalDevice_T * m_pPhysicalDevice; // struct VkPhysicalDevice_T *
struct VkInstance_T * m_pInstance; // struct VkInstance_T *
struct VkQueue_T * m_pQueue; // struct VkQueue_T *
uint32_t m_nQueueFamilyIndex;
uint32_t m_nWidth;
uint32_t m_nHeight;
uint32_t m_nFormat;
uint32_t m_nSampleCount;
} VulkanData_t;
typedef struct VREvent_Controller_t
{
uint32_t button;
@@ -1105,6 +1175,23 @@ typedef struct VREvent_Screenshot_t
uint32_t type;
} VREvent_Screenshot_t;
typedef struct VREvent_ScreenshotProgress_t
{
float progress;
} VREvent_ScreenshotProgress_t;
typedef struct VREvent_ApplicationLaunch_t
{
uint32_t pid;
uint32_t unArgsHandle;
} VREvent_ApplicationLaunch_t;
typedef struct VREvent_EditingCameraSurface_t
{
uint64_t overlayHandle;
uint32_t nVisualMode;
} VREvent_EditingCameraSurface_t;
typedef struct HiddenAreaMesh_t
{
struct HmdVector2_t * pVertexData; // const struct vr::HmdVector2_t *
@@ -1165,8 +1252,10 @@ typedef struct Compositor_FrameTiming
uint32_t m_nFrameIndex;
uint32_t m_nNumFramePresents;
uint32_t m_nNumDroppedFrames;
uint32_t m_nReprojectionFlags;
double m_flSystemTimeInSeconds;
float m_flSceneRenderGpuMs;
float m_flPreSubmitGpuMs;
float m_flPostSubmitGpuMs;
float m_flTotalRenderGpuMs;
float m_flCompositorRenderGpuMs;
float m_flCompositorRenderCpuMs;
@@ -1182,8 +1271,6 @@ typedef struct Compositor_FrameTiming
float m_flCompositorUpdateEndMs;
float m_flCompositorRenderStartMs;
TrackedDevicePose_t m_HmdPose;
int32_t m_nFidelityLevel;
uint32_t m_nReprojectionFlags;
} Compositor_FrameTiming;
typedef struct Compositor_CumulativeStats
@@ -1270,6 +1357,7 @@ typedef struct COpenVRContext
intptr_t m_pVRChaperoneSetup; // class vr::IVRChaperoneSetup *
intptr_t m_pVRCompositor; // class vr::IVRCompositor *
intptr_t m_pVROverlay; // class vr::IVROverlay *
intptr_t m_pVRResources; // class vr::IVRResources *
intptr_t m_pVRRenderModels; // class vr::IVRRenderModels *
intptr_t m_pVRExtendedDisplay; // class vr::IVRExtendedDisplay *
intptr_t m_pVRSettings; // class vr::IVRSettings *
@@ -1375,6 +1463,10 @@ struct VR_IVRTrackedCamera_FnTable
EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *AcquireVideoStreamingService)(TrackedDeviceIndex_t nDeviceIndex, TrackedCameraHandle_t * pHandle);
EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *ReleaseVideoStreamingService)(TrackedCameraHandle_t hTrackedCamera);
EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetVideoStreamFrameBuffer)(TrackedCameraHandle_t hTrackedCamera, EVRTrackedCameraFrameType eFrameType, void * pFrameBuffer, uint32_t nFrameBufferSize, CameraVideoStreamFrameHeader_t * pFrameHeader, uint32_t nFrameHeaderSize);
EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetVideoStreamTextureSize)(TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, VRTextureBounds_t * pTextureBounds, uint32_t * pnWidth, uint32_t * pnHeight);
EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetVideoStreamTextureD3D11)(TrackedCameraHandle_t hTrackedCamera, EVRTrackedCameraFrameType eFrameType, void * pD3D11DeviceOrResource, void ** ppD3D11ShaderResourceView, CameraVideoStreamFrameHeader_t * pFrameHeader, uint32_t nFrameHeaderSize);
EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetVideoStreamTextureGL)(TrackedCameraHandle_t hTrackedCamera, EVRTrackedCameraFrameType eFrameType, glUInt_t * pglTextureId, CameraVideoStreamFrameHeader_t * pFrameHeader, uint32_t nFrameHeaderSize);
EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *ReleaseVideoStreamTextureGL)(TrackedCameraHandle_t hTrackedCamera, glUInt_t glTextureId);
};
struct VR_IVRApplications_FnTable
@@ -1387,6 +1479,7 @@ struct VR_IVRApplications_FnTable
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *GetApplicationKeyByProcessId)(uint32_t unProcessId, char * pchAppKeyBuffer, uint32_t unAppKeyBufferLen);
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchApplication)(char * pchAppKey);
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchTemplateApplication)(char * pchTemplateAppKey, char * pchNewAppKey, struct AppOverrideKeys_t * pKeys, uint32_t unKeys);
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchApplicationFromMimeType)(char * pchMimeType, char * pchArgs);
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchDashboardOverlay)(char * pchAppKey);
bool (OPENVR_FNTABLE_CALLTYPE *CancelApplicationLaunch)(char * pchAppKey);
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *IdentifyApplication)(uint32_t unProcessId, char * pchAppKey);
@@ -1397,6 +1490,11 @@ struct VR_IVRApplications_FnTable
uint64_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationPropertyUint64)(char * pchAppKey, EVRApplicationProperty eProperty, EVRApplicationError * peError);
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *SetApplicationAutoLaunch)(char * pchAppKey, bool bAutoLaunch);
bool (OPENVR_FNTABLE_CALLTYPE *GetApplicationAutoLaunch)(char * pchAppKey);
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *SetDefaultApplicationForMimeType)(char * pchAppKey, char * pchMimeType);
bool (OPENVR_FNTABLE_CALLTYPE *GetDefaultApplicationForMimeType)(char * pchMimeType, char * pchAppKeyBuffer, uint32_t unAppKeyBufferLen);
bool (OPENVR_FNTABLE_CALLTYPE *GetApplicationSupportedMimeTypes)(char * pchAppKey, char * pchMimeTypesBuffer, uint32_t unMimeTypesBuffer);
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationsThatSupportMimeType)(char * pchMimeType, char * pchAppKeysThatSupportBuffer, uint32_t unAppKeysThatSupportBuffer);
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationLaunchArguments)(uint32_t unHandle, char * pchArgs, uint32_t unArgs);
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *GetStartingApplication)(char * pchAppKeyBuffer, uint32_t unAppKeyBufferLen);
EVRApplicationTransitionState (OPENVR_FNTABLE_CALLTYPE *GetTransitionState)();
EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *PerformApplicationPrelaunchCheck)(char * pchAppKey);
@@ -1473,8 +1571,6 @@ struct VR_IVRCompositor_FnTable
void (OPENVR_FNTABLE_CALLTYPE *ForceInterleavedReprojectionOn)(bool bOverride);
void (OPENVR_FNTABLE_CALLTYPE *ForceReconnectProcess)();
void (OPENVR_FNTABLE_CALLTYPE *SuspendRendering)(bool bSuspend);
EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *RequestScreenshot)(EVRScreenshotType type, char * pchDestinationFileName, char * pchVRDestinationFileName);
EVRScreenshotType (OPENVR_FNTABLE_CALLTYPE *GetCurrentScreenshotType)();
EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetMirrorTextureD3D11)(EVREye eEye, void * pD3D11DeviceOrResource, void ** ppD3D11ShaderResourceView);
EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetMirrorTextureGL)(EVREye eEye, glUInt_t * pglTextureId, glSharedTextureHandle_t * pglSharedTextureHandle);
bool (OPENVR_FNTABLE_CALLTYPE *ReleaseSharedGLTexture)(glUInt_t glTextureId, glSharedTextureHandle_t glSharedTextureHandle);
@@ -1501,6 +1597,10 @@ struct VR_IVROverlay_FnTable
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayColor)(VROverlayHandle_t ulOverlayHandle, float * pfRed, float * pfGreen, float * pfBlue);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayAlpha)(VROverlayHandle_t ulOverlayHandle, float fAlpha);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayAlpha)(VROverlayHandle_t ulOverlayHandle, float * pfAlpha);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTexelAspect)(VROverlayHandle_t ulOverlayHandle, float fTexelAspect);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTexelAspect)(VROverlayHandle_t ulOverlayHandle, float * pfTexelAspect);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlaySortOrder)(VROverlayHandle_t ulOverlayHandle, uint32_t unSortOrder);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlaySortOrder)(VROverlayHandle_t ulOverlayHandle, uint32_t * punSortOrder);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayWidthInMeters)(VROverlayHandle_t ulOverlayHandle, float fWidthInMeters);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayWidthInMeters)(VROverlayHandle_t ulOverlayHandle, float * pfWidthInMeters);
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayAutoCurveDistanceRangeInMeters)(VROverlayHandle_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters);
@@ -1586,14 +1686,14 @@ struct VR_IVRSettings_FnTable
{
char * (OPENVR_FNTABLE_CALLTYPE *GetSettingsErrorNameFromEnum)(EVRSettingsError eError);
bool (OPENVR_FNTABLE_CALLTYPE *Sync)(bool bForce, EVRSettingsError * peError);
bool (OPENVR_FNTABLE_CALLTYPE *GetBool)(char * pchSection, char * pchSettingsKey, bool bDefaultValue, EVRSettingsError * peError);
void (OPENVR_FNTABLE_CALLTYPE *SetBool)(char * pchSection, char * pchSettingsKey, bool bValue, EVRSettingsError * peError);
int32_t (OPENVR_FNTABLE_CALLTYPE *GetInt32)(char * pchSection, char * pchSettingsKey, int32_t nDefaultValue, EVRSettingsError * peError);
void (OPENVR_FNTABLE_CALLTYPE *SetInt32)(char * pchSection, char * pchSettingsKey, int32_t nValue, EVRSettingsError * peError);
float (OPENVR_FNTABLE_CALLTYPE *GetFloat)(char * pchSection, char * pchSettingsKey, float flDefaultValue, EVRSettingsError * peError);
void (OPENVR_FNTABLE_CALLTYPE *SetFloat)(char * pchSection, char * pchSettingsKey, float flValue, EVRSettingsError * peError);
void (OPENVR_FNTABLE_CALLTYPE *GetString)(char * pchSection, char * pchSettingsKey, char * pchValue, uint32_t unValueLen, char * pchDefaultValue, EVRSettingsError * peError);
void (OPENVR_FNTABLE_CALLTYPE *SetString)(char * pchSection, char * pchSettingsKey, char * pchValue, EVRSettingsError * peError);
bool (OPENVR_FNTABLE_CALLTYPE *GetBool)(char * pchSection, char * pchSettingsKey, EVRSettingsError * peError);
int32_t (OPENVR_FNTABLE_CALLTYPE *GetInt32)(char * pchSection, char * pchSettingsKey, EVRSettingsError * peError);
float (OPENVR_FNTABLE_CALLTYPE *GetFloat)(char * pchSection, char * pchSettingsKey, EVRSettingsError * peError);
void (OPENVR_FNTABLE_CALLTYPE *GetString)(char * pchSection, char * pchSettingsKey, char * pchValue, uint32_t unValueLen, EVRSettingsError * peError);
void (OPENVR_FNTABLE_CALLTYPE *RemoveSection)(char * pchSection, EVRSettingsError * peError);
void (OPENVR_FNTABLE_CALLTYPE *RemoveKeyInSection)(char * pchSection, char * pchSettingsKey, EVRSettingsError * peError);
};
@@ -1609,6 +1709,12 @@ struct VR_IVRScreenshots_FnTable
EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *SubmitScreenshot)(ScreenshotHandle_t screenshotHandle, EVRScreenshotType type, char * pchSourcePreviewFilename, char * pchSourceVRFilename);
};
struct VR_IVRResources_FnTable
{
uint32_t (OPENVR_FNTABLE_CALLTYPE *LoadSharedResource)(char * pchResourceName, char * pchBuffer, uint32_t unBufferLen);
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetResourceFullPath)(char * pchResourceName, char * pchResourceTypeDirectory, char * pchPathBuffer, uint32_t unBufferLen);
};
#if 0
// Global entry points