From 0c34f6e0f20beb7c1a9f5be70ec664345c17207b Mon Sep 17 00:00:00 2001 From: CrispyPin Date: Thu, 20 May 2021 10:41:10 +0200 Subject: [PATCH] remove mac openvr binaries since steamvr on mac has been abandoned --- .../addons/godot-openvr/bin/osx/.gitignore | 2 - .../bin/osx/OpenVR.framework/Headers | 1 - .../bin/osx/OpenVR.framework/OpenVR | 1 - .../bin/osx/OpenVR.framework/Resources | 1 - .../Versions/A/Headers/openvr.h | 3777 ------------ .../Versions/A/Headers/openvr_api.cs | 5052 ----------------- .../Versions/A/Headers/openvr_api.json | 3923 ------------- .../Versions/A/Headers/openvr_capi.h | 1942 ------- .../Versions/A/Headers/openvr_driver.h | 2695 --------- .../osx/OpenVR.framework/Versions/A/OpenVR | Bin 1297628 -> 0 bytes .../Versions/A/Resources/Info.plist | 18 - .../bin/osx/OpenVR.framework/Versions/Current | 1 - .../addons/godot-openvr/bin/osx/README.md | 2 - .../bin/osx/libgodot_openvr.dylib | Bin 3912860 -> 0 bytes 14 files changed, 17415 deletions(-) delete mode 100644 ovr-utils/addons/godot-openvr/bin/osx/.gitignore delete mode 120000 ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Headers delete mode 120000 ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/OpenVR delete mode 120000 ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Resources delete mode 100644 ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr.h delete mode 100644 ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_api.cs delete mode 100644 ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_api.json delete mode 100644 ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_capi.h delete mode 100644 ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_driver.h delete mode 100755 ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/OpenVR delete mode 100644 ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Resources/Info.plist delete mode 120000 ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/Current delete mode 100644 ovr-utils/addons/godot-openvr/bin/osx/README.md delete mode 100755 ovr-utils/addons/godot-openvr/bin/osx/libgodot_openvr.dylib diff --git a/ovr-utils/addons/godot-openvr/bin/osx/.gitignore b/ovr-utils/addons/godot-openvr/bin/osx/.gitignore deleted file mode 100644 index 85d61cd..0000000 --- a/ovr-utils/addons/godot-openvr/bin/osx/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -!*.* -.DS_Store diff --git a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Headers b/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Headers deleted file mode 120000 index a177d2a..0000000 --- a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Headers +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Headers \ No newline at end of file diff --git a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/OpenVR b/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/OpenVR deleted file mode 120000 index 6eef4e3..0000000 --- a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/OpenVR +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/OpenVR \ No newline at end of file diff --git a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Resources b/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Resources deleted file mode 120000 index 953ee36..0000000 --- a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Resources +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Resources \ No newline at end of file diff --git a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr.h b/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr.h deleted file mode 100644 index f945dbc..0000000 --- a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr.h +++ /dev/null @@ -1,3777 +0,0 @@ -#pragma once - -// openvr.h -//========= Copyright Valve Corporation ============// -// Dynamically generated file. Do not modify this file directly. - -#ifndef _OPENVR_API -#define _OPENVR_API - -#include - - - -// vrtypes.h -#ifndef _INCLUDE_VRTYPES_H -#define _INCLUDE_VRTYPES_H - -// Forward declarations to avoid requiring vulkan.h -struct VkDevice_T; -struct VkPhysicalDevice_T; -struct VkInstance_T; -struct VkQueue_T; - -// Forward declarations to avoid requiring d3d12.h -struct ID3D12Resource; -struct ID3D12CommandQueue; - -namespace vr -{ -#pragma pack( push, 8 ) - -typedef void* glSharedTextureHandle_t; -typedef int32_t glInt_t; -typedef uint32_t glUInt_t; - -// right-handed system -// +y is up -// +x is to the right -// -z is going away from you -// Distance unit is meters -struct HmdMatrix34_t -{ - float m[3][4]; -}; - -struct HmdMatrix44_t -{ - float m[4][4]; -}; - -struct HmdVector3_t -{ - float v[3]; -}; - -struct HmdVector4_t -{ - float v[4]; -}; - -struct HmdVector3d_t -{ - double v[3]; -}; - -struct HmdVector2_t -{ - float v[2]; -}; - -struct HmdQuaternion_t -{ - double w, x, y, z; -}; - -struct HmdColor_t -{ - float r, g, b, a; -}; - -struct HmdQuad_t -{ - HmdVector3_t vCorners[ 4 ]; -}; - -struct HmdRect2_t -{ - HmdVector2_t vTopLeft; - HmdVector2_t vBottomRight; -}; - -/** Used to return the post-distortion UVs for each color channel. -* UVs range from 0 to 1 with 0,0 in the upper left corner of the -* source render target. The 0,0 to 1,1 range covers a single eye. */ -struct DistortionCoordinates_t -{ - float rfRed[2]; - float rfGreen[2]; - float rfBlue[2]; -}; - -enum EVREye -{ - Eye_Left = 0, - Eye_Right = 1 -}; - -enum ETextureType -{ - TextureType_DirectX = 0, // Handle is an ID3D11Texture - TextureType_OpenGL = 1, // Handle is an OpenGL texture name or an OpenGL render buffer name, depending on submit flags - TextureType_Vulkan = 2, // Handle is a pointer to a VRVulkanTextureData_t structure - TextureType_IOSurface = 3, // Handle is a macOS cross-process-sharable IOSurfaceRef - TextureType_DirectX12 = 4, // Handle is a pointer to a D3D12TextureData_t structure -}; - -enum EColorSpace -{ - ColorSpace_Auto = 0, // Assumes 'gamma' for 8-bit per component formats, otherwise 'linear'. This mirrors the DXGI formats which have _SRGB variants. - ColorSpace_Gamma = 1, // Texture data can be displayed directly on the display without any conversion (a.k.a. display native format). - ColorSpace_Linear = 2, // Same as gamma but has been converted to a linear representation using DXGI's sRGB conversion algorithm. -}; - -struct Texture_t -{ - void* handle; // See ETextureType definition above - ETextureType eType; - EColorSpace eColorSpace; -}; - -// Handle to a shared texture (HANDLE on Windows obtained using OpenSharedResource). -typedef uint64_t SharedTextureHandle_t; -#define INVALID_SHARED_TEXTURE_HANDLE ((vr::SharedTextureHandle_t)0) - -enum ETrackingResult -{ - TrackingResult_Uninitialized = 1, - - TrackingResult_Calibrating_InProgress = 100, - TrackingResult_Calibrating_OutOfRange = 101, - - TrackingResult_Running_OK = 200, - TrackingResult_Running_OutOfRange = 201, -}; - -typedef uint32_t DriverId_t; -static const uint32_t k_nDriverNone = 0xFFFFFFFF; - -static const uint32_t k_unMaxDriverDebugResponseSize = 32768; - -/** Used to pass device IDs to API calls */ -typedef uint32_t TrackedDeviceIndex_t; -static const uint32_t k_unTrackedDeviceIndex_Hmd = 0; -static const uint32_t k_unMaxTrackedDeviceCount = 16; -static const uint32_t k_unTrackedDeviceIndexOther = 0xFFFFFFFE; -static const uint32_t k_unTrackedDeviceIndexInvalid = 0xFFFFFFFF; - -/** Describes what kind of object is being tracked at a given ID */ -enum ETrackedDeviceClass -{ - TrackedDeviceClass_Invalid = 0, // the ID was not valid. - TrackedDeviceClass_HMD = 1, // Head-Mounted Displays - TrackedDeviceClass_Controller = 2, // Tracked controllers - TrackedDeviceClass_GenericTracker = 3, // Generic trackers, similar to controllers - TrackedDeviceClass_TrackingReference = 4, // Camera and base stations that serve as tracking reference points - TrackedDeviceClass_DisplayRedirect = 5, // Accessories that aren't necessarily tracked themselves, but may redirect video output from other tracked devices -}; - - -/** Describes what specific role associated with a tracked device */ -enum ETrackedControllerRole -{ - TrackedControllerRole_Invalid = 0, // Invalid value for controller type - TrackedControllerRole_LeftHand = 1, // Tracked device associated with the left hand - TrackedControllerRole_RightHand = 2, // Tracked device associated with the right hand -}; - - -/** describes a single pose for a tracked object */ -struct TrackedDevicePose_t -{ - HmdMatrix34_t mDeviceToAbsoluteTracking; - HmdVector3_t vVelocity; // velocity in tracker space in m/s - HmdVector3_t vAngularVelocity; // angular velocity in radians/s (?) - ETrackingResult eTrackingResult; - bool bPoseIsValid; - - // This indicates that there is a device connected for this spot in the pose array. - // It could go from true to false if the user unplugs the device. - bool bDeviceIsConnected; -}; - -/** Identifies which style of tracking origin the application wants to use -* for the poses it is requesting */ -enum ETrackingUniverseOrigin -{ - TrackingUniverseSeated = 0, // Poses are provided relative to the seated zero pose - TrackingUniverseStanding = 1, // Poses are provided relative to the safe bounds configured by the user - TrackingUniverseRawAndUncalibrated = 2, // Poses are provided in the coordinate system defined by the driver. It has Y up and is unified for devices of the same driver. You usually don't want this one. -}; - -// Refers to a single container of properties -typedef uint64_t PropertyContainerHandle_t; -typedef uint32_t PropertyTypeTag_t; - -static const PropertyContainerHandle_t k_ulInvalidPropertyContainer = 0; -static const PropertyTypeTag_t k_unInvalidPropertyTag = 0; - -// Use these tags to set/get common types as struct properties -static const PropertyTypeTag_t k_unFloatPropertyTag = 1; -static const PropertyTypeTag_t k_unInt32PropertyTag = 2; -static const PropertyTypeTag_t k_unUint64PropertyTag = 3; -static const PropertyTypeTag_t k_unBoolPropertyTag = 4; -static const PropertyTypeTag_t k_unStringPropertyTag = 5; - -static const PropertyTypeTag_t k_unHmdMatrix34PropertyTag = 20; -static const PropertyTypeTag_t k_unHmdMatrix44PropertyTag = 21; -static const PropertyTypeTag_t k_unHmdVector3PropertyTag = 22; -static const PropertyTypeTag_t k_unHmdVector4PropertyTag = 23; - -static const PropertyTypeTag_t k_unHiddenAreaPropertyTag = 30; - -static const PropertyTypeTag_t k_unOpenVRInternalReserved_Start = 1000; -static const PropertyTypeTag_t k_unOpenVRInternalReserved_End = 10000; - - -/** Each entry in this enum represents a property that can be retrieved about a -* tracked device. Many fields are only valid for one ETrackedDeviceClass. */ -enum ETrackedDeviceProperty -{ - Prop_Invalid = 0, - - // general properties that apply to all device classes - Prop_TrackingSystemName_String = 1000, - Prop_ModelNumber_String = 1001, - Prop_SerialNumber_String = 1002, - Prop_RenderModelName_String = 1003, - Prop_WillDriftInYaw_Bool = 1004, - Prop_ManufacturerName_String = 1005, - Prop_TrackingFirmwareVersion_String = 1006, - Prop_HardwareRevision_String = 1007, - Prop_AllWirelessDongleDescriptions_String = 1008, - Prop_ConnectedWirelessDongle_String = 1009, - Prop_DeviceIsWireless_Bool = 1010, - Prop_DeviceIsCharging_Bool = 1011, - Prop_DeviceBatteryPercentage_Float = 1012, // 0 is empty, 1 is full - Prop_StatusDisplayTransform_Matrix34 = 1013, - Prop_Firmware_UpdateAvailable_Bool = 1014, - Prop_Firmware_ManualUpdate_Bool = 1015, - Prop_Firmware_ManualUpdateURL_String = 1016, - Prop_HardwareRevision_Uint64 = 1017, - Prop_FirmwareVersion_Uint64 = 1018, - Prop_FPGAVersion_Uint64 = 1019, - Prop_VRCVersion_Uint64 = 1020, - Prop_RadioVersion_Uint64 = 1021, - Prop_DongleVersion_Uint64 = 1022, - Prop_BlockServerShutdown_Bool = 1023, - Prop_CanUnifyCoordinateSystemWithHmd_Bool = 1024, - Prop_ContainsProximitySensor_Bool = 1025, - Prop_DeviceProvidesBatteryStatus_Bool = 1026, - Prop_DeviceCanPowerOff_Bool = 1027, - Prop_Firmware_ProgrammingTarget_String = 1028, - Prop_DeviceClass_Int32 = 1029, - Prop_HasCamera_Bool = 1030, - Prop_DriverVersion_String = 1031, - Prop_Firmware_ForceUpdateRequired_Bool = 1032, - Prop_ViveSystemButtonFixRequired_Bool = 1033, - Prop_ParentDriver_Uint64 = 1034, - Prop_ResourceRoot_String = 1035, - - // Properties that are unique to TrackedDeviceClass_HMD - Prop_ReportsTimeSinceVSync_Bool = 2000, - Prop_SecondsFromVsyncToPhotons_Float = 2001, - Prop_DisplayFrequency_Float = 2002, - Prop_UserIpdMeters_Float = 2003, - Prop_CurrentUniverseId_Uint64 = 2004, - Prop_PreviousUniverseId_Uint64 = 2005, - Prop_DisplayFirmwareVersion_Uint64 = 2006, - Prop_IsOnDesktop_Bool = 2007, - Prop_DisplayMCType_Int32 = 2008, - Prop_DisplayMCOffset_Float = 2009, - Prop_DisplayMCScale_Float = 2010, - Prop_EdidVendorID_Int32 = 2011, - Prop_DisplayMCImageLeft_String = 2012, - Prop_DisplayMCImageRight_String = 2013, - Prop_DisplayGCBlackClamp_Float = 2014, - Prop_EdidProductID_Int32 = 2015, - Prop_CameraToHeadTransform_Matrix34 = 2016, - Prop_DisplayGCType_Int32 = 2017, - Prop_DisplayGCOffset_Float = 2018, - Prop_DisplayGCScale_Float = 2019, - Prop_DisplayGCPrescale_Float = 2020, - Prop_DisplayGCImage_String = 2021, - Prop_LensCenterLeftU_Float = 2022, - Prop_LensCenterLeftV_Float = 2023, - Prop_LensCenterRightU_Float = 2024, - Prop_LensCenterRightV_Float = 2025, - Prop_UserHeadToEyeDepthMeters_Float = 2026, - Prop_CameraFirmwareVersion_Uint64 = 2027, - Prop_CameraFirmwareDescription_String = 2028, - Prop_DisplayFPGAVersion_Uint64 = 2029, - Prop_DisplayBootloaderVersion_Uint64 = 2030, - Prop_DisplayHardwareVersion_Uint64 = 2031, - Prop_AudioFirmwareVersion_Uint64 = 2032, - Prop_CameraCompatibilityMode_Int32 = 2033, - Prop_ScreenshotHorizontalFieldOfViewDegrees_Float = 2034, - Prop_ScreenshotVerticalFieldOfViewDegrees_Float = 2035, - Prop_DisplaySuppressed_Bool = 2036, - Prop_DisplayAllowNightMode_Bool = 2037, - Prop_DisplayMCImageWidth_Int32 = 2038, - Prop_DisplayMCImageHeight_Int32 = 2039, - Prop_DisplayMCImageNumChannels_Int32 = 2040, - Prop_DisplayMCImageData_Binary = 2041, - Prop_SecondsFromPhotonsToVblank_Float = 2042, - Prop_DriverDirectModeSendsVsyncEvents_Bool = 2043, - Prop_DisplayDebugMode_Bool = 2044, - Prop_GraphicsAdapterLuid_Uint64 = 2045, - Prop_DriverProvidedChaperonePath_String = 2048, - - // Properties that are unique to TrackedDeviceClass_Controller - Prop_AttachedDeviceId_String = 3000, - Prop_SupportedButtons_Uint64 = 3001, - Prop_Axis0Type_Int32 = 3002, // Return value is of type EVRControllerAxisType - Prop_Axis1Type_Int32 = 3003, // Return value is of type EVRControllerAxisType - Prop_Axis2Type_Int32 = 3004, // Return value is of type EVRControllerAxisType - Prop_Axis3Type_Int32 = 3005, // Return value is of type EVRControllerAxisType - Prop_Axis4Type_Int32 = 3006, // Return value is of type EVRControllerAxisType - Prop_ControllerRoleHint_Int32 = 3007, // Return value is of type ETrackedControllerRole - - // Properties that are unique to TrackedDeviceClass_TrackingReference - Prop_FieldOfViewLeftDegrees_Float = 4000, - Prop_FieldOfViewRightDegrees_Float = 4001, - Prop_FieldOfViewTopDegrees_Float = 4002, - Prop_FieldOfViewBottomDegrees_Float = 4003, - Prop_TrackingRangeMinimumMeters_Float = 4004, - Prop_TrackingRangeMaximumMeters_Float = 4005, - Prop_ModeLabel_String = 4006, - - // Properties that are used for user interface like icons names - Prop_IconPathName_String = 5000, // DEPRECATED. Value not referenced. Now expected to be part of icon path properties. - Prop_NamedIconPathDeviceOff_String = 5001, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceSearching_String = 5002, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceSearchingAlert_String = 5003, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceReady_String = 5004, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceReadyAlert_String = 5005, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceNotReady_String = 5006, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceStandby_String = 5007, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceAlertLow_String = 5008, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - - // Properties that are used by helpers, but are opaque to applications - Prop_DisplayHiddenArea_Binary_Start = 5100, - Prop_DisplayHiddenArea_Binary_End = 5150, - - // Properties that are unique to drivers - Prop_UserConfigPath_String = 6000, - Prop_InstallPath_String = 6001, - Prop_HasDisplayComponent_Bool = 6002, - Prop_HasControllerComponent_Bool = 6003, - Prop_HasCameraComponent_Bool = 6004, - Prop_HasDriverDirectModeComponent_Bool = 6005, - Prop_HasVirtualDisplayComponent_Bool = 6006, - - // Vendors are free to expose private debug data in this reserved region - Prop_VendorSpecific_Reserved_Start = 10000, - Prop_VendorSpecific_Reserved_End = 10999, -}; - -/** No string property will ever be longer than this length */ -static const uint32_t k_unMaxPropertyStringSize = 32 * 1024; - -/** Used to return errors that occur when reading properties. */ -enum ETrackedPropertyError -{ - TrackedProp_Success = 0, - TrackedProp_WrongDataType = 1, - TrackedProp_WrongDeviceClass = 2, - TrackedProp_BufferTooSmall = 3, - TrackedProp_UnknownProperty = 4, // Driver has not set the property (and may not ever). - TrackedProp_InvalidDevice = 5, - TrackedProp_CouldNotContactServer = 6, - TrackedProp_ValueNotProvidedByDevice = 7, - TrackedProp_StringExceedsMaximumLength = 8, - TrackedProp_NotYetAvailable = 9, // The property value isn't known yet, but is expected soon. Call again later. - TrackedProp_PermissionDenied = 10, - TrackedProp_InvalidOperation = 11, -}; - -/** Allows the application to control what part of the provided texture will be used in the -* frame buffer. */ -struct VRTextureBounds_t -{ - float uMin, vMin; - float uMax, vMax; -}; - -/** Allows specifying pose used to render provided scene texture (if different from value returned by WaitGetPoses). */ -struct VRTextureWithPose_t : public Texture_t -{ - HmdMatrix34_t mDeviceToAbsoluteTracking; // Actual pose used to render scene textures. -}; - -/** Allows the application to control how scene textures are used by the compositor when calling Submit. */ -enum EVRSubmitFlags -{ - // Simple render path. App submits rendered left and right eye images with no lens distortion correction applied. - Submit_Default = 0x00, - - // App submits final left and right eye images with lens distortion already applied (lens distortion makes the images appear - // barrel distorted with chromatic aberration correction applied). The app would have used the data returned by - // vr::IVRSystem::ComputeDistortion() to apply the correct distortion to the rendered images before calling Submit(). - Submit_LensDistortionAlreadyApplied = 0x01, - - // If the texture pointer passed in is actually a renderbuffer (e.g. for MSAA in OpenGL) then set this flag. - Submit_GlRenderBuffer = 0x02, - - // Do not use - Submit_Reserved = 0x04, - - // Set to indicate that pTexture is a pointer to a VRTextureWithPose_t. - Submit_TextureWithPose = 0x08, -}; - -/** Data required for passing Vulkan textures to IVRCompositor::Submit. -* Be sure to call OpenVR_Shutdown before destroying these resources. */ -struct VRVulkanTextureData_t -{ - uint64_t m_nImage; // VkImage - VkDevice_T *m_pDevice; - VkPhysicalDevice_T *m_pPhysicalDevice; - VkInstance_T *m_pInstance; - VkQueue_T *m_pQueue; - uint32_t m_nQueueFamilyIndex; - uint32_t m_nWidth, m_nHeight, m_nFormat, m_nSampleCount; -}; - -/** Data required for passing D3D12 textures to IVRCompositor::Submit. -* Be sure to call OpenVR_Shutdown before destroying these resources. */ -struct D3D12TextureData_t -{ - ID3D12Resource *m_pResource; - ID3D12CommandQueue *m_pCommandQueue; - uint32_t m_nNodeMask; -}; - -/** Status of the overall system or tracked objects */ -enum EVRState -{ - VRState_Undefined = -1, - VRState_Off = 0, - VRState_Searching = 1, - VRState_Searching_Alert = 2, - VRState_Ready = 3, - VRState_Ready_Alert = 4, - VRState_NotReady = 5, - VRState_Standby = 6, - VRState_Ready_Alert_Low = 7, -}; - -/** The types of events that could be posted (and what the parameters mean for each event type) */ -enum EVREventType -{ - VREvent_None = 0, - - VREvent_TrackedDeviceActivated = 100, - VREvent_TrackedDeviceDeactivated = 101, - VREvent_TrackedDeviceUpdated = 102, - VREvent_TrackedDeviceUserInteractionStarted = 103, - VREvent_TrackedDeviceUserInteractionEnded = 104, - VREvent_IpdChanged = 105, - VREvent_EnterStandbyMode = 106, - VREvent_LeaveStandbyMode = 107, - VREvent_TrackedDeviceRoleChanged = 108, - VREvent_WatchdogWakeUpRequested = 109, - VREvent_LensDistortionChanged = 110, - VREvent_PropertyChanged = 111, - VREvent_WirelessDisconnect = 112, - VREvent_WirelessReconnect = 113, - - VREvent_ButtonPress = 200, // data is controller - VREvent_ButtonUnpress = 201, // data is controller - VREvent_ButtonTouch = 202, // data is controller - VREvent_ButtonUntouch = 203, // data is controller - - VREvent_MouseMove = 300, // data is mouse - VREvent_MouseButtonDown = 301, // data is mouse - VREvent_MouseButtonUp = 302, // data is mouse - VREvent_FocusEnter = 303, // data is overlay - VREvent_FocusLeave = 304, // data is overlay - VREvent_Scroll = 305, // data is mouse - VREvent_TouchPadMove = 306, // data is mouse - VREvent_OverlayFocusChanged = 307, // data is overlay, global event - - VREvent_InputFocusCaptured = 400, // data is process DEPRECATED - VREvent_InputFocusReleased = 401, // data is process DEPRECATED - VREvent_SceneFocusLost = 402, // data is process - VREvent_SceneFocusGained = 403, // data is process - VREvent_SceneApplicationChanged = 404, // data is process - The App actually drawing the scene changed (usually to or from the compositor) - VREvent_SceneFocusChanged = 405, // data is process - New app got access to draw the scene - VREvent_InputFocusChanged = 406, // data is process - VREvent_SceneApplicationSecondaryRenderingStarted = 407, // data is process - - VREvent_HideRenderModels = 410, // Sent to the scene application to request hiding render models temporarily - VREvent_ShowRenderModels = 411, // Sent to the scene application to request restoring render model visibility - - VREvent_OverlayShown = 500, - VREvent_OverlayHidden = 501, - VREvent_DashboardActivated = 502, - VREvent_DashboardDeactivated = 503, - VREvent_DashboardThumbSelected = 504, // Sent to the overlay manager - data is overlay - VREvent_DashboardRequested = 505, // Sent to the overlay manager - data is overlay - VREvent_ResetDashboard = 506, // Send to the overlay manager - VREvent_RenderToast = 507, // Send to the dashboard to render a toast - data is the notification ID - VREvent_ImageLoaded = 508, // Sent to overlays when a SetOverlayRaw or SetOverlayFromFile call finishes loading - VREvent_ShowKeyboard = 509, // Sent to keyboard renderer in the dashboard to invoke it - VREvent_HideKeyboard = 510, // Sent to keyboard renderer in the dashboard to hide it - VREvent_OverlayGamepadFocusGained = 511, // Sent to an overlay when IVROverlay::SetFocusOverlay is called on it - VREvent_OverlayGamepadFocusLost = 512, // Send to an overlay when it previously had focus and IVROverlay::SetFocusOverlay is called on something else - VREvent_OverlaySharedTextureChanged = 513, - VREvent_DashboardGuideButtonDown = 514, - VREvent_DashboardGuideButtonUp = 515, - VREvent_ScreenshotTriggered = 516, // Screenshot button combo was pressed, Dashboard should request a screenshot - VREvent_ImageFailed = 517, // Sent to overlays when a SetOverlayRaw or SetOverlayfromFail fails to load - VREvent_DashboardOverlayCreated = 518, - - // Screenshot API - VREvent_RequestScreenshot = 520, // Sent by vrclient application to compositor to take a screenshot - VREvent_ScreenshotTaken = 521, // Sent by compositor to the application that the screenshot has been taken - VREvent_ScreenshotFailed = 522, // Sent by compositor to the application that the screenshot failed to be taken - VREvent_SubmitScreenshotToDashboard = 523, // Sent by compositor to the dashboard that a completed screenshot was submitted - VREvent_ScreenshotProgressToDashboard = 524, // Sent by compositor to the dashboard that a completed screenshot was submitted - - VREvent_PrimaryDashboardDeviceChanged = 525, - - VREvent_Notification_Shown = 600, - VREvent_Notification_Hidden = 601, - VREvent_Notification_BeginInteraction = 602, - VREvent_Notification_Destroyed = 603, - - VREvent_Quit = 700, // data is process - VREvent_ProcessQuit = 701, // data is process - VREvent_QuitAborted_UserPrompt = 702, // data is process - VREvent_QuitAcknowledged = 703, // data is process - VREvent_DriverRequestedQuit = 704, // The driver has requested that SteamVR shut down - - VREvent_ChaperoneDataHasChanged = 800, - VREvent_ChaperoneUniverseHasChanged = 801, - VREvent_ChaperoneTempDataHasChanged = 802, - VREvent_ChaperoneSettingsHaveChanged = 803, - VREvent_SeatedZeroPoseReset = 804, - - VREvent_AudioSettingsHaveChanged = 820, - - VREvent_BackgroundSettingHasChanged = 850, - VREvent_CameraSettingsHaveChanged = 851, - VREvent_ReprojectionSettingHasChanged = 852, - VREvent_ModelSkinSettingsHaveChanged = 853, - VREvent_EnvironmentSettingsHaveChanged = 854, - VREvent_PowerSettingsHaveChanged = 855, - VREvent_EnableHomeAppSettingsHaveChanged = 856, - - VREvent_StatusUpdate = 900, - - VREvent_MCImageUpdated = 1000, - - VREvent_FirmwareUpdateStarted = 1100, - VREvent_FirmwareUpdateFinished = 1101, - - VREvent_KeyboardClosed = 1200, - VREvent_KeyboardCharInput = 1201, - VREvent_KeyboardDone = 1202, // Sent when DONE button clicked on keyboard - - VREvent_ApplicationTransitionStarted = 1300, - VREvent_ApplicationTransitionAborted = 1301, - VREvent_ApplicationTransitionNewAppStarted = 1302, - VREvent_ApplicationListUpdated = 1303, - VREvent_ApplicationMimeTypeLoad = 1304, - VREvent_ApplicationTransitionNewAppLaunchComplete = 1305, - VREvent_ProcessConnected = 1306, - VREvent_ProcessDisconnected = 1307, - - VREvent_Compositor_MirrorWindowShown = 1400, - VREvent_Compositor_MirrorWindowHidden = 1401, - VREvent_Compositor_ChaperoneBoundsShown = 1410, - VREvent_Compositor_ChaperoneBoundsHidden = 1411, - - VREvent_TrackedCamera_StartVideoStream = 1500, - VREvent_TrackedCamera_StopVideoStream = 1501, - VREvent_TrackedCamera_PauseVideoStream = 1502, - VREvent_TrackedCamera_ResumeVideoStream = 1503, - VREvent_TrackedCamera_EditingSurface = 1550, - - VREvent_PerformanceTest_EnableCapture = 1600, - VREvent_PerformanceTest_DisableCapture = 1601, - VREvent_PerformanceTest_FidelityLevel = 1602, - - VREvent_MessageOverlay_Closed = 1650, - VREvent_MessageOverlayCloseRequested = 1651, - - // Vendors are free to expose private events in this reserved region - VREvent_VendorSpecific_Reserved_Start = 10000, - VREvent_VendorSpecific_Reserved_End = 19999, -}; - - -/** Level of Hmd activity */ -// UserInteraction_Timeout means the device is in the process of timing out. -// InUse = ( k_EDeviceActivityLevel_UserInteraction || k_EDeviceActivityLevel_UserInteraction_Timeout ) -// VREvent_TrackedDeviceUserInteractionStarted fires when the devices transitions from Standby -> UserInteraction or Idle -> UserInteraction. -// VREvent_TrackedDeviceUserInteractionEnded fires when the devices transitions from UserInteraction_Timeout -> Idle -enum EDeviceActivityLevel -{ - k_EDeviceActivityLevel_Unknown = -1, - k_EDeviceActivityLevel_Idle = 0, // No activity for the last 10 seconds - k_EDeviceActivityLevel_UserInteraction = 1, // Activity (movement or prox sensor) is happening now - k_EDeviceActivityLevel_UserInteraction_Timeout = 2, // No activity for the last 0.5 seconds - k_EDeviceActivityLevel_Standby = 3, // Idle for at least 5 seconds (configurable in Settings -> Power Management) -}; - - -/** VR controller button and axis IDs */ -enum EVRButtonId -{ - k_EButton_System = 0, - k_EButton_ApplicationMenu = 1, - k_EButton_Grip = 2, - k_EButton_DPad_Left = 3, - k_EButton_DPad_Up = 4, - k_EButton_DPad_Right = 5, - k_EButton_DPad_Down = 6, - k_EButton_A = 7, - - k_EButton_ProximitySensor = 31, - - k_EButton_Axis0 = 32, - k_EButton_Axis1 = 33, - k_EButton_Axis2 = 34, - k_EButton_Axis3 = 35, - k_EButton_Axis4 = 36, - - // aliases for well known controllers - k_EButton_SteamVR_Touchpad = k_EButton_Axis0, - k_EButton_SteamVR_Trigger = k_EButton_Axis1, - - k_EButton_Dashboard_Back = k_EButton_Grip, - - k_EButton_Max = 64 -}; - -inline uint64_t ButtonMaskFromId( EVRButtonId id ) { return 1ull << id; } - -/** used for controller button events */ -struct VREvent_Controller_t -{ - uint32_t button; // EVRButtonId enum -}; - - -/** used for simulated mouse events in overlay space */ -enum EVRMouseButton -{ - VRMouseButton_Left = 0x0001, - VRMouseButton_Right = 0x0002, - VRMouseButton_Middle = 0x0004, -}; - - -/** used for simulated mouse events in overlay space */ -struct VREvent_Mouse_t -{ - float x, y; // co-ords are in GL space, bottom left of the texture is 0,0 - uint32_t button; // EVRMouseButton enum -}; - -/** used for simulated mouse wheel scroll in overlay space */ -struct VREvent_Scroll_t -{ - float xdelta, ydelta; // movement in fraction of the pad traversed since last delta, 1.0 for a full swipe - uint32_t repeatCount; -}; - -/** when in mouse input mode you can receive data from the touchpad, these events are only sent if the users finger - is on the touchpad (or just released from it) -**/ -struct VREvent_TouchPadMove_t -{ - // true if the users finger is detected on the touch pad - bool bFingerDown; - - // How long the finger has been down in seconds - float flSecondsFingerDown; - - // These values indicate the starting finger position (so you can do some basic swipe stuff) - float fValueXFirst; - float fValueYFirst; - - // This is the raw sampled coordinate without deadzoning - float fValueXRaw; - float fValueYRaw; -}; - -/** notification related events. Details will still change at this point */ -struct VREvent_Notification_t -{ - uint64_t ulUserValue; - uint32_t notificationId; -}; - -/** Used for events about processes */ -struct VREvent_Process_t -{ - uint32_t pid; - uint32_t oldPid; - bool bForced; -}; - - -/** Used for a few events about overlays */ -struct VREvent_Overlay_t -{ - uint64_t overlayHandle; -}; - - -/** Used for a few events about overlays */ -struct VREvent_Status_t -{ - uint32_t statusState; // EVRState enum -}; - -/** Used for keyboard events **/ -struct VREvent_Keyboard_t -{ - char cNewInput[8]; // Up to 11 bytes of new input - uint64_t uUserValue; // Possible flags about the new input -}; - -struct VREvent_Ipd_t -{ - float ipdMeters; -}; - -struct VREvent_Chaperone_t -{ - uint64_t m_nPreviousUniverse; - uint64_t m_nCurrentUniverse; -}; - -/** Not actually used for any events */ -struct VREvent_Reserved_t -{ - uint64_t reserved0; - uint64_t reserved1; -}; - -struct VREvent_PerformanceTest_t -{ - uint32_t m_nFidelityLevel; -}; - -struct VREvent_SeatedZeroPoseReset_t -{ - bool bResetBySystemMenu; -}; - -struct VREvent_Screenshot_t -{ - uint32_t handle; - uint32_t type; -}; - -struct VREvent_ScreenshotProgress_t -{ - float progress; -}; - -struct VREvent_ApplicationLaunch_t -{ - uint32_t pid; - uint32_t unArgsHandle; -}; - -struct VREvent_EditingCameraSurface_t -{ - uint64_t overlayHandle; - uint32_t nVisualMode; -}; - -struct VREvent_MessageOverlay_t -{ - uint32_t unVRMessageOverlayResponse; // vr::VRMessageOverlayResponse enum -}; - -struct VREvent_Property_t -{ - PropertyContainerHandle_t container; - ETrackedDeviceProperty prop; -}; - -/** NOTE!!! If you change this you MUST manually update openvr_interop.cs.py */ -typedef union -{ - VREvent_Reserved_t reserved; - VREvent_Controller_t controller; - VREvent_Mouse_t mouse; - VREvent_Scroll_t scroll; - VREvent_Process_t process; - VREvent_Notification_t notification; - VREvent_Overlay_t overlay; - VREvent_Status_t status; - VREvent_Keyboard_t keyboard; - VREvent_Ipd_t ipd; - VREvent_Chaperone_t chaperone; - VREvent_PerformanceTest_t performanceTest; - VREvent_TouchPadMove_t touchPadMove; - VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset; - VREvent_Screenshot_t screenshot; - VREvent_ScreenshotProgress_t screenshotProgress; - VREvent_ApplicationLaunch_t applicationLaunch; - VREvent_EditingCameraSurface_t cameraSurface; - VREvent_MessageOverlay_t messageOverlay; - VREvent_Property_t property; -} VREvent_Data_t; - - -#if defined(__linux__) || defined(__APPLE__) -// This structure was originally defined mis-packed on Linux, preserved for -// compatibility. -#pragma pack( push, 4 ) -#endif - -/** An event posted by the server to all running applications */ -struct VREvent_t -{ - uint32_t eventType; // EVREventType enum - TrackedDeviceIndex_t trackedDeviceIndex; - float eventAgeSeconds; - // event data must be the end of the struct as its size is variable - VREvent_Data_t data; -}; - -#if defined(__linux__) || defined(__APPLE__) -#pragma pack( pop ) -#endif - -/** The mesh to draw into the stencil (or depth) buffer to perform -* early stencil (or depth) kills of pixels that will never appear on the HMD. -* This mesh draws on all the pixels that will be hidden after distortion. -* -* If the HMD does not provide a visible area mesh pVertexData will be -* NULL and unTriangleCount will be 0. */ -struct HiddenAreaMesh_t -{ - const HmdVector2_t *pVertexData; - uint32_t unTriangleCount; -}; - - -enum EHiddenAreaMeshType -{ - k_eHiddenAreaMesh_Standard = 0, - k_eHiddenAreaMesh_Inverse = 1, - k_eHiddenAreaMesh_LineLoop = 2, - - k_eHiddenAreaMesh_Max = 3, -}; - - -/** Identifies what kind of axis is on the controller at index n. Read this type -* with pVRSystem->Get( nControllerDeviceIndex, Prop_Axis0Type_Int32 + n ); -*/ -enum EVRControllerAxisType -{ - k_eControllerAxis_None = 0, - k_eControllerAxis_TrackPad = 1, - k_eControllerAxis_Joystick = 2, - k_eControllerAxis_Trigger = 3, // Analog trigger data is in the X axis -}; - - -/** contains information about one axis on the controller */ -struct VRControllerAxis_t -{ - float x; // Ranges from -1.0 to 1.0 for joysticks and track pads. Ranges from 0.0 to 1.0 for triggers were 0 is fully released. - float y; // Ranges from -1.0 to 1.0 for joysticks and track pads. Is always 0.0 for triggers. -}; - - -/** the number of axes in the controller state */ -static const uint32_t k_unControllerStateAxisCount = 5; - - -#if defined(__linux__) || defined(__APPLE__) -// This structure was originally defined mis-packed on Linux, preserved for -// compatibility. -#pragma pack( push, 4 ) -#endif - -/** Holds all the state of a controller at one moment in time. */ -struct VRControllerState001_t -{ - // If packet num matches that on your prior call, then the controller state hasn't been changed since - // your last call and there is no need to process it - uint32_t unPacketNum; - - // bit flags for each of the buttons. Use ButtonMaskFromId to turn an ID into a mask - uint64_t ulButtonPressed; - uint64_t ulButtonTouched; - - // Axis data for the controller's analog inputs - VRControllerAxis_t rAxis[ k_unControllerStateAxisCount ]; -}; -#if defined(__linux__) || defined(__APPLE__) -#pragma pack( pop ) -#endif - - -typedef VRControllerState001_t VRControllerState_t; - - -/** determines how to provide output to the application of various event processing functions. */ -enum EVRControllerEventOutputType -{ - ControllerEventOutput_OSEvents = 0, - ControllerEventOutput_VREvents = 1, -}; - - - -/** Collision Bounds Style */ -enum ECollisionBoundsStyle -{ - COLLISION_BOUNDS_STYLE_BEGINNER = 0, - COLLISION_BOUNDS_STYLE_INTERMEDIATE, - COLLISION_BOUNDS_STYLE_SQUARES, - COLLISION_BOUNDS_STYLE_ADVANCED, - COLLISION_BOUNDS_STYLE_NONE, - - COLLISION_BOUNDS_STYLE_COUNT -}; - -/** Allows the application to customize how the overlay appears in the compositor */ -struct Compositor_OverlaySettings -{ - uint32_t size; // sizeof(Compositor_OverlaySettings) - bool curved, antialias; - float scale, distance, alpha; - float uOffset, vOffset, uScale, vScale; - float gridDivs, gridWidth, gridScale; - HmdMatrix44_t transform; -}; - -/** used to refer to a single VR overlay */ -typedef uint64_t VROverlayHandle_t; - -static const VROverlayHandle_t k_ulOverlayHandleInvalid = 0; - -/** Errors that can occur around VR overlays */ -enum EVROverlayError -{ - VROverlayError_None = 0, - - VROverlayError_UnknownOverlay = 10, - VROverlayError_InvalidHandle = 11, - VROverlayError_PermissionDenied = 12, - VROverlayError_OverlayLimitExceeded = 13, // No more overlays could be created because the maximum number already exist - VROverlayError_WrongVisibilityType = 14, - VROverlayError_KeyTooLong = 15, - VROverlayError_NameTooLong = 16, - VROverlayError_KeyInUse = 17, - VROverlayError_WrongTransformType = 18, - VROverlayError_InvalidTrackedDevice = 19, - VROverlayError_InvalidParameter = 20, - VROverlayError_ThumbnailCantBeDestroyed = 21, - VROverlayError_ArrayTooSmall = 22, - VROverlayError_RequestFailed = 23, - VROverlayError_InvalidTexture = 24, - VROverlayError_UnableToLoadFile = 25, - VROverlayError_KeyboardAlreadyInUse = 26, - VROverlayError_NoNeighbor = 27, - VROverlayError_TooManyMaskPrimitives = 29, - VROverlayError_BadMaskPrimitive = 30, -}; - -/** enum values to pass in to VR_Init to identify whether the application will -* draw a 3D scene. */ -enum EVRApplicationType -{ - VRApplication_Other = 0, // Some other kind of application that isn't covered by the other entries - VRApplication_Scene = 1, // Application will submit 3D frames - VRApplication_Overlay = 2, // Application only interacts with overlays - VRApplication_Background = 3, // Application should not start SteamVR if it's not already running, and should not - // keep it running if everything else quits. - VRApplication_Utility = 4, // Init should not try to load any drivers. The application needs access to utility - // interfaces (like IVRSettings and IVRApplications) but not hardware. - VRApplication_VRMonitor = 5, // Reserved for vrmonitor - VRApplication_SteamWatchdog = 6,// Reserved for Steam - VRApplication_Bootstrapper = 7, // Start up SteamVR - - VRApplication_Max -}; - - -/** error codes for firmware */ -enum EVRFirmwareError -{ - VRFirmwareError_None = 0, - VRFirmwareError_Success = 1, - VRFirmwareError_Fail = 2, -}; - - -/** error codes for notifications */ -enum EVRNotificationError -{ - VRNotificationError_OK = 0, - VRNotificationError_InvalidNotificationId = 100, - VRNotificationError_NotificationQueueFull = 101, - VRNotificationError_InvalidOverlayHandle = 102, - VRNotificationError_SystemWithUserValueAlreadyExists = 103, -}; - - -/** error codes returned by Vr_Init */ - -// Please add adequate error description to https://developer.valvesoftware.com/w/index.php?title=Category:SteamVRHelp -enum EVRInitError -{ - VRInitError_None = 0, - VRInitError_Unknown = 1, - - VRInitError_Init_InstallationNotFound = 100, - VRInitError_Init_InstallationCorrupt = 101, - VRInitError_Init_VRClientDLLNotFound = 102, - VRInitError_Init_FileNotFound = 103, - VRInitError_Init_FactoryNotFound = 104, - VRInitError_Init_InterfaceNotFound = 105, - VRInitError_Init_InvalidInterface = 106, - VRInitError_Init_UserConfigDirectoryInvalid = 107, - VRInitError_Init_HmdNotFound = 108, - VRInitError_Init_NotInitialized = 109, - VRInitError_Init_PathRegistryNotFound = 110, - VRInitError_Init_NoConfigPath = 111, - VRInitError_Init_NoLogPath = 112, - VRInitError_Init_PathRegistryNotWritable = 113, - VRInitError_Init_AppInfoInitFailed = 114, - VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver - VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup - VRInitError_Init_AnotherAppLaunching = 117, - VRInitError_Init_SettingsInitFailed = 118, - VRInitError_Init_ShuttingDown = 119, - VRInitError_Init_TooManyObjects = 120, - VRInitError_Init_NoServerForBackgroundApp = 121, - VRInitError_Init_NotSupportedWithCompositor = 122, - VRInitError_Init_NotAvailableToUtilityApps = 123, - VRInitError_Init_Internal = 124, - VRInitError_Init_HmdDriverIdIsNone = 125, - VRInitError_Init_HmdNotFoundPresenceFailed = 126, - VRInitError_Init_VRMonitorNotFound = 127, - VRInitError_Init_VRMonitorStartupFailed = 128, - VRInitError_Init_LowPowerWatchdogNotSupported = 129, - VRInitError_Init_InvalidApplicationType = 130, - VRInitError_Init_NotAvailableToWatchdogApps = 131, - VRInitError_Init_WatchdogDisabledInSettings = 132, - VRInitError_Init_VRDashboardNotFound = 133, - VRInitError_Init_VRDashboardStartupFailed = 134, - VRInitError_Init_VRHomeNotFound = 135, - VRInitError_Init_VRHomeStartupFailed = 136, - VRInitError_Init_RebootingBusy = 137, - VRInitError_Init_FirmwareUpdateBusy = 138, - VRInitError_Init_FirmwareRecoveryBusy = 139, - - - VRInitError_Driver_Failed = 200, - VRInitError_Driver_Unknown = 201, - VRInitError_Driver_HmdUnknown = 202, - VRInitError_Driver_NotLoaded = 203, - VRInitError_Driver_RuntimeOutOfDate = 204, - VRInitError_Driver_HmdInUse = 205, - VRInitError_Driver_NotCalibrated = 206, - VRInitError_Driver_CalibrationInvalid = 207, - VRInitError_Driver_HmdDisplayNotFound = 208, - VRInitError_Driver_TrackedDeviceInterfaceUnknown = 209, - // VRInitError_Driver_HmdDisplayNotFoundAfterFix = 210, // not needed: here for historic reasons - VRInitError_Driver_HmdDriverIdOutOfBounds = 211, - VRInitError_Driver_HmdDisplayMirrored = 212, - - VRInitError_IPC_ServerInitFailed = 300, - VRInitError_IPC_ConnectFailed = 301, - VRInitError_IPC_SharedStateInitFailed = 302, - VRInitError_IPC_CompositorInitFailed = 303, - VRInitError_IPC_MutexInitFailed = 304, - VRInitError_IPC_Failed = 305, - VRInitError_IPC_CompositorConnectFailed = 306, - VRInitError_IPC_CompositorInvalidConnectResponse = 307, - VRInitError_IPC_ConnectFailedAfterMultipleAttempts = 308, - - VRInitError_Compositor_Failed = 400, - VRInitError_Compositor_D3D11HardwareRequired = 401, - VRInitError_Compositor_FirmwareRequiresUpdate = 402, - VRInitError_Compositor_OverlayInitFailed = 403, - VRInitError_Compositor_ScreenshotsInitFailed = 404, - VRInitError_Compositor_UnableToCreateDevice = 405, - - VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000, - - VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101, - VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102, - VRInitError_VendorSpecific_HmdFound_NoStoredConfig = 1103, - VRInitError_VendorSpecific_HmdFound_ConfigTooBig = 1104, - VRInitError_VendorSpecific_HmdFound_ConfigTooSmall = 1105, - VRInitError_VendorSpecific_HmdFound_UnableToInitZLib = 1106, - VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion = 1107, - VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart = 1108, - VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart = 1109, - VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext = 1110, - VRInitError_VendorSpecific_HmdFound_UserDataAddressRange = 1111, - VRInitError_VendorSpecific_HmdFound_UserDataError = 1112, - VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113, - - VRInitError_Steam_SteamInstallationNotFound = 2000, -}; - -enum EVRScreenshotType -{ - VRScreenshotType_None = 0, - VRScreenshotType_Mono = 1, // left eye only - VRScreenshotType_Stereo = 2, - VRScreenshotType_Cubemap = 3, - VRScreenshotType_MonoPanorama = 4, - VRScreenshotType_StereoPanorama = 5 -}; - -enum EVRScreenshotPropertyFilenames -{ - VRScreenshotPropertyFilenames_Preview = 0, - VRScreenshotPropertyFilenames_VR = 1, -}; - -enum EVRTrackedCameraError -{ - VRTrackedCameraError_None = 0, - VRTrackedCameraError_OperationFailed = 100, - VRTrackedCameraError_InvalidHandle = 101, - VRTrackedCameraError_InvalidFrameHeaderVersion = 102, - VRTrackedCameraError_OutOfHandles = 103, - VRTrackedCameraError_IPCFailure = 104, - VRTrackedCameraError_NotSupportedForThisDevice = 105, - VRTrackedCameraError_SharedMemoryFailure = 106, - VRTrackedCameraError_FrameBufferingFailure = 107, - VRTrackedCameraError_StreamSetupFailure = 108, - VRTrackedCameraError_InvalidGLTextureId = 109, - VRTrackedCameraError_InvalidSharedTextureHandle = 110, - VRTrackedCameraError_FailedToGetGLTextureId = 111, - VRTrackedCameraError_SharedTextureFailure = 112, - VRTrackedCameraError_NoFrameAvailable = 113, - VRTrackedCameraError_InvalidArgument = 114, - VRTrackedCameraError_InvalidFrameBufferSize = 115, -}; - -enum EVRTrackedCameraFrameType -{ - VRTrackedCameraFrameType_Distorted = 0, // This is the camera video frame size in pixels, still distorted. - VRTrackedCameraFrameType_Undistorted, // In pixels, an undistorted inscribed rectangle region without invalid regions. This size is subject to changes shortly. - VRTrackedCameraFrameType_MaximumUndistorted, // In pixels, maximum undistorted with invalid regions. Non zero alpha component identifies valid regions. - MAX_CAMERA_FRAME_TYPES -}; - -typedef uint64_t TrackedCameraHandle_t; -#define INVALID_TRACKED_CAMERA_HANDLE ((vr::TrackedCameraHandle_t)0) - -struct CameraVideoStreamFrameHeader_t -{ - EVRTrackedCameraFrameType eFrameType; - - uint32_t nWidth; - uint32_t nHeight; - uint32_t nBytesPerPixel; - - uint32_t nFrameSequence; - - TrackedDevicePose_t standingTrackedDevicePose; -}; - -// Screenshot types -typedef uint32_t ScreenshotHandle_t; - -static const uint32_t k_unScreenshotHandleInvalid = 0; - -#pragma pack( pop ) - -// figure out how to import from the VR API dll -#if defined(_WIN32) - -#ifdef VR_API_EXPORT -#define VR_INTERFACE extern "C" __declspec( dllexport ) -#else -#define VR_INTERFACE extern "C" __declspec( dllimport ) -#endif - -#elif defined(__GNUC__) || defined(COMPILER_GCC) || defined(__APPLE__) - -#ifdef VR_API_EXPORT -#define VR_INTERFACE extern "C" __attribute__((visibility("default"))) -#else -#define VR_INTERFACE extern "C" -#endif - -#else -#error "Unsupported Platform." -#endif - - -#if defined( _WIN32 ) -#define VR_CALLTYPE __cdecl -#else -#define VR_CALLTYPE -#endif - -} // namespace vr - -#endif // _INCLUDE_VRTYPES_H - - -// vrannotation.h -#ifdef API_GEN -# define VR_CLANG_ATTR(ATTR) __attribute__((annotate( ATTR ))) -#else -# define VR_CLANG_ATTR(ATTR) -#endif - -#define VR_METHOD_DESC(DESC) VR_CLANG_ATTR( "desc:" #DESC ";" ) -#define VR_IGNOREATTR() VR_CLANG_ATTR( "ignore" ) -#define VR_OUT_STRUCT() VR_CLANG_ATTR( "out_struct: ;" ) -#define VR_OUT_STRING() VR_CLANG_ATTR( "out_string: ;" ) -#define VR_OUT_ARRAY_CALL(COUNTER,FUNCTION,PARAMS) VR_CLANG_ATTR( "out_array_call:" #COUNTER "," #FUNCTION "," #PARAMS ";" ) -#define VR_OUT_ARRAY_COUNT(COUNTER) VR_CLANG_ATTR( "out_array_count:" #COUNTER ";" ) -#define VR_ARRAY_COUNT(COUNTER) VR_CLANG_ATTR( "array_count:" #COUNTER ";" ) -#define VR_ARRAY_COUNT_D(COUNTER, DESC) VR_CLANG_ATTR( "array_count:" #COUNTER ";desc:" #DESC ) -#define VR_BUFFER_COUNT(COUNTER) VR_CLANG_ATTR( "buffer_count:" #COUNTER ";" ) -#define VR_OUT_BUFFER_COUNT(COUNTER) VR_CLANG_ATTR( "out_buffer_count:" #COUNTER ";" ) -#define VR_OUT_STRING_COUNT(COUNTER) VR_CLANG_ATTR( "out_string_count:" #COUNTER ";" ) - -// ivrsystem.h -namespace vr -{ - -class IVRSystem -{ -public: - - - // ------------------------------------ - // Display Methods - // ------------------------------------ - - /** Suggested size for the intermediate render target that the distortion pulls from. */ - virtual void GetRecommendedRenderTargetSize( uint32_t *pnWidth, uint32_t *pnHeight ) = 0; - - /** The projection matrix for the specified eye */ - virtual HmdMatrix44_t GetProjectionMatrix( EVREye eEye, float fNearZ, float fFarZ ) = 0; - - /** The components necessary to build your own projection matrix in case your - * application is doing something fancy like infinite Z */ - virtual void GetProjectionRaw( EVREye eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom ) = 0; - - /** Gets the result of the distortion function for the specified eye and input UVs. UVs go from 0,0 in - * the upper left of that eye's viewport and 1,1 in the lower right of that eye's viewport. - * Returns true for success. Otherwise, returns false, and distortion coordinates are not suitable. */ - virtual bool ComputeDistortion( EVREye eEye, float fU, float fV, DistortionCoordinates_t *pDistortionCoordinates ) = 0; - - /** Returns the transform from eye space to the head space. Eye space is the per-eye flavor of head - * space that provides stereo disparity. Instead of Model * View * Projection the sequence is Model * View * Eye^-1 * Projection. - * Normally View and Eye^-1 will be multiplied together and treated as View in your application. - */ - virtual HmdMatrix34_t GetEyeToHeadTransform( EVREye eEye ) = 0; - - /** Returns the number of elapsed seconds since the last recorded vsync event. This - * will come from a vsync timer event in the timer if possible or from the application-reported - * time if that is not available. If no vsync times are available the function will - * return zero for vsync time and frame counter and return false from the method. */ - virtual bool GetTimeSinceLastVsync( float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter ) = 0; - - /** [D3D9 Only] - * Returns the adapter index that the user should pass into CreateDevice to set up D3D9 in such - * a way that it can go full screen exclusive on the HMD. Returns -1 if there was an error. - */ - virtual int32_t GetD3D9AdapterIndex() = 0; - - /** [D3D10/11 Only] - * Returns the adapter index that the user should pass into EnumAdapters to create the device - * and swap chain in DX10 and DX11. If an error occurs the index will be set to -1. - */ - virtual void GetDXGIOutputInfo( int32_t *pnAdapterIndex ) = 0; - - /** - * Returns platform- and texture-type specific adapter identification so that applications and the - * compositor are creating textures and swap chains on the same GPU. If an error occurs the device - * will be set to 0. - * pInstance is an optional parameter that is required only when textureType is TextureType_Vulkan. - * [D3D10/11/12 Only (D3D9 Not Supported)] - * Returns the adapter LUID that identifies the GPU attached to the HMD. The user should - * enumerate all adapters using IDXGIFactory::EnumAdapters and IDXGIAdapter::GetDesc to find - * the adapter with the matching LUID, or use IDXGIFactory4::EnumAdapterByLuid. - * The discovered IDXGIAdapter should be used to create the device and swap chain. - * [Vulkan Only] - * Returns the VkPhysicalDevice that should be used by the application. - * pInstance must be the instance the application will use to query for the VkPhysicalDevice. The application - * must create the VkInstance with extensions returned by IVRCompositor::GetVulkanInstanceExtensionsRequired enabled. - * [macOS Only] - * Returns an id that should be used by the application. - */ - virtual void GetOutputDevice( uint64_t *pnDevice, ETextureType textureType, VkInstance_T *pInstance = nullptr ) = 0; - - // ------------------------------------ - // Display Mode methods - // ------------------------------------ - - /** Use to determine if the headset display is part of the desktop (i.e. extended) or hidden (i.e. direct mode). */ - virtual bool IsDisplayOnDesktop() = 0; - - /** Set the display visibility (true = extended, false = direct mode). Return value of true indicates that the change was successful. */ - virtual bool SetDisplayVisibility( bool bIsVisibleOnDesktop ) = 0; - - // ------------------------------------ - // Tracking Methods - // ------------------------------------ - - /** The pose that the tracker thinks that the HMD will be in at the specified number of seconds into the - * future. Pass 0 to get the state at the instant the method is called. Most of the time the application should - * calculate the time until the photons will be emitted from the display and pass that time into the method. - * - * This is roughly analogous to the inverse of the view matrix in most applications, though - * many games will need to do some additional rotation or translation on top of the rotation - * and translation provided by the head pose. - * - * For devices where bPoseIsValid is true the application can use the pose to position the device - * in question. The provided array can be any size up to k_unMaxTrackedDeviceCount. - * - * Seated experiences should call this method with TrackingUniverseSeated and receive poses relative - * to the seated zero pose. Standing experiences should call this method with TrackingUniverseStanding - * and receive poses relative to the Chaperone Play Area. TrackingUniverseRawAndUncalibrated should - * probably not be used unless the application is the Chaperone calibration tool itself, but will provide - * poses relative to the hardware-specific coordinate system in the driver. - */ - virtual void GetDeviceToAbsoluteTrackingPose( ETrackingUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow, VR_ARRAY_COUNT(unTrackedDevicePoseArrayCount) TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount ) = 0; - - /** Sets the zero pose for the seated tracker coordinate system to the current position and yaw of the HMD. After - * ResetSeatedZeroPose all GetDeviceToAbsoluteTrackingPose calls that pass TrackingUniverseSeated as the origin - * will be relative to this new zero pose. The new zero coordinate system will not change the fact that the Y axis - * is up in the real world, so the next pose returned from GetDeviceToAbsoluteTrackingPose after a call to - * ResetSeatedZeroPose may not be exactly an identity matrix. - * - * NOTE: This function overrides the user's previously saved seated zero pose and should only be called as the result of a user action. - * Users are also able to set their seated zero pose via the OpenVR Dashboard. - **/ - virtual void ResetSeatedZeroPose() = 0; - - /** Returns the transform from the seated zero pose to the standing absolute tracking system. This allows - * applications to represent the seated origin to used or transform object positions from one coordinate - * system to the other. - * - * The seated origin may or may not be inside the Play Area or Collision Bounds returned by IVRChaperone. Its position - * depends on what the user has set from the Dashboard settings and previous calls to ResetSeatedZeroPose. */ - virtual HmdMatrix34_t GetSeatedZeroPoseToStandingAbsoluteTrackingPose() = 0; - - /** Returns the transform from the tracking origin to the standing absolute tracking system. This allows - * applications to convert from raw tracking space to the calibrated standing coordinate system. */ - virtual HmdMatrix34_t GetRawZeroPoseToStandingAbsoluteTrackingPose() = 0; - - /** Get a sorted array of device indices of a given class of tracked devices (e.g. controllers). Devices are sorted right to left - * relative to the specified tracked device (default: hmd -- pass in -1 for absolute tracking space). Returns the number of devices - * in the list, or the size of the array needed if not large enough. */ - virtual uint32_t GetSortedTrackedDeviceIndicesOfClass( ETrackedDeviceClass eTrackedDeviceClass, VR_ARRAY_COUNT(unTrackedDeviceIndexArrayCount) vr::TrackedDeviceIndex_t *punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, vr::TrackedDeviceIndex_t unRelativeToTrackedDeviceIndex = k_unTrackedDeviceIndex_Hmd ) = 0; - - /** Returns the level of activity on the device. */ - virtual EDeviceActivityLevel GetTrackedDeviceActivityLevel( vr::TrackedDeviceIndex_t unDeviceId ) = 0; - - /** Convenience utility to apply the specified transform to the specified pose. - * This properly transforms all pose components, including velocity and angular velocity - */ - virtual void ApplyTransform( TrackedDevicePose_t *pOutputPose, const TrackedDevicePose_t *pTrackedDevicePose, const HmdMatrix34_t *pTransform ) = 0; - - /** Returns the device index associated with a specific role, for example the left hand or the right hand. */ - virtual vr::TrackedDeviceIndex_t GetTrackedDeviceIndexForControllerRole( vr::ETrackedControllerRole unDeviceType ) = 0; - - /** Returns the controller type associated with a device index. */ - virtual vr::ETrackedControllerRole GetControllerRoleForTrackedDeviceIndex( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; - - // ------------------------------------ - // Property methods - // ------------------------------------ - - /** Returns the device class of a tracked device. If there has not been a device connected in this slot - * since the application started this function will return TrackedDevice_Invalid. For previous detected - * devices the function will return the previously observed device class. - * - * To determine which devices exist on the system, just loop from 0 to k_unMaxTrackedDeviceCount and check - * the device class. Every device with something other than TrackedDevice_Invalid is associated with an - * actual tracked device. */ - virtual ETrackedDeviceClass GetTrackedDeviceClass( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; - - /** Returns true if there is a device connected in this slot. */ - virtual bool IsTrackedDeviceConnected( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; - - /** Returns a bool property. If the device index is not valid or the property is not a bool type this function will return false. */ - virtual bool GetBoolTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; - - /** Returns a float property. If the device index is not valid or the property is not a float type this function will return 0. */ - virtual float GetFloatTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; - - /** Returns an int property. If the device index is not valid or the property is not a int type this function will return 0. */ - virtual int32_t GetInt32TrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; - - /** Returns a uint64 property. If the device index is not valid or the property is not a uint64 type this function will return 0. */ - virtual uint64_t GetUint64TrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; - - /** Returns a matrix property. If the device index is not valid or the property is not a matrix type, this function will return identity. */ - virtual HmdMatrix34_t GetMatrix34TrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; - - /** Returns a string property. If the device index is not valid or the property is not a string type this function will - * return 0. Otherwise it returns the length of the number of bytes necessary to hold this string including the trailing - * null. Strings will always fit in buffers of k_unMaxPropertyStringSize characters. */ - virtual uint32_t GetStringTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize, ETrackedPropertyError *pError = 0L ) = 0; - - /** returns a string that corresponds with the specified property error. The string will be the name - * of the error enum value for all valid error codes */ - virtual const char *GetPropErrorNameFromEnum( ETrackedPropertyError error ) = 0; - - // ------------------------------------ - // Event methods - // ------------------------------------ - - /** Returns true and fills the event with the next event on the queue if there is one. If there are no events - * this method returns false. uncbVREvent should be the size in bytes of the VREvent_t struct */ - virtual bool PollNextEvent( VREvent_t *pEvent, uint32_t uncbVREvent ) = 0; - - /** Returns true and fills the event with the next event on the queue if there is one. If there are no events - * this method returns false. Fills in the pose of the associated tracked device in the provided pose struct. - * This pose will always be older than the call to this function and should not be used to render the device. - uncbVREvent should be the size in bytes of the VREvent_t struct */ - virtual bool PollNextEventWithPose( ETrackingUniverseOrigin eOrigin, VREvent_t *pEvent, uint32_t uncbVREvent, vr::TrackedDevicePose_t *pTrackedDevicePose ) = 0; - - /** returns the name of an EVREvent enum value */ - virtual const char *GetEventTypeNameFromEnum( EVREventType eType ) = 0; - - // ------------------------------------ - // Rendering helper methods - // ------------------------------------ - - /** Returns the hidden area mesh for the current HMD. The pixels covered by this mesh will never be seen by the user after the lens distortion is - * applied based on visibility to the panels. If this HMD does not have a hidden area mesh, the vertex data and count will be NULL and 0 respectively. - * This mesh is meant to be rendered into the stencil buffer (or into the depth buffer setting nearz) before rendering each eye's view. - * This will improve performance by letting the GPU early-reject pixels the user will never see before running the pixel shader. - * NOTE: Render this mesh with backface culling disabled since the winding order of the vertices can be different per-HMD or per-eye. - * Setting the bInverse argument to true will produce the visible area mesh that is commonly used in place of full-screen quads. The visible area mesh covers all of the pixels the hidden area mesh does not cover. - * Setting the bLineLoop argument will return a line loop of vertices in HiddenAreaMesh_t->pVertexData with HiddenAreaMesh_t->unTriangleCount set to the number of vertices. - */ - virtual HiddenAreaMesh_t GetHiddenAreaMesh( EVREye eEye, EHiddenAreaMeshType type = k_eHiddenAreaMesh_Standard ) = 0; - - // ------------------------------------ - // Controller methods - // ------------------------------------ - - /** Fills the supplied struct with the current state of the controller. Returns false if the controller index - * is invalid. */ - virtual bool GetControllerState( vr::TrackedDeviceIndex_t unControllerDeviceIndex, vr::VRControllerState_t *pControllerState, uint32_t unControllerStateSize ) = 0; - - /** fills the supplied struct with the current state of the controller and the provided pose with the pose of - * the controller when the controller state was updated most recently. Use this form if you need a precise controller - * pose as input to your application when the user presses or releases a button. */ - virtual bool GetControllerStateWithPose( ETrackingUniverseOrigin eOrigin, vr::TrackedDeviceIndex_t unControllerDeviceIndex, vr::VRControllerState_t *pControllerState, uint32_t unControllerStateSize, TrackedDevicePose_t *pTrackedDevicePose ) = 0; - - /** Trigger a single haptic pulse on a controller. After this call the application may not trigger another haptic pulse on this controller - * and axis combination for 5ms. */ - virtual void TriggerHapticPulse( vr::TrackedDeviceIndex_t unControllerDeviceIndex, uint32_t unAxisId, unsigned short usDurationMicroSec ) = 0; - - /** returns the name of an EVRButtonId enum value */ - virtual const char *GetButtonIdNameFromEnum( EVRButtonId eButtonId ) = 0; - - /** returns the name of an EVRControllerAxisType enum value */ - virtual const char *GetControllerAxisTypeNameFromEnum( EVRControllerAxisType eAxisType ) = 0; - - /** Tells OpenVR that this process wants exclusive access to controller button states and button events. Other apps will be notified that - * they have lost input focus with a VREvent_InputFocusCaptured event. Returns false if input focus could not be captured for - * some reason. */ - virtual bool CaptureInputFocus() = 0; - - /** Tells OpenVR that this process no longer wants exclusive access to button states and button events. Other apps will be notified - * that input focus has been released with a VREvent_InputFocusReleased event. */ - virtual void ReleaseInputFocus() = 0; - - /** Returns true if input focus is captured by another process. */ - virtual bool IsInputFocusCapturedByAnotherProcess() = 0; - - // ------------------------------------ - // Debug Methods - // ------------------------------------ - - /** Sends a request to the driver for the specified device and returns the response. The maximum response size is 32k, - * but this method can be called with a smaller buffer. If the response exceeds the size of the buffer, it is truncated. - * The size of the response including its terminating null is returned. */ - virtual uint32_t DriverDebugRequest( vr::TrackedDeviceIndex_t unDeviceIndex, const char *pchRequest, char *pchResponseBuffer, uint32_t unResponseBufferSize ) = 0; - - // ------------------------------------ - // Firmware methods - // ------------------------------------ - - /** Performs the actual firmware update if applicable. - * The following events will be sent, if VRFirmwareError_None was returned: VREvent_FirmwareUpdateStarted, VREvent_FirmwareUpdateFinished - * Use the properties Prop_Firmware_UpdateAvailable_Bool, Prop_Firmware_ManualUpdate_Bool, and Prop_Firmware_ManualUpdateURL_String - * to figure our whether a firmware update is available, and to figure out whether its a manual update - * Prop_Firmware_ManualUpdateURL_String should point to an URL describing the manual update process */ - virtual vr::EVRFirmwareError PerformFirmwareUpdate( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; - - // ------------------------------------ - // Application life cycle methods - // ------------------------------------ - - /** Call this to acknowledge to the system that VREvent_Quit has been received and that the process is exiting. - * This extends the timeout until the process is killed. */ - virtual void AcknowledgeQuit_Exiting() = 0; - - /** Call this to tell the system that the user is being prompted to save data. This - * halts the timeout and dismisses the dashboard (if it was up). Applications should be sure to actually - * prompt the user to save and then exit afterward, otherwise the user will be left in a confusing state. */ - virtual void AcknowledgeQuit_UserPrompt() = 0; - -}; - -static const char * const IVRSystem_Version = "IVRSystem_017"; - -} - - -// ivrapplications.h -namespace vr -{ - - /** Used for all errors reported by the IVRApplications interface */ - enum EVRApplicationError - { - VRApplicationError_None = 0, - - VRApplicationError_AppKeyAlreadyExists = 100, // Only one application can use any given key - VRApplicationError_NoManifest = 101, // the running application does not have a manifest - VRApplicationError_NoApplication = 102, // No application is running - VRApplicationError_InvalidIndex = 103, - VRApplicationError_UnknownApplication = 104, // the application could not be found - VRApplicationError_IPCFailed = 105, // An IPC failure caused the request to fail - VRApplicationError_ApplicationAlreadyRunning = 106, - VRApplicationError_InvalidManifest = 107, - VRApplicationError_InvalidApplication = 108, - VRApplicationError_LaunchFailed = 109, // the process didn't start - VRApplicationError_ApplicationAlreadyStarting = 110, // the system was already starting the same application - VRApplicationError_LaunchInProgress = 111, // The system was already starting a different application - VRApplicationError_OldApplicationQuitting = 112, - VRApplicationError_TransitionAborted = 113, - VRApplicationError_IsTemplate = 114, // error when you try to call LaunchApplication() on a template type app (use LaunchTemplateApplication) - VRApplicationError_SteamVRIsExiting = 115, - - VRApplicationError_BufferTooSmall = 200, // The provided buffer was too small to fit the requested data - VRApplicationError_PropertyNotSet = 201, // The requested property was not set - VRApplicationError_UnknownProperty = 202, - VRApplicationError_InvalidParameter = 203, - }; - - /** The maximum length of an application key */ - static const uint32_t k_unMaxApplicationKeyLength = 128; - - /** these are the properties available on applications. */ - enum EVRApplicationProperty - { - VRApplicationProperty_Name_String = 0, - - VRApplicationProperty_LaunchType_String = 11, - VRApplicationProperty_WorkingDirectory_String = 12, - VRApplicationProperty_BinaryPath_String = 13, - VRApplicationProperty_Arguments_String = 14, - VRApplicationProperty_URL_String = 15, - - VRApplicationProperty_Description_String = 50, - VRApplicationProperty_NewsURL_String = 51, - VRApplicationProperty_ImagePath_String = 52, - VRApplicationProperty_Source_String = 53, - - VRApplicationProperty_IsDashboardOverlay_Bool = 60, - VRApplicationProperty_IsTemplate_Bool = 61, - VRApplicationProperty_IsInstanced_Bool = 62, - VRApplicationProperty_IsInternal_Bool = 63, - VRApplicationProperty_WantsCompositorPauseInStandby_Bool = 64, - - VRApplicationProperty_LastLaunchTime_Uint64 = 70, - }; - - /** These are states the scene application startup process will go through. */ - enum EVRApplicationTransitionState - { - VRApplicationTransition_None = 0, - - VRApplicationTransition_OldAppQuitSent = 10, - VRApplicationTransition_WaitingForExternalLaunch = 11, - - VRApplicationTransition_NewAppLaunched = 20, - }; - - struct AppOverrideKeys_t - { - const char *pchKey; - const char *pchValue; - }; - - /** Currently recognized mime types */ - static const char * const k_pch_MimeType_HomeApp = "vr/home"; - static const char * const k_pch_MimeType_GameTheater = "vr/game_theater"; - - class IVRApplications - { - public: - - // --------------- Application management --------------- // - - /** Adds an application manifest to the list to load when building the list of installed applications. - * Temporary manifests are not automatically loaded */ - virtual EVRApplicationError AddApplicationManifest( const char *pchApplicationManifestFullPath, bool bTemporary = false ) = 0; - - /** Removes an application manifest from the list to load when building the list of installed applications. */ - virtual EVRApplicationError RemoveApplicationManifest( const char *pchApplicationManifestFullPath ) = 0; - - /** Returns true if an application is installed */ - virtual bool IsApplicationInstalled( const char *pchAppKey ) = 0; - - /** Returns the number of applications available in the list */ - virtual uint32_t GetApplicationCount() = 0; - - /** Returns the key of the specified application. The index is at least 0 and is less than the return - * value of GetApplicationCount(). The buffer should be at least k_unMaxApplicationKeyLength in order to - * fit the key. */ - virtual EVRApplicationError GetApplicationKeyByIndex( uint32_t unApplicationIndex, VR_OUT_STRING() char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; - - /** Returns the key of the application for the specified Process Id. The buffer should be at least - * k_unMaxApplicationKeyLength in order to fit the key. */ - virtual EVRApplicationError GetApplicationKeyByProcessId( uint32_t unProcessId, char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; - - /** Launches the application. The existing scene application will exit and then the new application will start. - * This call is not valid for dashboard overlay applications. */ - virtual EVRApplicationError LaunchApplication( const char *pchAppKey ) = 0; - - /** Launches an instance of an application of type template, with its app key being pchNewAppKey (which must be unique) and optionally override sections - * from the manifest file via AppOverrideKeys_t - */ - virtual EVRApplicationError LaunchTemplateApplication( const char *pchTemplateAppKey, const char *pchNewAppKey, VR_ARRAY_COUNT( unKeys ) const AppOverrideKeys_t *pKeys, uint32_t unKeys ) = 0; - - /** launches the application currently associated with this mime type and passes it the option args, typically the filename or object name of the item being launched */ - virtual vr::EVRApplicationError LaunchApplicationFromMimeType( const char *pchMimeType, const char *pchArgs ) = 0; - - /** Launches the dashboard overlay application if it is not already running. This call is only valid for - * dashboard overlay applications. */ - virtual EVRApplicationError LaunchDashboardOverlay( const char *pchAppKey ) = 0; - - /** Cancel a pending launch for an application */ - virtual bool CancelApplicationLaunch( const char *pchAppKey ) = 0; - - /** Identifies a running application. OpenVR can't always tell which process started in response - * to a URL. This function allows a URL handler (or the process itself) to identify the app key - * for the now running application. Passing a process ID of 0 identifies the calling process. - * The application must be one that's known to the system via a call to AddApplicationManifest. */ - virtual EVRApplicationError IdentifyApplication( uint32_t unProcessId, const char *pchAppKey ) = 0; - - /** Returns the process ID for an application. Return 0 if the application was not found or is not running. */ - virtual uint32_t GetApplicationProcessId( const char *pchAppKey ) = 0; - - /** Returns a string for an applications error */ - virtual const char *GetApplicationsErrorNameFromEnum( EVRApplicationError error ) = 0; - - // --------------- Application properties --------------- // - - /** Returns a value for an application property. The required buffer size to fit this value will be returned. */ - virtual uint32_t GetApplicationPropertyString( const char *pchAppKey, EVRApplicationProperty eProperty, VR_OUT_STRING() char *pchPropertyValueBuffer, uint32_t unPropertyValueBufferLen, EVRApplicationError *peError = nullptr ) = 0; - - /** Returns a bool value for an application property. Returns false in all error cases. */ - virtual bool GetApplicationPropertyBool( const char *pchAppKey, EVRApplicationProperty eProperty, EVRApplicationError *peError = nullptr ) = 0; - - /** Returns a uint64 value for an application property. Returns 0 in all error cases. */ - virtual uint64_t GetApplicationPropertyUint64( const char *pchAppKey, EVRApplicationProperty eProperty, EVRApplicationError *peError = nullptr ) = 0; - - /** Sets the application auto-launch flag. This is only valid for applications which return true for VRApplicationProperty_IsDashboardOverlay_Bool. */ - virtual EVRApplicationError SetApplicationAutoLaunch( const char *pchAppKey, bool bAutoLaunch ) = 0; - - /** Gets the application auto-launch flag. This is only valid for applications which return true for VRApplicationProperty_IsDashboardOverlay_Bool. */ - virtual bool GetApplicationAutoLaunch( const char *pchAppKey ) = 0; - - /** Adds this mime-type to the list of supported mime types for this application*/ - virtual EVRApplicationError SetDefaultApplicationForMimeType( const char *pchAppKey, const char *pchMimeType ) = 0; - - /** return the app key that will open this mime type */ - virtual bool GetDefaultApplicationForMimeType( const char *pchMimeType, char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; - - /** Get the list of supported mime types for this application, comma-delimited */ - virtual bool GetApplicationSupportedMimeTypes( const char *pchAppKey, char *pchMimeTypesBuffer, uint32_t unMimeTypesBuffer ) = 0; - - /** Get the list of app-keys that support this mime type, comma-delimited, the return value is number of bytes you need to return the full string */ - virtual uint32_t GetApplicationsThatSupportMimeType( const char *pchMimeType, char *pchAppKeysThatSupportBuffer, uint32_t unAppKeysThatSupportBuffer ) = 0; - - /** Get the args list from an app launch that had the process already running, you call this when you get a VREvent_ApplicationMimeTypeLoad */ - virtual uint32_t GetApplicationLaunchArguments( uint32_t unHandle, char *pchArgs, uint32_t unArgs ) = 0; - - // --------------- Transition methods --------------- // - - /** Returns the app key for the application that is starting up */ - virtual EVRApplicationError GetStartingApplication( char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; - - /** Returns the application transition state */ - virtual EVRApplicationTransitionState GetTransitionState() = 0; - - /** Returns errors that would prevent the specified application from launching immediately. Calling this function will - * cause the current scene application to quit, so only call it when you are actually about to launch something else. - * What the caller should do about these failures depends on the failure: - * VRApplicationError_OldApplicationQuitting - An existing application has been told to quit. Wait for a VREvent_ProcessQuit - * and try again. - * VRApplicationError_ApplicationAlreadyStarting - This application is already starting. This is a permanent failure. - * VRApplicationError_LaunchInProgress - A different application is already starting. This is a permanent failure. - * VRApplicationError_None - Go ahead and launch. Everything is clear. - */ - virtual EVRApplicationError PerformApplicationPrelaunchCheck( const char *pchAppKey ) = 0; - - /** Returns a string for an application transition state */ - virtual const char *GetApplicationsTransitionStateNameFromEnum( EVRApplicationTransitionState state ) = 0; - - /** Returns true if the outgoing scene app has requested a save prompt before exiting */ - virtual bool IsQuitUserPromptRequested() = 0; - - /** Starts a subprocess within the calling application. This - * suppresses all application transition UI and automatically identifies the new executable - * as part of the same application. On success the calling process should exit immediately. - * If working directory is NULL or "" the directory portion of the binary path will be - * the working directory. */ - virtual EVRApplicationError LaunchInternalProcess( const char *pchBinaryPath, const char *pchArguments, const char *pchWorkingDirectory ) = 0; - - /** Returns the current scene process ID according to the application system. A scene process will get scene - * focus once it starts rendering, but it will appear here once it calls VR_Init with the Scene application - * type. */ - virtual uint32_t GetCurrentSceneProcessId() = 0; - }; - - static const char * const IVRApplications_Version = "IVRApplications_006"; - -} // namespace vr - -// ivrsettings.h -namespace vr -{ - enum EVRSettingsError - { - VRSettingsError_None = 0, - VRSettingsError_IPCFailed = 1, - VRSettingsError_WriteFailed = 2, - VRSettingsError_ReadFailed = 3, - VRSettingsError_JsonParseFailed = 4, - VRSettingsError_UnsetSettingHasNoDefault = 5, // This will be returned if the setting does not appear in the appropriate default file and has not been set - }; - - // The maximum length of a settings key - static const uint32_t k_unMaxSettingsKeyLength = 128; - - class IVRSettings - { - public: - virtual const char *GetSettingsErrorNameFromEnum( EVRSettingsError eError ) = 0; - - // Returns true if file sync occurred (force or settings dirty) - virtual bool Sync( bool bForce = false, EVRSettingsError *peError = nullptr ) = 0; - - virtual void SetBool( const char *pchSection, const char *pchSettingsKey, bool bValue, EVRSettingsError *peError = nullptr ) = 0; - virtual void SetInt32( const char *pchSection, const char *pchSettingsKey, int32_t nValue, EVRSettingsError *peError = nullptr ) = 0; - virtual void SetFloat( const char *pchSection, const char *pchSettingsKey, float flValue, EVRSettingsError *peError = nullptr ) = 0; - virtual void SetString( const char *pchSection, const char *pchSettingsKey, const char *pchValue, EVRSettingsError *peError = nullptr ) = 0; - - // Users of the system need to provide a proper default in default.vrsettings in the resources/settings/ directory - // of either the runtime or the driver_xxx directory. Otherwise the default will be false, 0, 0.0 or "" - virtual bool GetBool( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; - virtual int32_t GetInt32( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; - virtual float GetFloat( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; - virtual void GetString( const char *pchSection, const char *pchSettingsKey, VR_OUT_STRING() char *pchValue, uint32_t unValueLen, EVRSettingsError *peError = nullptr ) = 0; - - virtual void RemoveSection( const char *pchSection, EVRSettingsError *peError = nullptr ) = 0; - virtual void RemoveKeyInSection( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; - }; - - //----------------------------------------------------------------------------- - static const char * const IVRSettings_Version = "IVRSettings_002"; - - //----------------------------------------------------------------------------- - // steamvr keys - static const char * const k_pch_SteamVR_Section = "steamvr"; - static const char * const k_pch_SteamVR_RequireHmd_String = "requireHmd"; - static const char * const k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver"; - static const char * const k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd"; - static const char * const k_pch_SteamVR_DisplayDebug_Bool = "displayDebug"; - static const char * const k_pch_SteamVR_DebugProcessPipe_String = "debugProcessPipe"; - static const char * const k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX"; - static const char * const k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY"; - static const char * const k_pch_SteamVR_SendSystemButtonToAllApps_Bool= "sendSystemButtonToAllApps"; - static const char * const k_pch_SteamVR_LogLevel_Int32 = "loglevel"; - static const char * const k_pch_SteamVR_IPD_Float = "ipd"; - static const char * const k_pch_SteamVR_Background_String = "background"; - static const char * const k_pch_SteamVR_BackgroundUseDomeProjection_Bool = "backgroundUseDomeProjection"; - static const char * const k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCameraHeight"; - static const char * const k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRadius"; - static const char * const k_pch_SteamVR_GridColor_String = "gridColor"; - static const char * const k_pch_SteamVR_PlayAreaColor_String = "playAreaColor"; - static const char * const k_pch_SteamVR_ShowStage_Bool = "showStage"; - static const char * const k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers"; - static const char * const k_pch_SteamVR_DirectMode_Bool = "directMode"; - static const char * const k_pch_SteamVR_DirectModeEdidVid_Int32 = "directModeEdidVid"; - static const char * const k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid"; - static const char * const k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers"; - static const char * const k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees"; - static const char * const k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestationPowerManagement"; - static const char * const k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses"; - static const char * const k_pch_SteamVR_SupersampleScale_Float = "supersampleScale"; - static const char * const k_pch_SteamVR_AllowAsyncReprojection_Bool = "allowAsyncReprojection"; - static const char * const k_pch_SteamVR_AllowReprojection_Bool = "allowInterleavedReprojection"; - static const char * const k_pch_SteamVR_ForceReprojection_Bool = "forceReprojection"; - static const char * const k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; - static const char * const k_pch_SteamVR_DefaultMirrorView_Int32 = "defaultMirrorView"; - static const char * const k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView"; - static const char * const k_pch_SteamVR_MirrorViewGeometry_String = "mirrorViewGeometry"; - static const char * const k_pch_SteamVR_StartMonitorFromAppLaunch = "startMonitorFromAppLaunch"; - static const char * const k_pch_SteamVR_StartCompositorFromAppLaunch_Bool = "startCompositorFromAppLaunch"; - static const char * const k_pch_SteamVR_StartDashboardFromAppLaunch_Bool = "startDashboardFromAppLaunch"; - static const char * const k_pch_SteamVR_StartOverlayAppsFromDashboard_Bool = "startOverlayAppsFromDashboard"; - static const char * const k_pch_SteamVR_EnableHomeApp = "enableHomeApp"; - static const char * const k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32 = "CycleBackgroundImageTimeSec"; - static const char * const k_pch_SteamVR_RetailDemo_Bool = "retailDemo"; - static const char * const k_pch_SteamVR_IpdOffset_Float = "ipdOffset"; - static const char * const k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering"; - static const char * const k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync"; - - //----------------------------------------------------------------------------- - // lighthouse keys - static const char * const k_pch_Lighthouse_Section = "driver_lighthouse"; - static const char * const k_pch_Lighthouse_DisableIMU_Bool = "disableimu"; - static const char * const k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation"; - static const char * const k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug"; - static const char * const k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation"; - static const char * const k_pch_Lighthouse_DBHistory_Bool = "dbhistory"; - - //----------------------------------------------------------------------------- - // null keys - static const char * const k_pch_Null_Section = "driver_null"; - static const char * const k_pch_Null_SerialNumber_String = "serialNumber"; - static const char * const k_pch_Null_ModelNumber_String = "modelNumber"; - static const char * const k_pch_Null_WindowX_Int32 = "windowX"; - static const char * const k_pch_Null_WindowY_Int32 = "windowY"; - static const char * const k_pch_Null_WindowWidth_Int32 = "windowWidth"; - static const char * const k_pch_Null_WindowHeight_Int32 = "windowHeight"; - static const char * const k_pch_Null_RenderWidth_Int32 = "renderWidth"; - static const char * const k_pch_Null_RenderHeight_Int32 = "renderHeight"; - static const char * const k_pch_Null_SecondsFromVsyncToPhotons_Float = "secondsFromVsyncToPhotons"; - static const char * const k_pch_Null_DisplayFrequency_Float = "displayFrequency"; - - //----------------------------------------------------------------------------- - // user interface keys - static const char * const k_pch_UserInterface_Section = "userinterface"; - static const char * const k_pch_UserInterface_StatusAlwaysOnTop_Bool = "StatusAlwaysOnTop"; - static const char * const k_pch_UserInterface_MinimizeToTray_Bool = "MinimizeToTray"; - static const char * const k_pch_UserInterface_Screenshots_Bool = "screenshots"; - static const char * const k_pch_UserInterface_ScreenshotType_Int = "screenshotType"; - - //----------------------------------------------------------------------------- - // notification keys - static const char * const k_pch_Notifications_Section = "notifications"; - static const char * const k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb"; - - //----------------------------------------------------------------------------- - // keyboard keys - static const char * const k_pch_Keyboard_Section = "keyboard"; - static const char * const k_pch_Keyboard_TutorialCompletions = "TutorialCompletions"; - static const char * const k_pch_Keyboard_ScaleX = "ScaleX"; - static const char * const k_pch_Keyboard_ScaleY = "ScaleY"; - static const char * const k_pch_Keyboard_OffsetLeftX = "OffsetLeftX"; - static const char * const k_pch_Keyboard_OffsetRightX = "OffsetRightX"; - static const char * const k_pch_Keyboard_OffsetY = "OffsetY"; - static const char * const k_pch_Keyboard_Smoothing = "Smoothing"; - - //----------------------------------------------------------------------------- - // perf keys - static const char * const k_pch_Perf_Section = "perfcheck"; - static const char * const k_pch_Perf_HeuristicActive_Bool = "heuristicActive"; - static const char * const k_pch_Perf_NotifyInHMD_Bool = "warnInHMD"; - static const char * const k_pch_Perf_NotifyOnlyOnce_Bool = "warnOnlyOnce"; - static const char * const k_pch_Perf_AllowTimingStore_Bool = "allowTimingStore"; - static const char * const k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit"; - static const char * const k_pch_Perf_TestData_Float = "perfTestData"; - static const char * const k_pch_Perf_LinuxGPUProfiling_Bool = "linuxGPUProfiling"; - - //----------------------------------------------------------------------------- - // collision bounds keys - static const char * const k_pch_CollisionBounds_Section = "collisionBounds"; - static const char * const k_pch_CollisionBounds_Style_Int32 = "CollisionBoundsStyle"; - static const char * const k_pch_CollisionBounds_GroundPerimeterOn_Bool = "CollisionBoundsGroundPerimeterOn"; - static const char * const k_pch_CollisionBounds_CenterMarkerOn_Bool = "CollisionBoundsCenterMarkerOn"; - static const char * const k_pch_CollisionBounds_PlaySpaceOn_Bool = "CollisionBoundsPlaySpaceOn"; - static const char * const k_pch_CollisionBounds_FadeDistance_Float = "CollisionBoundsFadeDistance"; - static const char * const k_pch_CollisionBounds_ColorGammaR_Int32 = "CollisionBoundsColorGammaR"; - static const char * const k_pch_CollisionBounds_ColorGammaG_Int32 = "CollisionBoundsColorGammaG"; - static const char * const k_pch_CollisionBounds_ColorGammaB_Int32 = "CollisionBoundsColorGammaB"; - static const char * const k_pch_CollisionBounds_ColorGammaA_Int32 = "CollisionBoundsColorGammaA"; - - //----------------------------------------------------------------------------- - // camera keys - static const char * const k_pch_Camera_Section = "camera"; - static const char * const k_pch_Camera_EnableCamera_Bool = "enableCamera"; - static const char * const k_pch_Camera_EnableCameraInDashboard_Bool = "enableCameraInDashboard"; - static const char * const k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCameraForCollisionBounds"; - static const char * const k_pch_Camera_EnableCameraForRoomView_Bool = "enableCameraForRoomView"; - static const char * const k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGammaR"; - static const char * const k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGammaG"; - static const char * const k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB"; - static const char * const k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA"; - static const char * const k_pch_Camera_BoundsStrength_Int32 = "cameraBoundsStrength"; - - //----------------------------------------------------------------------------- - // audio keys - static const char * const k_pch_audio_Section = "audio"; - static const char * const k_pch_audio_OnPlaybackDevice_String = "onPlaybackDevice"; - static const char * const k_pch_audio_OnRecordDevice_String = "onRecordDevice"; - static const char * const k_pch_audio_OnPlaybackMirrorDevice_String = "onPlaybackMirrorDevice"; - static const char * const k_pch_audio_OffPlaybackDevice_String = "offPlaybackDevice"; - static const char * const k_pch_audio_OffRecordDevice_String = "offRecordDevice"; - static const char * const k_pch_audio_VIVEHDMIGain = "viveHDMIGain"; - - //----------------------------------------------------------------------------- - // power management keys - static const char * const k_pch_Power_Section = "power"; - static const char * const k_pch_Power_PowerOffOnExit_Bool = "powerOffOnExit"; - static const char * const k_pch_Power_TurnOffScreensTimeout_Float = "turnOffScreensTimeout"; - static const char * const k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout"; - static const char * const k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout"; - static const char * const k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress"; - static const char * const k_pch_Power_PauseCompositorOnStandby_Bool = "pauseCompositorOnStandby"; - - //----------------------------------------------------------------------------- - // dashboard keys - static const char * const k_pch_Dashboard_Section = "dashboard"; - static const char * const k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard"; - static const char * const k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode"; - - //----------------------------------------------------------------------------- - // model skin keys - static const char * const k_pch_modelskin_Section = "modelskins"; - - //----------------------------------------------------------------------------- - // driver keys - These could be checked in any driver_ section - static const char * const k_pch_Driver_Enable_Bool = "enable"; - -} // namespace vr - -// ivrchaperone.h -namespace vr -{ - -#pragma pack( push, 8 ) - -enum ChaperoneCalibrationState -{ - // OK! - ChaperoneCalibrationState_OK = 1, // Chaperone is fully calibrated and working correctly - - // Warnings - ChaperoneCalibrationState_Warning = 100, - ChaperoneCalibrationState_Warning_BaseStationMayHaveMoved = 101, // A base station thinks that it might have moved - ChaperoneCalibrationState_Warning_BaseStationRemoved = 102, // There are less base stations than when calibrated - ChaperoneCalibrationState_Warning_SeatedBoundsInvalid = 103, // Seated bounds haven't been calibrated for the current tracking center - - // Errors - ChaperoneCalibrationState_Error = 200, // The UniverseID is invalid - ChaperoneCalibrationState_Error_BaseStationUninitialized = 201, // Tracking center hasn't be calibrated for at least one of the base stations - ChaperoneCalibrationState_Error_BaseStationConflict = 202, // Tracking center is calibrated, but base stations disagree on the tracking space - ChaperoneCalibrationState_Error_PlayAreaInvalid = 203, // Play Area hasn't been calibrated for the current tracking center - ChaperoneCalibrationState_Error_CollisionBoundsInvalid = 204, // Collision Bounds haven't been calibrated for the current tracking center -}; - - -/** HIGH LEVEL TRACKING SPACE ASSUMPTIONS: -* 0,0,0 is the preferred standing area center. -* 0Y is the floor height. -* -Z is the preferred forward facing direction. */ -class IVRChaperone -{ -public: - - /** Get the current state of Chaperone calibration. This state can change at any time during a session due to physical base station changes. **/ - virtual ChaperoneCalibrationState GetCalibrationState() = 0; - - /** Returns the width and depth of the Play Area (formerly named Soft Bounds) in X and Z. - * Tracking space center (0,0,0) is the center of the Play Area. **/ - virtual bool GetPlayAreaSize( float *pSizeX, float *pSizeZ ) = 0; - - /** Returns the 4 corner positions of the Play Area (formerly named Soft Bounds). - * Corners are in counter-clockwise order. - * Standing center (0,0,0) is the center of the Play Area. - * It's a rectangle. - * 2 sides are parallel to the X axis and 2 sides are parallel to the Z axis. - * Height of every corner is 0Y (on the floor). **/ - virtual bool GetPlayAreaRect( HmdQuad_t *rect ) = 0; - - /** Reload Chaperone data from the .vrchap file on disk. */ - virtual void ReloadInfo( void ) = 0; - - /** Optionally give the chaperone system a hit about the color and brightness in the scene **/ - virtual void SetSceneColor( HmdColor_t color ) = 0; - - /** Get the current chaperone bounds draw color and brightness **/ - virtual void GetBoundsColor( HmdColor_t *pOutputColorArray, int nNumOutputColors, float flCollisionBoundsFadeDistance, HmdColor_t *pOutputCameraColor ) = 0; - - /** Determine whether the bounds are showing right now **/ - virtual bool AreBoundsVisible() = 0; - - /** Force the bounds to show, mostly for utilities **/ - virtual void ForceBoundsVisible( bool bForce ) = 0; -}; - -static const char * const IVRChaperone_Version = "IVRChaperone_003"; - -#pragma pack( pop ) - -} - -// ivrchaperonesetup.h -namespace vr -{ - -enum EChaperoneConfigFile -{ - EChaperoneConfigFile_Live = 1, // The live chaperone config, used by most applications and games - EChaperoneConfigFile_Temp = 2, // The temporary chaperone config, used to live-preview collision bounds in room setup -}; - -enum EChaperoneImportFlags -{ - EChaperoneImport_BoundsOnly = 0x0001, -}; - -/** Manages the working copy of the chaperone info. By default this will be the same as the -* live copy. Any changes made with this interface will stay in the working copy until -* CommitWorkingCopy() is called, at which point the working copy and the live copy will be -* the same again. */ -class IVRChaperoneSetup -{ -public: - - /** Saves the current working copy to disk */ - virtual bool CommitWorkingCopy( EChaperoneConfigFile configFile ) = 0; - - /** Reverts the working copy to match the live chaperone calibration. - * To modify existing data this MUST be do WHILE getting a non-error ChaperoneCalibrationStatus. - * Only after this should you do gets and sets on the existing data. */ - virtual void RevertWorkingCopy() = 0; - - /** Returns the width and depth of the Play Area (formerly named Soft Bounds) in X and Z from the working copy. - * Tracking space center (0,0,0) is the center of the Play Area. */ - virtual bool GetWorkingPlayAreaSize( float *pSizeX, float *pSizeZ ) = 0; - - /** Returns the 4 corner positions of the Play Area (formerly named Soft Bounds) from the working copy. - * Corners are in clockwise order. - * Tracking space center (0,0,0) is the center of the Play Area. - * It's a rectangle. - * 2 sides are parallel to the X axis and 2 sides are parallel to the Z axis. - * Height of every corner is 0Y (on the floor). **/ - virtual bool GetWorkingPlayAreaRect( HmdQuad_t *rect ) = 0; - - /** Returns the number of Quads if the buffer points to null. Otherwise it returns Quads - * into the buffer up to the max specified from the working copy. */ - virtual bool GetWorkingCollisionBoundsInfo( VR_OUT_ARRAY_COUNT(punQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t* punQuadsCount ) = 0; - - /** Returns the number of Quads if the buffer points to null. Otherwise it returns Quads - * into the buffer up to the max specified. */ - virtual bool GetLiveCollisionBoundsInfo( VR_OUT_ARRAY_COUNT(punQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t* punQuadsCount ) = 0; - - /** Returns the preferred seated position from the working copy. */ - virtual bool GetWorkingSeatedZeroPoseToRawTrackingPose( HmdMatrix34_t *pmatSeatedZeroPoseToRawTrackingPose ) = 0; - - /** Returns the standing origin from the working copy. */ - virtual bool GetWorkingStandingZeroPoseToRawTrackingPose( HmdMatrix34_t *pmatStandingZeroPoseToRawTrackingPose ) = 0; - - /** Sets the Play Area in the working copy. */ - virtual void SetWorkingPlayAreaSize( float sizeX, float sizeZ ) = 0; - - /** Sets the Collision Bounds in the working copy. */ - virtual void SetWorkingCollisionBoundsInfo( VR_ARRAY_COUNT(unQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t unQuadsCount ) = 0; - - /** Sets the preferred seated position in the working copy. */ - virtual void SetWorkingSeatedZeroPoseToRawTrackingPose( const HmdMatrix34_t *pMatSeatedZeroPoseToRawTrackingPose ) = 0; - - /** Sets the preferred standing position in the working copy. */ - virtual void SetWorkingStandingZeroPoseToRawTrackingPose( const HmdMatrix34_t *pMatStandingZeroPoseToRawTrackingPose ) = 0; - - /** Tear everything down and reload it from the file on disk */ - virtual void ReloadFromDisk( EChaperoneConfigFile configFile ) = 0; - - /** Returns the preferred seated position. */ - virtual bool GetLiveSeatedZeroPoseToRawTrackingPose( HmdMatrix34_t *pmatSeatedZeroPoseToRawTrackingPose ) = 0; - - virtual void SetWorkingCollisionBoundsTagsInfo( VR_ARRAY_COUNT(unTagCount) uint8_t *pTagsBuffer, uint32_t unTagCount ) = 0; - virtual bool GetLiveCollisionBoundsTagsInfo( VR_OUT_ARRAY_COUNT(punTagCount) uint8_t *pTagsBuffer, uint32_t *punTagCount ) = 0; - - virtual bool SetWorkingPhysicalBoundsInfo( VR_ARRAY_COUNT(unQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t unQuadsCount ) = 0; - virtual bool GetLivePhysicalBoundsInfo( VR_OUT_ARRAY_COUNT(punQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t* punQuadsCount ) = 0; - - virtual bool ExportLiveToBuffer( VR_OUT_STRING() char *pBuffer, uint32_t *pnBufferLength ) = 0; - virtual bool ImportFromBufferToWorking( const char *pBuffer, uint32_t nImportFlags ) = 0; -}; - -static const char * const IVRChaperoneSetup_Version = "IVRChaperoneSetup_005"; - - -} - -// ivrcompositor.h -namespace vr -{ - -#pragma pack( push, 8 ) - -/** Errors that can occur with the VR compositor */ -enum EVRCompositorError -{ - VRCompositorError_None = 0, - VRCompositorError_RequestFailed = 1, - VRCompositorError_IncompatibleVersion = 100, - VRCompositorError_DoNotHaveFocus = 101, - VRCompositorError_InvalidTexture = 102, - VRCompositorError_IsNotSceneApplication = 103, - VRCompositorError_TextureIsOnWrongDevice = 104, - VRCompositorError_TextureUsesUnsupportedFormat = 105, - VRCompositorError_SharedTexturesNotSupported = 106, - VRCompositorError_IndexOutOfRange = 107, - VRCompositorError_AlreadySubmitted = 108, - VRCompositorError_InvalidBounds = 109, -}; - -const uint32_t VRCompositor_ReprojectionReason_Cpu = 0x01; -const uint32_t VRCompositor_ReprojectionReason_Gpu = 0x02; -const uint32_t VRCompositor_ReprojectionAsync = 0x04; // This flag indicates the async reprojection mode is active, - // but does not indicate if reprojection actually happened or not. - // Use the ReprojectionReason flags above to check if reprojection - // was actually applied (i.e. scene texture was reused). - // NumFramePresents > 1 also indicates the scene texture was reused, - // and also the number of times that it was presented in total. - -/** Provides a single frame's timing information to the app */ -struct Compositor_FrameTiming -{ - uint32_t m_nSize; // Set to sizeof( Compositor_FrameTiming ) - uint32_t m_nFrameIndex; - uint32_t m_nNumFramePresents; // number of times this frame was presented - uint32_t m_nNumMisPresented; // number of times this frame was presented on a vsync other than it was originally predicted to - uint32_t m_nNumDroppedFrames; // number of additional times previous frame was scanned out - uint32_t m_nReprojectionFlags; - - /** Absolute time reference for comparing frames. This aligns with the vsync that running start is relative to. */ - double m_flSystemTimeInSeconds; - - /** These times may include work from other processes due to OS scheduling. - * The fewer packets of work these are broken up into, the less likely this will happen. - * GPU work can be broken up by calling Flush. This can sometimes be useful to get the GPU started - * processing that work earlier in the frame. */ - float m_flPreSubmitGpuMs; // time spent rendering the scene (gpu work submitted between WaitGetPoses and second Submit) - float m_flPostSubmitGpuMs; // additional time spent rendering by application (e.g. companion window) - float m_flTotalRenderGpuMs; // time between work submitted immediately after present (ideally vsync) until the end of compositor submitted work - float m_flCompositorRenderGpuMs; // time spend performing distortion correction, rendering chaperone, overlays, etc. - float m_flCompositorRenderCpuMs; // time spent on cpu submitting the above work for this frame - float m_flCompositorIdleCpuMs; // time spent waiting for running start (application could have used this much more time) - - /** Miscellaneous measured intervals. */ - float m_flClientFrameIntervalMs; // time between calls to WaitGetPoses - float m_flPresentCallCpuMs; // time blocked on call to present (usually 0.0, but can go long) - float m_flWaitForPresentCpuMs; // time spent spin-waiting for frame index to change (not near-zero indicates wait object failure) - float m_flSubmitFrameMs; // time spent in IVRCompositor::Submit (not near-zero indicates driver issue) - - /** The following are all relative to this frame's SystemTimeInSeconds */ - float m_flWaitGetPosesCalledMs; - float m_flNewPosesReadyMs; - float m_flNewFrameReadyMs; // second call to IVRCompositor::Submit - float m_flCompositorUpdateStartMs; - float m_flCompositorUpdateEndMs; - float m_flCompositorRenderStartMs; - - vr::TrackedDevicePose_t m_HmdPose; // pose used by app to render this frame -}; - -/** Cumulative stats for current application. These are not cleared until a new app connects, -* but they do stop accumulating once the associated app disconnects. */ -struct Compositor_CumulativeStats -{ - uint32_t m_nPid; // Process id associated with these stats (may no longer be running). - uint32_t m_nNumFramePresents; // total number of times we called present (includes reprojected frames) - uint32_t m_nNumDroppedFrames; // total number of times an old frame was re-scanned out (without reprojection) - uint32_t m_nNumReprojectedFrames; // total number of times a frame was scanned out a second time (with reprojection) - - /** Values recorded at startup before application has fully faded in the first time. */ - uint32_t m_nNumFramePresentsOnStartup; - uint32_t m_nNumDroppedFramesOnStartup; - uint32_t m_nNumReprojectedFramesOnStartup; - - /** Applications may explicitly fade to the compositor. This is usually to handle level transitions, and loading often causes - * system wide hitches. The following stats are collected during this period. Does not include values recorded during startup. */ - uint32_t m_nNumLoading; - uint32_t m_nNumFramePresentsLoading; - uint32_t m_nNumDroppedFramesLoading; - uint32_t m_nNumReprojectedFramesLoading; - - /** If we don't get a new frame from the app in less than 2.5 frames, then we assume the app has hung and start - * fading back to the compositor. The following stats are a result of this, and are a subset of those recorded above. - * Does not include values recorded during start up or loading. */ - uint32_t m_nNumTimedOut; - uint32_t m_nNumFramePresentsTimedOut; - uint32_t m_nNumDroppedFramesTimedOut; - uint32_t m_nNumReprojectedFramesTimedOut; -}; - -#pragma pack( pop ) - -/** Allows the application to interact with the compositor */ -class IVRCompositor -{ -public: - /** Sets tracking space returned by WaitGetPoses */ - virtual void SetTrackingSpace( ETrackingUniverseOrigin eOrigin ) = 0; - - /** Gets current tracking space returned by WaitGetPoses */ - virtual ETrackingUniverseOrigin GetTrackingSpace() = 0; - - /** Scene applications should call this function to get poses to render with (and optionally poses predicted an additional frame out to use for gameplay). - * This function will block until "running start" milliseconds before the start of the frame, and should be called at the last moment before needing to - * start rendering. - * - * Return codes: - * - IsNotSceneApplication (make sure to call VR_Init with VRApplicaiton_Scene) - * - DoNotHaveFocus (some other app has taken focus - this will throttle the call to 10hz to reduce the impact on that app) - */ - virtual EVRCompositorError WaitGetPoses( VR_ARRAY_COUNT(unRenderPoseArrayCount) TrackedDevicePose_t* pRenderPoseArray, uint32_t unRenderPoseArrayCount, - VR_ARRAY_COUNT(unGamePoseArrayCount) TrackedDevicePose_t* pGamePoseArray, uint32_t unGamePoseArrayCount ) = 0; - - /** Get the last set of poses returned by WaitGetPoses. */ - virtual EVRCompositorError GetLastPoses( VR_ARRAY_COUNT( unRenderPoseArrayCount ) TrackedDevicePose_t* pRenderPoseArray, uint32_t unRenderPoseArrayCount, - VR_ARRAY_COUNT( unGamePoseArrayCount ) TrackedDevicePose_t* pGamePoseArray, uint32_t unGamePoseArrayCount ) = 0; - - /** Interface for accessing last set of poses returned by WaitGetPoses one at a time. - * Returns VRCompositorError_IndexOutOfRange if unDeviceIndex not less than k_unMaxTrackedDeviceCount otherwise VRCompositorError_None. - * It is okay to pass NULL for either pose if you only want one of the values. */ - virtual EVRCompositorError GetLastPoseForTrackedDeviceIndex( TrackedDeviceIndex_t unDeviceIndex, TrackedDevicePose_t *pOutputPose, TrackedDevicePose_t *pOutputGamePose ) = 0; - - /** Updated scene texture to display. If pBounds is NULL the entire texture will be used. If called from an OpenGL app, consider adding a glFlush after - * Submitting both frames to signal the driver to start processing, otherwise it may wait until the command buffer fills up, causing the app to miss frames. - * - * OpenGL dirty state: - * glBindTexture - * - * Return codes: - * - IsNotSceneApplication (make sure to call VR_Init with VRApplicaiton_Scene) - * - DoNotHaveFocus (some other app has taken focus) - * - TextureIsOnWrongDevice (application did not use proper AdapterIndex - see IVRSystem.GetDXGIOutputInfo) - * - SharedTexturesNotSupported (application needs to call CreateDXGIFactory1 or later before creating DX device) - * - TextureUsesUnsupportedFormat (scene textures must be compatible with DXGI sharing rules - e.g. uncompressed, no mips, etc.) - * - InvalidTexture (usually means bad arguments passed in) - * - AlreadySubmitted (app has submitted two left textures or two right textures in a single frame - i.e. before calling WaitGetPoses again) - */ - virtual EVRCompositorError Submit( EVREye eEye, const Texture_t *pTexture, const VRTextureBounds_t* pBounds = 0, EVRSubmitFlags nSubmitFlags = Submit_Default ) = 0; - - /** Clears the frame that was sent with the last call to Submit. This will cause the - * compositor to show the grid until Submit is called again. */ - virtual void ClearLastSubmittedFrame() = 0; - - /** Call immediately after presenting your app's window (i.e. companion window) to unblock the compositor. - * This is an optional call, which only needs to be used if you can't instead call WaitGetPoses immediately after Present. - * For example, if your engine's render and game loop are not on separate threads, or blocking the render thread until 3ms before the next vsync would - * introduce a deadlock of some sort. This function tells the compositor that you have finished all rendering after having Submitted buffers for both - * eyes, and it is free to start its rendering work. This should only be called from the same thread you are rendering on. */ - virtual void PostPresentHandoff() = 0; - - /** Returns true if timing data is filled it. Sets oldest timing info if nFramesAgo is larger than the stored history. - * Be sure to set timing.size = sizeof(Compositor_FrameTiming) on struct passed in before calling this function. */ - virtual bool GetFrameTiming( Compositor_FrameTiming *pTiming, uint32_t unFramesAgo = 0 ) = 0; - - /** Interface for copying a range of timing data. Frames are returned in ascending order (oldest to newest) with the last being the most recent frame. - * Only the first entry's m_nSize needs to be set, as the rest will be inferred from that. Returns total number of entries filled out. */ - virtual uint32_t GetFrameTimings( Compositor_FrameTiming *pTiming, uint32_t nFrames ) = 0; - - /** Returns the time in seconds left in the current (as identified by FrameTiming's frameIndex) frame. - * Due to "running start", this value may roll over to the next frame before ever reaching 0.0. */ - virtual float GetFrameTimeRemaining() = 0; - - /** Fills out stats accumulated for the last connected application. Pass in sizeof( Compositor_CumulativeStats ) as second parameter. */ - virtual void GetCumulativeStats( Compositor_CumulativeStats *pStats, uint32_t nStatsSizeInBytes ) = 0; - - /** Fades the view on the HMD to the specified color. The fade will take fSeconds, and the color values are between - * 0.0 and 1.0. This color is faded on top of the scene based on the alpha parameter. Removing the fade color instantly - * would be FadeToColor( 0.0, 0.0, 0.0, 0.0, 0.0 ). Values are in un-premultiplied alpha space. */ - virtual void FadeToColor( float fSeconds, float fRed, float fGreen, float fBlue, float fAlpha, bool bBackground = false ) = 0; - - /** Get current fade color value. */ - virtual HmdColor_t GetCurrentFadeColor( bool bBackground = false ) = 0; - - /** Fading the Grid in or out in fSeconds */ - virtual void FadeGrid( float fSeconds, bool bFadeIn ) = 0; - - /** Get current alpha value of grid. */ - virtual float GetCurrentGridAlpha() = 0; - - /** Override the skybox used in the compositor (e.g. for during level loads when the app can't feed scene images fast enough) - * Order is Front, Back, Left, Right, Top, Bottom. If only a single texture is passed, it is assumed in lat-long format. - * If two are passed, it is assumed a lat-long stereo pair. */ - virtual EVRCompositorError SetSkyboxOverride( VR_ARRAY_COUNT( unTextureCount ) const Texture_t *pTextures, uint32_t unTextureCount ) = 0; - - /** Resets compositor skybox back to defaults. */ - virtual void ClearSkyboxOverride() = 0; - - /** Brings the compositor window to the front. This is useful for covering any other window that may be on the HMD - * and is obscuring the compositor window. */ - virtual void CompositorBringToFront() = 0; - - /** Pushes the compositor window to the back. This is useful for allowing other applications to draw directly to the HMD. */ - virtual void CompositorGoToBack() = 0; - - /** Tells the compositor process to clean up and exit. You do not need to call this function at shutdown. Under normal - * circumstances the compositor will manage its own life cycle based on what applications are running. */ - virtual void CompositorQuit() = 0; - - /** Return whether the compositor is fullscreen */ - virtual bool IsFullscreen() = 0; - - /** Returns the process ID of the process that is currently rendering the scene */ - virtual uint32_t GetCurrentSceneFocusProcess() = 0; - - /** Returns the process ID of the process that rendered the last frame (or 0 if the compositor itself rendered the frame.) - * Returns 0 when fading out from an app and the app's process Id when fading into an app. */ - virtual uint32_t GetLastFrameRenderer() = 0; - - /** Returns true if the current process has the scene focus */ - virtual bool CanRenderScene() = 0; - - /** Creates a window on the primary monitor to display what is being shown in the headset. */ - virtual void ShowMirrorWindow() = 0; - - /** Closes the mirror window. */ - virtual void HideMirrorWindow() = 0; - - /** Returns true if the mirror window is shown. */ - virtual bool IsMirrorWindowVisible() = 0; - - /** Writes all images that the compositor knows about (including overlays) to a 'screenshots' folder in the SteamVR runtime root. */ - virtual void CompositorDumpImages() = 0; - - /** Let an app know it should be rendering with low resources. */ - virtual bool ShouldAppRenderWithLowResources() = 0; - - /** Override interleaved reprojection logic to force on. */ - virtual void ForceInterleavedReprojectionOn( bool bOverride ) = 0; - - /** Force reconnecting to the compositor process. */ - virtual void ForceReconnectProcess() = 0; - - /** Temporarily suspends rendering (useful for finer control over scene transitions). */ - virtual void SuspendRendering( bool bSuspend ) = 0; - - /** Opens a shared D3D11 texture with the undistorted composited image for each eye. Use ReleaseMirrorTextureD3D11 when finished - * instead of calling Release on the resource itself. */ - virtual vr::EVRCompositorError GetMirrorTextureD3D11( vr::EVREye eEye, void *pD3D11DeviceOrResource, void **ppD3D11ShaderResourceView ) = 0; - virtual void ReleaseMirrorTextureD3D11( void *pD3D11ShaderResourceView ) = 0; - - /** Access to mirror textures from OpenGL. */ - virtual vr::EVRCompositorError GetMirrorTextureGL( vr::EVREye eEye, vr::glUInt_t *pglTextureId, vr::glSharedTextureHandle_t *pglSharedTextureHandle ) = 0; - virtual bool ReleaseSharedGLTexture( vr::glUInt_t glTextureId, vr::glSharedTextureHandle_t glSharedTextureHandle ) = 0; - virtual void LockGLSharedTextureForAccess( vr::glSharedTextureHandle_t glSharedTextureHandle ) = 0; - virtual void UnlockGLSharedTextureForAccess( vr::glSharedTextureHandle_t glSharedTextureHandle ) = 0; - - /** [Vulkan Only] - * return 0. Otherwise it returns the length of the number of bytes necessary to hold this string including the trailing - * null. The string will be a space separated list of-required instance extensions to enable in VkCreateInstance */ - virtual uint32_t GetVulkanInstanceExtensionsRequired( VR_OUT_STRING() char *pchValue, uint32_t unBufferSize ) = 0; - - /** [Vulkan only] - * return 0. Otherwise it returns the length of the number of bytes necessary to hold this string including the trailing - * null. The string will be a space separated list of required device extensions to enable in VkCreateDevice */ - virtual uint32_t GetVulkanDeviceExtensionsRequired( VkPhysicalDevice_T *pPhysicalDevice, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize ) = 0; - - /** [ Vulkan/D3D12 Only ] - * There are two purposes for SetExplicitTimingMode: - * 1. To get a more accurate GPU timestamp for when the frame begins in Vulkan/D3D12 applications. - * 2. (Optional) To avoid having WaitGetPoses access the Vulkan queue so that the queue can be accessed from - * another thread while WaitGetPoses is executing. - * - * More accurate GPU timestamp for the start of the frame is achieved by the application calling - * SubmitExplicitTimingData immediately before its first submission to the Vulkan/D3D12 queue. - * This is more accurate because normally this GPU timestamp is recorded during WaitGetPoses. In D3D11, - * WaitGetPoses queues a GPU timestamp write, but it does not actually get submitted to the GPU until the - * application flushes. By using SubmitExplicitTimingData, the timestamp is recorded at the same place for - * Vulkan/D3D12 as it is for D3D11, resulting in a more accurate GPU time measurement for the frame. - * - * Avoiding WaitGetPoses accessing the Vulkan queue can be achieved using SetExplicitTimingMode as well. If this is desired, - * the application *MUST* call PostPresentHandoff itself prior to WaitGetPoses. If SetExplicitTimingMode is true and the - * application calls PostPresentHandoff, then WaitGetPoses is guaranteed not to access the queue. Note that PostPresentHandoff - * and SubmitExplicitTimingData will access the queue, so only WaitGetPoses becomes safe for accessing the queue from another - * thread. */ - virtual void SetExplicitTimingMode( bool bExplicitTimingMode ) = 0; - - /** [ Vulkan/D3D12 Only ] - * Submit explicit timing data. When SetExplicitTimingMode is true, this must be called immediately before - * the application's first vkQueueSubmit (Vulkan) or ID3D12CommandQueue::ExecuteCommandLists (D3D12) of each frame. - * This function will insert a GPU timestamp write just before the application starts its rendering. This function - * will perform a vkQueueSubmit on Vulkan so must not be done simultaneously with VkQueue operations on another thread. - * Returns VRCompositorError_RequestFailed if SetExplicitTimingMode is not enabled. */ - virtual EVRCompositorError SubmitExplicitTimingData() = 0; -}; - -static const char * const IVRCompositor_Version = "IVRCompositor_021"; - -} // namespace vr - - - -// ivrnotifications.h -namespace vr -{ - -#pragma pack( push, 8 ) - -// Used for passing graphic data -struct NotificationBitmap_t -{ - NotificationBitmap_t() - : m_pImageData( nullptr ) - , m_nWidth( 0 ) - , m_nHeight( 0 ) - , m_nBytesPerPixel( 0 ) - { - }; - - void *m_pImageData; - int32_t m_nWidth; - int32_t m_nHeight; - int32_t m_nBytesPerPixel; -}; - - -/** Be aware that the notification type is used as 'priority' to pick the next notification */ -enum EVRNotificationType -{ - /** Transient notifications are automatically hidden after a period of time set by the user. - * They are used for things like information and chat messages that do not require user interaction. */ - EVRNotificationType_Transient = 0, - - /** Persistent notifications are shown to the user until they are hidden by calling RemoveNotification(). - * They are used for things like phone calls and alarms that require user interaction. */ - EVRNotificationType_Persistent = 1, - - /** System notifications are shown no matter what. It is expected, that the ulUserValue is used as ID. - * If there is already a system notification in the queue with that ID it is not accepted into the queue - * to prevent spamming with system notification */ - EVRNotificationType_Transient_SystemWithUserValue = 2, -}; - -enum EVRNotificationStyle -{ - /** Creates a notification with minimal external styling. */ - EVRNotificationStyle_None = 0, - - /** Used for notifications about overlay-level status. In Steam this is used for events like downloads completing. */ - EVRNotificationStyle_Application = 100, - - /** Used for notifications about contacts that are unknown or not available. In Steam this is used for friend invitations and offline friends. */ - EVRNotificationStyle_Contact_Disabled = 200, - - /** Used for notifications about contacts that are available but inactive. In Steam this is used for friends that are online but not playing a game. */ - EVRNotificationStyle_Contact_Enabled = 201, - - /** Used for notifications about contacts that are available and active. In Steam this is used for friends that are online and currently running a game. */ - EVRNotificationStyle_Contact_Active = 202, -}; - -static const uint32_t k_unNotificationTextMaxSize = 256; - -typedef uint32_t VRNotificationId; - - - -#pragma pack( pop ) - -/** Allows notification sources to interact with the VR system - This current interface is not yet implemented. Do not use yet. */ -class IVRNotifications -{ -public: - /** Create a notification and enqueue it to be shown to the user. - * An overlay handle is required to create a notification, as otherwise it would be impossible for a user to act on it. - * To create a two-line notification, use a line break ('\n') to split the text into two lines. - * The pImage argument may be NULL, in which case the specified overlay's icon will be used instead. */ - virtual EVRNotificationError CreateNotification( VROverlayHandle_t ulOverlayHandle, uint64_t ulUserValue, EVRNotificationType type, const char *pchText, EVRNotificationStyle style, const NotificationBitmap_t *pImage, /* out */ VRNotificationId *pNotificationId ) = 0; - - /** Destroy a notification, hiding it first if it currently shown to the user. */ - virtual EVRNotificationError RemoveNotification( VRNotificationId notificationId ) = 0; - -}; - -static const char * const IVRNotifications_Version = "IVRNotifications_002"; - -} // namespace vr - - - -// ivroverlay.h -namespace vr -{ - - /** The maximum length of an overlay key in bytes, counting the terminating null character. */ - static const uint32_t k_unVROverlayMaxKeyLength = 128; - - /** The maximum length of an overlay name in bytes, counting the terminating null character. */ - static const uint32_t k_unVROverlayMaxNameLength = 128; - - /** The maximum number of overlays that can exist in the system at one time. */ - static const uint32_t k_unMaxOverlayCount = 64; - - /** The maximum number of overlay intersection mask primitives per overlay */ - static const uint32_t k_unMaxOverlayIntersectionMaskPrimitivesCount = 32; - - /** Types of input supported by VR Overlays */ - enum VROverlayInputMethod - { - VROverlayInputMethod_None = 0, // No input events will be generated automatically for this overlay - VROverlayInputMethod_Mouse = 1, // Tracked controllers will get mouse events automatically - }; - - /** Allows the caller to figure out which overlay transform getter to call. */ - enum VROverlayTransformType - { - VROverlayTransform_Absolute = 0, - VROverlayTransform_TrackedDeviceRelative = 1, - VROverlayTransform_SystemOverlay = 2, - VROverlayTransform_TrackedComponent = 3, - }; - - /** Overlay control settings */ - enum VROverlayFlags - { - VROverlayFlags_None = 0, - - // The following only take effect when rendered using the high quality render path (see SetHighQualityOverlay). - VROverlayFlags_Curved = 1, - VROverlayFlags_RGSS4X = 2, - - // Set this flag on a dashboard overlay to prevent a tab from showing up for that overlay - VROverlayFlags_NoDashboardTab = 3, - - // Set this flag on a dashboard that is able to deal with gamepad focus events - VROverlayFlags_AcceptsGamepadEvents = 4, - - // Indicates that the overlay should dim/brighten to show gamepad focus - VROverlayFlags_ShowGamepadFocus = 5, - - // When in VROverlayInputMethod_Mouse you can optionally enable sending VRScroll_t - VROverlayFlags_SendVRScrollEvents = 6, - VROverlayFlags_SendVRTouchpadEvents = 7, - - // If set this will render a vertical scroll wheel on the primary controller, - // only needed if not using VROverlayFlags_SendVRScrollEvents but you still want to represent a scroll wheel - VROverlayFlags_ShowTouchPadScrollWheel = 8, - - // If this is set ownership and render access to the overlay are transferred - // to the new scene process on a call to IVRApplications::LaunchInternalProcess - VROverlayFlags_TransferOwnershipToInternalProcess = 9, - - // If set, renders 50% of the texture in each eye, side by side - VROverlayFlags_SideBySide_Parallel = 10, // Texture is left/right - VROverlayFlags_SideBySide_Crossed = 11, // Texture is crossed and right/left - - VROverlayFlags_Panorama = 12, // Texture is a panorama - VROverlayFlags_StereoPanorama = 13, // Texture is a stereo panorama - - // If this is set on an overlay owned by the scene application that overlay - // will be sorted with the "Other" overlays on top of all other scene overlays - VROverlayFlags_SortWithNonSceneOverlays = 14, - - // If set, the overlay will be shown in the dashboard, otherwise it will be hidden. - VROverlayFlags_VisibleInDashboard = 15, - }; - - enum VRMessageOverlayResponse - { - VRMessageOverlayResponse_ButtonPress_0 = 0, - VRMessageOverlayResponse_ButtonPress_1 = 1, - VRMessageOverlayResponse_ButtonPress_2 = 2, - VRMessageOverlayResponse_ButtonPress_3 = 3, - VRMessageOverlayResponse_CouldntFindSystemOverlay = 4, - VRMessageOverlayResponse_CouldntFindOrCreateClientOverlay= 5, - VRMessageOverlayResponse_ApplicationQuit = 6 - }; - - struct VROverlayIntersectionParams_t - { - HmdVector3_t vSource; - HmdVector3_t vDirection; - ETrackingUniverseOrigin eOrigin; - }; - - struct VROverlayIntersectionResults_t - { - HmdVector3_t vPoint; - HmdVector3_t vNormal; - HmdVector2_t vUVs; - float fDistance; - }; - - // Input modes for the Big Picture gamepad text entry - enum EGamepadTextInputMode - { - k_EGamepadTextInputModeNormal = 0, - k_EGamepadTextInputModePassword = 1, - k_EGamepadTextInputModeSubmit = 2, - }; - - // Controls number of allowed lines for the Big Picture gamepad text entry - enum EGamepadTextInputLineMode - { - k_EGamepadTextInputLineModeSingleLine = 0, - k_EGamepadTextInputLineModeMultipleLines = 1 - }; - - /** Directions for changing focus between overlays with the gamepad */ - enum EOverlayDirection - { - OverlayDirection_Up = 0, - OverlayDirection_Down = 1, - OverlayDirection_Left = 2, - OverlayDirection_Right = 3, - - OverlayDirection_Count = 4, - }; - - enum EVROverlayIntersectionMaskPrimitiveType - { - OverlayIntersectionPrimitiveType_Rectangle, - OverlayIntersectionPrimitiveType_Circle, - }; - - struct IntersectionMaskRectangle_t - { - float m_flTopLeftX; - float m_flTopLeftY; - float m_flWidth; - float m_flHeight; - }; - - struct IntersectionMaskCircle_t - { - float m_flCenterX; - float m_flCenterY; - float m_flRadius; - }; - - /** NOTE!!! If you change this you MUST manually update openvr_interop.cs.py and openvr_api_flat.h.py */ - typedef union - { - IntersectionMaskRectangle_t m_Rectangle; - IntersectionMaskCircle_t m_Circle; - } VROverlayIntersectionMaskPrimitive_Data_t; - - struct VROverlayIntersectionMaskPrimitive_t - { - EVROverlayIntersectionMaskPrimitiveType m_nPrimitiveType; - VROverlayIntersectionMaskPrimitive_Data_t m_Primitive; - }; - - class IVROverlay - { - public: - - // --------------------------------------------- - // Overlay management methods - // --------------------------------------------- - - /** Finds an existing overlay with the specified key. */ - virtual EVROverlayError FindOverlay( const char *pchOverlayKey, VROverlayHandle_t * pOverlayHandle ) = 0; - - /** Creates a new named overlay. All overlays start hidden and with default settings. */ - virtual EVROverlayError CreateOverlay( const char *pchOverlayKey, const char *pchOverlayName, VROverlayHandle_t * pOverlayHandle ) = 0; - - /** Destroys the specified overlay. When an application calls VR_Shutdown all overlays created by that app are - * automatically destroyed. */ - virtual EVROverlayError DestroyOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Specify which overlay to use the high quality render path. This overlay will be composited in during the distortion pass which - * results in it drawing on top of everything else, but also at a higher quality as it samples the source texture directly rather than - * rasterizing into each eye's render texture first. Because if this, only one of these is supported at any given time. It is most useful - * for overlays that are expected to take up most of the user's view (e.g. streaming video). - * This mode does not support mouse input to your overlay. */ - virtual EVROverlayError SetHighQualityOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Returns the overlay handle of the current overlay being rendered using the single high quality overlay render path. - * Otherwise it will return k_ulOverlayHandleInvalid. */ - virtual vr::VROverlayHandle_t GetHighQualityOverlay() = 0; - - /** Fills the provided buffer with the string key of the overlay. Returns the size of buffer required to store the key, including - * the terminating null character. k_unVROverlayMaxKeyLength will be enough bytes to fit the string. */ - virtual uint32_t GetOverlayKey( VROverlayHandle_t ulOverlayHandle, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize, EVROverlayError *pError = 0L ) = 0; - - /** Fills the provided buffer with the friendly name of the overlay. Returns the size of buffer required to store the key, including - * the terminating null character. k_unVROverlayMaxNameLength will be enough bytes to fit the string. */ - virtual uint32_t GetOverlayName( VROverlayHandle_t ulOverlayHandle, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize, EVROverlayError *pError = 0L ) = 0; - - /** set the name to use for this overlay */ - virtual EVROverlayError SetOverlayName( VROverlayHandle_t ulOverlayHandle, const char *pchName ) = 0; - - /** Gets the raw image data from an overlay. Overlay image data is always returned as RGBA data, 4 bytes per pixel. If the buffer is not large enough, width and height - * will be set and VROverlayError_ArrayTooSmall is returned. */ - virtual EVROverlayError GetOverlayImageData( VROverlayHandle_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight ) = 0; - - /** returns a string that corresponds with the specified overlay error. The string will be the name - * of the error enum value for all valid error codes */ - virtual const char *GetOverlayErrorNameFromEnum( EVROverlayError error ) = 0; - - // --------------------------------------------- - // Overlay rendering methods - // --------------------------------------------- - - /** Sets the pid that is allowed to render to this overlay (the creator pid is always allow to render), - * by default this is the pid of the process that made the overlay */ - virtual EVROverlayError SetOverlayRenderingPid( VROverlayHandle_t ulOverlayHandle, uint32_t unPID ) = 0; - - /** Gets the pid that is allowed to render to this overlay */ - virtual uint32_t GetOverlayRenderingPid( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Specify flag setting for a given overlay */ - virtual EVROverlayError SetOverlayFlag( VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool bEnabled ) = 0; - - /** Sets flag setting for a given overlay */ - virtual EVROverlayError GetOverlayFlag( VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool *pbEnabled ) = 0; - - /** Sets the color tint of the overlay quad. Use 0.0 to 1.0 per channel. */ - virtual EVROverlayError SetOverlayColor( VROverlayHandle_t ulOverlayHandle, float fRed, float fGreen, float fBlue ) = 0; - - /** Gets the color tint of the overlay quad. */ - virtual EVROverlayError GetOverlayColor( VROverlayHandle_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue ) = 0; - - /** Sets the alpha of the overlay quad. Use 1.0 for 100 percent opacity to 0.0 for 0 percent opacity. */ - virtual EVROverlayError SetOverlayAlpha( VROverlayHandle_t ulOverlayHandle, float fAlpha ) = 0; - - /** Gets the alpha of the overlay quad. By default overlays are rendering at 100 percent alpha (1.0). */ - virtual EVROverlayError GetOverlayAlpha( VROverlayHandle_t ulOverlayHandle, float *pfAlpha ) = 0; - - /** Sets the aspect ratio of the texels in the overlay. 1.0 means the texels are square. 2.0 means the texels - * are twice as wide as they are tall. Defaults to 1.0. */ - virtual EVROverlayError SetOverlayTexelAspect( VROverlayHandle_t ulOverlayHandle, float fTexelAspect ) = 0; - - /** Gets the aspect ratio of the texels in the overlay. Defaults to 1.0 */ - virtual EVROverlayError GetOverlayTexelAspect( VROverlayHandle_t ulOverlayHandle, float *pfTexelAspect ) = 0; - - /** Sets the rendering sort order for the overlay. Overlays are rendered this order: - * Overlays owned by the scene application - * Overlays owned by some other application - * - * Within a category overlays are rendered lowest sort order to highest sort order. Overlays with the same - * sort order are rendered back to front base on distance from the HMD. - * - * Sort order defaults to 0. */ - virtual EVROverlayError SetOverlaySortOrder( VROverlayHandle_t ulOverlayHandle, uint32_t unSortOrder ) = 0; - - /** Gets the sort order of the overlay. See SetOverlaySortOrder for how this works. */ - virtual EVROverlayError GetOverlaySortOrder( VROverlayHandle_t ulOverlayHandle, uint32_t *punSortOrder ) = 0; - - /** Sets the width of the overlay quad in meters. By default overlays are rendered on a quad that is 1 meter across */ - virtual EVROverlayError SetOverlayWidthInMeters( VROverlayHandle_t ulOverlayHandle, float fWidthInMeters ) = 0; - - /** Returns the width of the overlay quad in meters. By default overlays are rendered on a quad that is 1 meter across */ - virtual EVROverlayError GetOverlayWidthInMeters( VROverlayHandle_t ulOverlayHandle, float *pfWidthInMeters ) = 0; - - /** For high-quality curved overlays only, sets the distance range in meters from the overlay used to automatically curve - * the surface around the viewer. Min is distance is when the surface will be most curved. Max is when least curved. */ - virtual EVROverlayError SetOverlayAutoCurveDistanceRangeInMeters( VROverlayHandle_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters ) = 0; - - /** For high-quality curved overlays only, gets the distance range in meters from the overlay used to automatically curve - * the surface around the viewer. Min is distance is when the surface will be most curved. Max is when least curved. */ - virtual EVROverlayError GetOverlayAutoCurveDistanceRangeInMeters( VROverlayHandle_t ulOverlayHandle, float *pfMinDistanceInMeters, float *pfMaxDistanceInMeters ) = 0; - - /** Sets the colorspace the overlay texture's data is in. Defaults to 'auto'. - * If the texture needs to be resolved, you should call SetOverlayTexture with the appropriate colorspace instead. */ - virtual EVROverlayError SetOverlayTextureColorSpace( VROverlayHandle_t ulOverlayHandle, EColorSpace eTextureColorSpace ) = 0; - - /** Gets the overlay's current colorspace setting. */ - virtual EVROverlayError GetOverlayTextureColorSpace( VROverlayHandle_t ulOverlayHandle, EColorSpace *peTextureColorSpace ) = 0; - - /** Sets the part of the texture to use for the overlay. UV Min is the upper left corner and UV Max is the lower right corner. */ - virtual EVROverlayError SetOverlayTextureBounds( VROverlayHandle_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds ) = 0; - - /** Gets the part of the texture to use for the overlay. UV Min is the upper left corner and UV Max is the lower right corner. */ - virtual EVROverlayError GetOverlayTextureBounds( VROverlayHandle_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds ) = 0; - - /** Gets render model to draw behind this overlay */ - virtual uint32_t GetOverlayRenderModel( vr::VROverlayHandle_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, HmdColor_t *pColor, vr::EVROverlayError *pError ) = 0; - - /** Sets render model to draw behind this overlay and the vertex color to use, pass null for pColor to match the overlays vertex color. - The model is scaled by the same amount as the overlay, with a default of 1m. */ - virtual vr::EVROverlayError SetOverlayRenderModel( vr::VROverlayHandle_t ulOverlayHandle, const char *pchRenderModel, const HmdColor_t *pColor ) = 0; - - /** Returns the transform type of this overlay. */ - virtual EVROverlayError GetOverlayTransformType( VROverlayHandle_t ulOverlayHandle, VROverlayTransformType *peTransformType ) = 0; - - /** Sets the transform to absolute tracking origin. */ - virtual EVROverlayError SetOverlayTransformAbsolute( VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform ) = 0; - - /** Gets the transform if it is absolute. Returns an error if the transform is some other type. */ - virtual EVROverlayError GetOverlayTransformAbsolute( VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform ) = 0; - - /** Sets the transform to relative to the transform of the specified tracked device. */ - virtual EVROverlayError SetOverlayTransformTrackedDeviceRelative( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform ) = 0; - - /** Gets the transform if it is relative to a tracked device. Returns an error if the transform is some other type. */ - virtual EVROverlayError GetOverlayTransformTrackedDeviceRelative( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform ) = 0; - - /** Sets the transform to draw the overlay on a rendermodel component mesh instead of a quad. This will only draw when the system is - * drawing the device. Overlays with this transform type cannot receive mouse events. */ - virtual EVROverlayError SetOverlayTransformTrackedDeviceComponent( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unDeviceIndex, const char *pchComponentName ) = 0; - - /** Gets the transform information when the overlay is rendering on a component. */ - virtual EVROverlayError GetOverlayTransformTrackedDeviceComponent( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t *punDeviceIndex, char *pchComponentName, uint32_t unComponentNameSize ) = 0; - - /** Gets the transform if it is relative to another overlay. Returns an error if the transform is some other type. */ - virtual vr::EVROverlayError GetOverlayTransformOverlayRelative( VROverlayHandle_t ulOverlayHandle, VROverlayHandle_t *ulOverlayHandleParent, HmdMatrix34_t *pmatParentOverlayToOverlayTransform ) = 0; - - /** Sets the transform to relative to the transform of the specified overlay. This overlays visibility will also track the parents visibility */ - virtual vr::EVROverlayError SetOverlayTransformOverlayRelative( VROverlayHandle_t ulOverlayHandle, VROverlayHandle_t ulOverlayHandleParent, const HmdMatrix34_t *pmatParentOverlayToOverlayTransform ) = 0; - - /** Shows the VR overlay. For dashboard overlays, only the Dashboard Manager is allowed to call this. */ - virtual EVROverlayError ShowOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Hides the VR overlay. For dashboard overlays, only the Dashboard Manager is allowed to call this. */ - virtual EVROverlayError HideOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Returns true if the overlay is visible. */ - virtual bool IsOverlayVisible( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Get the transform in 3d space associated with a specific 2d point in the overlay's coordinate space (where 0,0 is the lower left). -Z points out of the overlay */ - virtual EVROverlayError GetTransformForOverlayCoordinates( VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform ) = 0; - - // --------------------------------------------- - // Overlay input methods - // --------------------------------------------- - - /** Returns true and fills the event with the next event on the overlay's event queue, if there is one. - * If there are no events this method returns false. uncbVREvent should be the size in bytes of the VREvent_t struct */ - virtual bool PollNextOverlayEvent( VROverlayHandle_t ulOverlayHandle, VREvent_t *pEvent, uint32_t uncbVREvent ) = 0; - - /** Returns the current input settings for the specified overlay. */ - virtual EVROverlayError GetOverlayInputMethod( VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod *peInputMethod ) = 0; - - /** Sets the input settings for the specified overlay. */ - virtual EVROverlayError SetOverlayInputMethod( VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod eInputMethod ) = 0; - - /** Gets the mouse scaling factor that is used for mouse events. The actual texture may be a different size, but this is - * typically the size of the underlying UI in pixels. */ - virtual EVROverlayError GetOverlayMouseScale( VROverlayHandle_t ulOverlayHandle, HmdVector2_t *pvecMouseScale ) = 0; - - /** Sets the mouse scaling factor that is used for mouse events. The actual texture may be a different size, but this is - * typically the size of the underlying UI in pixels (not in world space). */ - virtual EVROverlayError SetOverlayMouseScale( VROverlayHandle_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale ) = 0; - - /** Computes the overlay-space pixel coordinates of where the ray intersects the overlay with the - * specified settings. Returns false if there is no intersection. */ - virtual bool ComputeOverlayIntersection( VROverlayHandle_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults ) = 0; - - /** Processes mouse input from the specified controller as though it were a mouse pointed at a compositor overlay with the - * specified settings. The controller is treated like a laser pointer on the -z axis. The point where the laser pointer would - * intersect with the overlay is the mouse position, the trigger is left mouse, and the track pad is right mouse. - * - * Return true if the controller is pointed at the overlay and an event was generated. */ - virtual bool HandleControllerOverlayInteractionAsMouse( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unControllerDeviceIndex ) = 0; - - /** Returns true if the specified overlay is the hover target. An overlay is the hover target when it is the last overlay "moused over" - * by the virtual mouse pointer */ - virtual bool IsHoverTargetOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Returns the current Gamepad focus overlay */ - virtual vr::VROverlayHandle_t GetGamepadFocusOverlay() = 0; - - /** Sets the current Gamepad focus overlay */ - virtual EVROverlayError SetGamepadFocusOverlay( VROverlayHandle_t ulNewFocusOverlay ) = 0; - - /** Sets an overlay's neighbor. This will also set the neighbor of the "to" overlay - * to point back to the "from" overlay. If an overlay's neighbor is set to invalid both - * ends will be cleared */ - virtual EVROverlayError SetOverlayNeighbor( EOverlayDirection eDirection, VROverlayHandle_t ulFrom, VROverlayHandle_t ulTo ) = 0; - - /** Changes the Gamepad focus from one overlay to one of its neighbors. Returns VROverlayError_NoNeighbor if there is no - * neighbor in that direction */ - virtual EVROverlayError MoveGamepadFocusToNeighbor( EOverlayDirection eDirection, VROverlayHandle_t ulFrom ) = 0; - - // --------------------------------------------- - // Overlay texture methods - // --------------------------------------------- - - /** Texture to draw for the overlay. This function can only be called by the overlay's creator or renderer process (see SetOverlayRenderingPid) . - * - * OpenGL dirty state: - * glBindTexture - */ - virtual EVROverlayError SetOverlayTexture( VROverlayHandle_t ulOverlayHandle, const Texture_t *pTexture ) = 0; - - /** Use this to tell the overlay system to release the texture set for this overlay. */ - virtual EVROverlayError ClearOverlayTexture( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Separate interface for providing the data as a stream of bytes, but there is an upper bound on data - * that can be sent. This function can only be called by the overlay's renderer process. */ - virtual EVROverlayError SetOverlayRaw( VROverlayHandle_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth ) = 0; - - /** Separate interface for providing the image through a filename: can be png or jpg, and should not be bigger than 1920x1080. - * This function can only be called by the overlay's renderer process */ - virtual EVROverlayError SetOverlayFromFile( VROverlayHandle_t ulOverlayHandle, const char *pchFilePath ) = 0; - - /** Get the native texture handle/device for an overlay you have created. - * On windows this handle will be a ID3D11ShaderResourceView with a ID3D11Texture2D bound. - * - * The texture will always be sized to match the backing texture you supplied in SetOverlayTexture above. - * - * You MUST call ReleaseNativeOverlayHandle() with pNativeTextureHandle once you are done with this texture. - * - * pNativeTextureHandle is an OUTPUT, it will be a pointer to a ID3D11ShaderResourceView *. - * pNativeTextureRef is an INPUT and should be a ID3D11Resource *. The device used by pNativeTextureRef will be used to bind pNativeTextureHandle. - */ - virtual EVROverlayError GetOverlayTexture( VROverlayHandle_t ulOverlayHandle, void **pNativeTextureHandle, void *pNativeTextureRef, uint32_t *pWidth, uint32_t *pHeight, uint32_t *pNativeFormat, ETextureType *pAPIType, EColorSpace *pColorSpace, VRTextureBounds_t *pTextureBounds ) = 0; - - /** Release the pNativeTextureHandle provided from the GetOverlayTexture call, this allows the system to free the underlying GPU resources for this object, - * so only do it once you stop rendering this texture. - */ - virtual EVROverlayError ReleaseNativeOverlayHandle( VROverlayHandle_t ulOverlayHandle, void *pNativeTextureHandle ) = 0; - - /** Get the size of the overlay texture */ - virtual EVROverlayError GetOverlayTextureSize( VROverlayHandle_t ulOverlayHandle, uint32_t *pWidth, uint32_t *pHeight ) = 0; - - // ---------------------------------------------- - // Dashboard Overlay Methods - // ---------------------------------------------- - - /** Creates a dashboard overlay and returns its handle */ - virtual EVROverlayError CreateDashboardOverlay( const char *pchOverlayKey, const char *pchOverlayFriendlyName, VROverlayHandle_t * pMainHandle, VROverlayHandle_t *pThumbnailHandle ) = 0; - - /** Returns true if the dashboard is visible */ - virtual bool IsDashboardVisible() = 0; - - /** returns true if the dashboard is visible and the specified overlay is the active system Overlay */ - virtual bool IsActiveDashboardOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Sets the dashboard overlay to only appear when the specified process ID has scene focus */ - virtual EVROverlayError SetDashboardOverlaySceneProcess( VROverlayHandle_t ulOverlayHandle, uint32_t unProcessId ) = 0; - - /** Gets the process ID that this dashboard overlay requires to have scene focus */ - virtual EVROverlayError GetDashboardOverlaySceneProcess( VROverlayHandle_t ulOverlayHandle, uint32_t *punProcessId ) = 0; - - /** Shows the dashboard. */ - virtual void ShowDashboard( const char *pchOverlayToShow ) = 0; - - /** Returns the tracked device that has the laser pointer in the dashboard */ - virtual vr::TrackedDeviceIndex_t GetPrimaryDashboardDevice() = 0; - - // --------------------------------------------- - // Keyboard methods - // --------------------------------------------- - - /** Show the virtual keyboard to accept input **/ - virtual EVROverlayError ShowKeyboard( EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, bool bUseMinimalMode, uint64_t uUserValue ) = 0; - - virtual EVROverlayError ShowKeyboardForOverlay( VROverlayHandle_t ulOverlayHandle, EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, bool bUseMinimalMode, uint64_t uUserValue ) = 0; - - /** Get the text that was entered into the text input **/ - virtual uint32_t GetKeyboardText( VR_OUT_STRING() char *pchText, uint32_t cchText ) = 0; - - /** Hide the virtual keyboard **/ - virtual void HideKeyboard() = 0; - - /** Set the position of the keyboard in world space **/ - virtual void SetKeyboardTransformAbsolute( ETrackingUniverseOrigin eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform ) = 0; - - /** Set the position of the keyboard in overlay space by telling it to avoid a rectangle in the overlay. Rectangle coords have (0,0) in the bottom left **/ - virtual void SetKeyboardPositionForOverlay( VROverlayHandle_t ulOverlayHandle, HmdRect2_t avoidRect ) = 0; - - // --------------------------------------------- - // Overlay input methods - // --------------------------------------------- - - /** Sets a list of primitives to be used for controller ray intersection - * typically the size of the underlying UI in pixels (not in world space). */ - virtual EVROverlayError SetOverlayIntersectionMask( VROverlayHandle_t ulOverlayHandle, VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize = sizeof( VROverlayIntersectionMaskPrimitive_t ) ) = 0; - - virtual EVROverlayError GetOverlayFlags( VROverlayHandle_t ulOverlayHandle, uint32_t *pFlags ) = 0; - - // --------------------------------------------- - // Message box methods - // --------------------------------------------- - - /** Show the message overlay. This will block and return you a result. **/ - virtual VRMessageOverlayResponse ShowMessageOverlay( const char* pchText, const char* pchCaption, const char* pchButton0Text, const char* pchButton1Text = nullptr, const char* pchButton2Text = nullptr, const char* pchButton3Text = nullptr ) = 0; - - /** If the calling process owns the overlay and it's open, this will close it. **/ - virtual void CloseMessageOverlay() = 0; - }; - - static const char * const IVROverlay_Version = "IVROverlay_016"; - -} // namespace vr - -// ivrrendermodels.h -namespace vr -{ - -static const char * const k_pch_Controller_Component_GDC2015 = "gdc2015"; // Canonical coordinate system of the gdc 2015 wired controller, provided for backwards compatibility -static const char * const k_pch_Controller_Component_Base = "base"; // For controllers with an unambiguous 'base'. -static const char * const k_pch_Controller_Component_Tip = "tip"; // For controllers with an unambiguous 'tip' (used for 'laser-pointing') -static const char * const k_pch_Controller_Component_HandGrip = "handgrip"; // Neutral, ambidextrous hand-pose when holding controller. On plane between neutrally posed index finger and thumb -static const char * const k_pch_Controller_Component_Status = "status"; // 1:1 aspect ratio status area, with canonical [0,1] uv mapping - -#pragma pack( push, 8 ) - -/** Errors that can occur with the VR compositor */ -enum EVRRenderModelError -{ - VRRenderModelError_None = 0, - VRRenderModelError_Loading = 100, - VRRenderModelError_NotSupported = 200, - VRRenderModelError_InvalidArg = 300, - VRRenderModelError_InvalidModel = 301, - VRRenderModelError_NoShapes = 302, - VRRenderModelError_MultipleShapes = 303, - VRRenderModelError_TooManyVertices = 304, - VRRenderModelError_MultipleTextures = 305, - VRRenderModelError_BufferTooSmall = 306, - VRRenderModelError_NotEnoughNormals = 307, - VRRenderModelError_NotEnoughTexCoords = 308, - - VRRenderModelError_InvalidTexture = 400, -}; - -typedef uint32_t VRComponentProperties; - -enum EVRComponentProperty -{ - VRComponentProperty_IsStatic = (1 << 0), - VRComponentProperty_IsVisible = (1 << 1), - VRComponentProperty_IsTouched = (1 << 2), - VRComponentProperty_IsPressed = (1 << 3), - VRComponentProperty_IsScrolled = (1 << 4), -}; - -/** Describes state information about a render-model component, including transforms and other dynamic properties */ -struct RenderModel_ComponentState_t -{ - HmdMatrix34_t mTrackingToComponentRenderModel; // Transform required when drawing the component render model - HmdMatrix34_t mTrackingToComponentLocal; // Transform available for attaching to a local component coordinate system (-Z out from surface ) - VRComponentProperties uProperties; -}; - -/** A single vertex in a render model */ -struct RenderModel_Vertex_t -{ - HmdVector3_t vPosition; // position in meters in device space - HmdVector3_t vNormal; - float rfTextureCoord[2]; -}; - -/** A texture map for use on a render model */ -#if defined(__linux__) || defined(__APPLE__) -// This structure was originally defined mis-packed on Linux, preserved for -// compatibility. -#pragma pack( push, 4 ) -#endif - -struct RenderModel_TextureMap_t -{ - uint16_t unWidth, unHeight; // width and height of the texture map in pixels - const uint8_t *rubTextureMapData; // Map texture data. All textures are RGBA with 8 bits per channel per pixel. Data size is width * height * 4ub -}; -#if defined(__linux__) || defined(__APPLE__) -#pragma pack( pop ) -#endif - -/** Session unique texture identifier. Rendermodels which share the same texture will have the same id. -IDs <0 denote the texture is not present */ - -typedef int32_t TextureID_t; - -const TextureID_t INVALID_TEXTURE_ID = -1; - -#if defined(__linux__) || defined(__APPLE__) -// This structure was originally defined mis-packed on Linux, preserved for -// compatibility. -#pragma pack( push, 4 ) -#endif - -struct RenderModel_t -{ - const RenderModel_Vertex_t *rVertexData; // Vertex data for the mesh - uint32_t unVertexCount; // Number of vertices in the vertex data - const uint16_t *rIndexData; // Indices into the vertex data for each triangle - uint32_t unTriangleCount; // Number of triangles in the mesh. Index count is 3 * TriangleCount - TextureID_t diffuseTextureId; // Session unique texture identifier. Rendermodels which share the same texture will have the same id. <0 == texture not present -}; -#if defined(__linux__) || defined(__APPLE__) -#pragma pack( pop ) -#endif - - -struct RenderModel_ControllerMode_State_t -{ - bool bScrollWheelVisible; // is this controller currently set to be in a scroll wheel mode -}; - -#pragma pack( pop ) - -class IVRRenderModels -{ -public: - - /** Loads and returns a render model for use in the application. pchRenderModelName should be a render model name - * from the Prop_RenderModelName_String property or an absolute path name to a render model on disk. - * - * The resulting render model is valid until VR_Shutdown() is called or until FreeRenderModel() is called. When the - * application is finished with the render model it should call FreeRenderModel() to free the memory associated - * with the model. - * - * The method returns VRRenderModelError_Loading while the render model is still being loaded. - * The method returns VRRenderModelError_None once loaded successfully, otherwise will return an error. */ - virtual EVRRenderModelError LoadRenderModel_Async( const char *pchRenderModelName, RenderModel_t **ppRenderModel ) = 0; - - /** Frees a previously returned render model - * It is safe to call this on a null ptr. */ - virtual void FreeRenderModel( RenderModel_t *pRenderModel ) = 0; - - /** Loads and returns a texture for use in the application. */ - virtual EVRRenderModelError LoadTexture_Async( TextureID_t textureId, RenderModel_TextureMap_t **ppTexture ) = 0; - - /** Frees a previously returned texture - * It is safe to call this on a null ptr. */ - virtual void FreeTexture( RenderModel_TextureMap_t *pTexture ) = 0; - - /** Creates a D3D11 texture and loads data into it. */ - virtual EVRRenderModelError LoadTextureD3D11_Async( TextureID_t textureId, void *pD3D11Device, void **ppD3D11Texture2D ) = 0; - - /** Helper function to copy the bits into an existing texture. */ - virtual EVRRenderModelError LoadIntoTextureD3D11_Async( TextureID_t textureId, void *pDstTexture ) = 0; - - /** Use this to free textures created with LoadTextureD3D11_Async instead of calling Release on them. */ - virtual void FreeTextureD3D11( void *pD3D11Texture2D ) = 0; - - /** Use this to get the names of available render models. Index does not correlate to a tracked device index, but - * is only used for iterating over all available render models. If the index is out of range, this function will return 0. - * Otherwise, it will return the size of the buffer required for the name. */ - virtual uint32_t GetRenderModelName( uint32_t unRenderModelIndex, VR_OUT_STRING() char *pchRenderModelName, uint32_t unRenderModelNameLen ) = 0; - - /** Returns the number of available render models. */ - virtual uint32_t GetRenderModelCount() = 0; - - - /** Returns the number of components of the specified render model. - * Components are useful when client application wish to draw, label, or otherwise interact with components of tracked objects. - * Examples controller components: - * renderable things such as triggers, buttons - * non-renderable things which include coordinate systems such as 'tip', 'base', a neutral controller agnostic hand-pose - * If all controller components are enumerated and rendered, it will be equivalent to drawing the traditional render model - * Returns 0 if components not supported, >0 otherwise */ - virtual uint32_t GetComponentCount( const char *pchRenderModelName ) = 0; - - /** Use this to get the names of available components. Index does not correlate to a tracked device index, but - * is only used for iterating over all available components. If the index is out of range, this function will return 0. - * Otherwise, it will return the size of the buffer required for the name. */ - virtual uint32_t GetComponentName( const char *pchRenderModelName, uint32_t unComponentIndex, VR_OUT_STRING( ) char *pchComponentName, uint32_t unComponentNameLen ) = 0; - - /** Get the button mask for all buttons associated with this component - * If no buttons (or axes) are associated with this component, return 0 - * Note: multiple components may be associated with the same button. Ex: two grip buttons on a single controller. - * Note: A single component may be associated with multiple buttons. Ex: A trackpad which also provides "D-pad" functionality */ - virtual uint64_t GetComponentButtonMask( const char *pchRenderModelName, const char *pchComponentName ) = 0; - - /** Use this to get the render model name for the specified rendermode/component combination, to be passed to LoadRenderModel. - * If the component name is out of range, this function will return 0. - * Otherwise, it will return the size of the buffer required for the name. */ - virtual uint32_t GetComponentRenderModelName( const char *pchRenderModelName, const char *pchComponentName, VR_OUT_STRING( ) char *pchComponentRenderModelName, uint32_t unComponentRenderModelNameLen ) = 0; - - /** Use this to query information about the component, as a function of the controller state. - * - * For dynamic controller components (ex: trigger) values will reflect component motions - * For static components this will return a consistent value independent of the VRControllerState_t - * - * If the pchRenderModelName or pchComponentName is invalid, this will return false (and transforms will be set to identity). - * Otherwise, return true - * Note: For dynamic objects, visibility may be dynamic. (I.e., true/false will be returned based on controller state and controller mode state ) */ - virtual bool GetComponentState( const char *pchRenderModelName, const char *pchComponentName, const vr::VRControllerState_t *pControllerState, const RenderModel_ControllerMode_State_t *pState, RenderModel_ComponentState_t *pComponentState ) = 0; - - /** Returns true if the render model has a component with the specified name */ - virtual bool RenderModelHasComponent( const char *pchRenderModelName, const char *pchComponentName ) = 0; - - /** Returns the URL of the thumbnail image for this rendermodel */ - virtual uint32_t GetRenderModelThumbnailURL( const char *pchRenderModelName, VR_OUT_STRING() char *pchThumbnailURL, uint32_t unThumbnailURLLen, vr::EVRRenderModelError *peError ) = 0; - - /** Provides a render model path that will load the unskinned model if the model name provided has been replace by the user. If the model - * hasn't been replaced the path value will still be a valid path to load the model. Pass this to LoadRenderModel_Async, etc. to load the - * model. */ - virtual uint32_t GetRenderModelOriginalPath( const char *pchRenderModelName, VR_OUT_STRING() char *pchOriginalPath, uint32_t unOriginalPathLen, vr::EVRRenderModelError *peError ) = 0; - - /** Returns a string for a render model error */ - virtual const char *GetRenderModelErrorNameFromEnum( vr::EVRRenderModelError error ) = 0; -}; - -static const char * const IVRRenderModels_Version = "IVRRenderModels_005"; - -} - - -// ivrextendeddisplay.h -namespace vr -{ - - /** NOTE: Use of this interface is not recommended in production applications. It will not work for displays which use - * direct-to-display mode. Creating our own window is also incompatible with the VR compositor and is not available when the compositor is running. */ - class IVRExtendedDisplay - { - public: - - /** Size and position that the window needs to be on the VR display. */ - virtual void GetWindowBounds( int32_t *pnX, int32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; - - /** Gets the viewport in the frame buffer to draw the output of the distortion into */ - virtual void GetEyeOutputViewport( EVREye eEye, uint32_t *pnX, uint32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; - - /** [D3D10/11 Only] - * Returns the adapter index and output index that the user should pass into EnumAdapters and EnumOutputs - * to create the device and swap chain in DX10 and DX11. If an error occurs both indices will be set to -1. - */ - virtual void GetDXGIOutputInfo( int32_t *pnAdapterIndex, int32_t *pnAdapterOutputIndex ) = 0; - - }; - - static const char * const IVRExtendedDisplay_Version = "IVRExtendedDisplay_001"; - -} - - -// ivrtrackedcamera.h -namespace vr -{ - -class IVRTrackedCamera -{ -public: - /** Returns a string for an error */ - virtual const char *GetCameraErrorNameFromEnum( vr::EVRTrackedCameraError eCameraError ) = 0; - - /** For convenience, same as tracked property request Prop_HasCamera_Bool */ - virtual vr::EVRTrackedCameraError HasCamera( vr::TrackedDeviceIndex_t nDeviceIndex, bool *pHasCamera ) = 0; - - /** Gets size of the image frame. */ - virtual vr::EVRTrackedCameraError GetCameraFrameSize( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, uint32_t *pnWidth, uint32_t *pnHeight, uint32_t *pnFrameBufferSize ) = 0; - - virtual vr::EVRTrackedCameraError GetCameraIntrinsics( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, vr::HmdVector2_t *pFocalLength, vr::HmdVector2_t *pCenter ) = 0; - - virtual vr::EVRTrackedCameraError GetCameraProjection( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, float flZNear, float flZFar, vr::HmdMatrix44_t *pProjection ) = 0; - - /** Acquiring streaming service permits video streaming for the caller. Releasing hints the system that video services do not need to be maintained for this client. - * If the camera has not already been activated, a one time spin up may incur some auto exposure as well as initial streaming frame delays. - * The camera should be considered a global resource accessible for shared consumption but not exclusive to any caller. - * The camera may go inactive due to lack of active consumers or headset idleness. */ - virtual vr::EVRTrackedCameraError AcquireVideoStreamingService( vr::TrackedDeviceIndex_t nDeviceIndex, vr::TrackedCameraHandle_t *pHandle ) = 0; - virtual vr::EVRTrackedCameraError ReleaseVideoStreamingService( vr::TrackedCameraHandle_t hTrackedCamera ) = 0; - - /** Copies the image frame into a caller's provided buffer. The image data is currently provided as RGBA data, 4 bytes per pixel. - * A caller can provide null for the framebuffer or frameheader if not desired. Requesting the frame header first, followed by the frame buffer allows - * the caller to determine if the frame as advanced per the frame header sequence. - * If there is no frame available yet, due to initial camera spinup or re-activation, the error will be VRTrackedCameraError_NoFrameAvailable. - * Ideally a caller should be polling at ~16ms intervals */ - virtual vr::EVRTrackedCameraError GetVideoStreamFrameBuffer( vr::TrackedCameraHandle_t hTrackedCamera, vr::EVRTrackedCameraFrameType eFrameType, void *pFrameBuffer, uint32_t nFrameBufferSize, vr::CameraVideoStreamFrameHeader_t *pFrameHeader, uint32_t nFrameHeaderSize ) = 0; - - /** Gets size of the image frame. */ - virtual vr::EVRTrackedCameraError GetVideoStreamTextureSize( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, vr::VRTextureBounds_t *pTextureBounds, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; - - /** Access a shared D3D11 texture for the specified tracked camera stream. - * The camera frame type VRTrackedCameraFrameType_Undistorted is not supported directly as a shared texture. It is an interior subregion of the shared texture VRTrackedCameraFrameType_MaximumUndistorted. - * Instead, use GetVideoStreamTextureSize() with VRTrackedCameraFrameType_Undistorted to determine the proper interior subregion bounds along with GetVideoStreamTextureD3D11() with - * VRTrackedCameraFrameType_MaximumUndistorted to provide the texture. The VRTrackedCameraFrameType_MaximumUndistorted will yield an image where the invalid regions are decoded - * by the alpha channel having a zero component. The valid regions all have a non-zero alpha component. The subregion as described by VRTrackedCameraFrameType_Undistorted - * guarantees a rectangle where all pixels are valid. */ - virtual vr::EVRTrackedCameraError GetVideoStreamTextureD3D11( vr::TrackedCameraHandle_t hTrackedCamera, vr::EVRTrackedCameraFrameType eFrameType, void *pD3D11DeviceOrResource, void **ppD3D11ShaderResourceView, vr::CameraVideoStreamFrameHeader_t *pFrameHeader, uint32_t nFrameHeaderSize ) = 0; - - /** Access a shared GL texture for the specified tracked camera stream */ - virtual vr::EVRTrackedCameraError GetVideoStreamTextureGL( vr::TrackedCameraHandle_t hTrackedCamera, vr::EVRTrackedCameraFrameType eFrameType, vr::glUInt_t *pglTextureId, vr::CameraVideoStreamFrameHeader_t *pFrameHeader, uint32_t nFrameHeaderSize ) = 0; - virtual vr::EVRTrackedCameraError ReleaseVideoStreamTextureGL( vr::TrackedCameraHandle_t hTrackedCamera, vr::glUInt_t glTextureId ) = 0; -}; - -static const char * const IVRTrackedCamera_Version = "IVRTrackedCamera_003"; - -} // namespace vr - - -// ivrscreenshots.h -namespace vr -{ - -/** Errors that can occur with the VR compositor */ -enum EVRScreenshotError -{ - VRScreenshotError_None = 0, - VRScreenshotError_RequestFailed = 1, - VRScreenshotError_IncompatibleVersion = 100, - VRScreenshotError_NotFound = 101, - VRScreenshotError_BufferTooSmall = 102, - VRScreenshotError_ScreenshotAlreadyInProgress = 108, -}; - -/** Allows the application to generate screenshots */ -class IVRScreenshots -{ -public: - /** Request a screenshot of the requested type. - * A request of the VRScreenshotType_Stereo type will always - * work. Other types will depend on the underlying application - * support. - * The first file name is for the preview image and should be a - * regular screenshot (ideally from the left eye). The second - * is the VR screenshot in the correct format. They should be - * in the same aspect ratio. Formats per type: - * VRScreenshotType_Mono: the VR filename is ignored (can be - * nullptr), this is a normal flat single shot. - * VRScreenshotType_Stereo: The VR image should be a - * side-by-side with the left eye image on the left. - * VRScreenshotType_Cubemap: The VR image should be six square - * images composited horizontally. - * VRScreenshotType_StereoPanorama: above/below with left eye - * panorama being the above image. Image is typically square - * with the panorama being 2x horizontal. - * - * Note that the VR dashboard will call this function when - * the user presses the screenshot binding (currently System - * Button + Trigger). If Steam is running, the destination - * file names will be in %TEMP% and will be copied into - * Steam's screenshot library for the running application - * once SubmitScreenshot() is called. - * If Steam is not running, the paths will be in the user's - * documents folder under Documents\SteamVR\Screenshots. - * Other VR applications can call this to initiate a - * screenshot outside of user control. - * The destination file names do not need an extension, - * will be replaced with the correct one for the format - * which is currently .png. */ - virtual vr::EVRScreenshotError RequestScreenshot( vr::ScreenshotHandle_t *pOutScreenshotHandle, vr::EVRScreenshotType type, const char *pchPreviewFilename, const char *pchVRFilename ) = 0; - - /** Called by the running VR application to indicate that it - * wishes to be in charge of screenshots. If the - * application does not call this, the Compositor will only - * support VRScreenshotType_Stereo screenshots that will be - * captured without notification to the running app. - * Once hooked your application will receive a - * VREvent_RequestScreenshot event when the user presses the - * buttons to take a screenshot. */ - virtual vr::EVRScreenshotError HookScreenshot( VR_ARRAY_COUNT( numTypes ) const vr::EVRScreenshotType *pSupportedTypes, int numTypes ) = 0; - - /** When your application receives a - * VREvent_RequestScreenshot event, call these functions to get - * the details of the screenshot request. */ - virtual vr::EVRScreenshotType GetScreenshotPropertyType( vr::ScreenshotHandle_t screenshotHandle, vr::EVRScreenshotError *pError ) = 0; - - /** Get the filename for the preview or vr image (see - * vr::EScreenshotPropertyFilenames). The return value is - * the size of the string. */ - virtual uint32_t GetScreenshotPropertyFilename( vr::ScreenshotHandle_t screenshotHandle, vr::EVRScreenshotPropertyFilenames filenameType, VR_OUT_STRING() char *pchFilename, uint32_t cchFilename, vr::EVRScreenshotError *pError ) = 0; - - /** Call this if the application is taking the screen shot - * will take more than a few ms processing. This will result - * in an overlay being presented that shows a completion - * bar. */ - virtual vr::EVRScreenshotError UpdateScreenshotProgress( vr::ScreenshotHandle_t screenshotHandle, float flProgress ) = 0; - - /** Tells the compositor to take an internal screenshot of - * type VRScreenshotType_Stereo. It will take the current - * submitted scene textures of the running application and - * write them into the preview image and a side-by-side file - * for the VR image. - * This is similar to request screenshot, but doesn't ever - * talk to the application, just takes the shot and submits. */ - virtual vr::EVRScreenshotError TakeStereoScreenshot( vr::ScreenshotHandle_t *pOutScreenshotHandle, const char *pchPreviewFilename, const char *pchVRFilename ) = 0; - - /** Submit the completed screenshot. If Steam is running - * this will call into the Steam client and upload the - * screenshot to the screenshots section of the library for - * the running application. If Steam is not running, this - * function will display a notification to the user that the - * screenshot was taken. The paths should be full paths with - * extensions. - * File paths should be absolute including extensions. - * screenshotHandle can be k_unScreenshotHandleInvalid if this - * was a new shot taking by the app to be saved and not - * initiated by a user (achievement earned or something) */ - virtual vr::EVRScreenshotError SubmitScreenshot( vr::ScreenshotHandle_t screenshotHandle, vr::EVRScreenshotType type, const char *pchSourcePreviewFilename, const char *pchSourceVRFilename ) = 0; -}; - -static const char * const IVRScreenshots_Version = "IVRScreenshots_001"; - -} // namespace vr - - - -// ivrresources.h -namespace vr -{ - -class IVRResources -{ -public: - - // ------------------------------------ - // Shared Resource Methods - // ------------------------------------ - - /** Loads the specified resource into the provided buffer if large enough. - * Returns the size in bytes of the buffer required to hold the specified resource. */ - virtual uint32_t LoadSharedResource( const char *pchResourceName, char *pchBuffer, uint32_t unBufferLen ) = 0; - - /** Provides the full path to the specified resource. Resource names can include named directories for - * drivers and other things, and this resolves all of those and returns the actual physical path. - * pchResourceTypeDirectory is the subdirectory of resources to look in. */ - virtual uint32_t GetResourceFullPath( const char *pchResourceName, const char *pchResourceTypeDirectory, char *pchPathBuffer, uint32_t unBufferLen ) = 0; -}; - -static const char * const IVRResources_Version = "IVRResources_001"; - - -} -// ivrdrivermanager.h -namespace vr -{ - -class IVRDriverManager -{ -public: - virtual uint32_t GetDriverCount() const = 0; - - /** Returns the length of the number of bytes necessary to hold this string including the trailing null. */ - virtual uint32_t GetDriverName( vr::DriverId_t nDriver, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize ) = 0; -}; - -static const char * const IVRDriverManager_Version = "IVRDriverManager_001"; - -} // namespace vr - - -// End - -#endif // _OPENVR_API - - -namespace vr -{ - /** Finds the active installation of the VR API and initializes it. The provided path must be absolute - * or relative to the current working directory. These are the local install versions of the equivalent - * functions in steamvr.h and will work without a local Steam install. - * - * This path is to the "root" of the VR API install. That's the directory with - * the "drivers" directory and a platform (i.e. "win32") directory in it, not the directory with the DLL itself. - * - * pStartupInfo is reserved for future use. - */ - inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType, const char *pStartupInfo = nullptr ); - - /** unloads vrclient.dll. Any interface pointers from the interface are - * invalid after this point */ - inline void VR_Shutdown(); - - /** Returns true if there is an HMD attached. This check is as lightweight as possible and - * can be called outside of VR_Init/VR_Shutdown. It should be used when an application wants - * to know if initializing VR is a possibility but isn't ready to take that step yet. - */ - VR_INTERFACE bool VR_CALLTYPE VR_IsHmdPresent(); - - /** Returns true if the OpenVR runtime is installed. */ - VR_INTERFACE bool VR_CALLTYPE VR_IsRuntimeInstalled(); - - /** Returns where the OpenVR runtime is installed. */ - VR_INTERFACE const char *VR_CALLTYPE VR_RuntimePath(); - - /** Returns the name of the enum value for an EVRInitError. This function may be called outside of VR_Init()/VR_Shutdown(). */ - VR_INTERFACE const char *VR_CALLTYPE VR_GetVRInitErrorAsSymbol( EVRInitError error ); - - /** Returns an English string for an EVRInitError. Applications should call VR_GetVRInitErrorAsSymbol instead and - * use that as a key to look up their own localized error message. This function may be called outside of VR_Init()/VR_Shutdown(). */ - VR_INTERFACE const char *VR_CALLTYPE VR_GetVRInitErrorAsEnglishDescription( EVRInitError error ); - - /** Returns the interface of the specified version. This method must be called after VR_Init. The - * pointer returned is valid until VR_Shutdown is called. - */ - VR_INTERFACE void *VR_CALLTYPE VR_GetGenericInterface( const char *pchInterfaceVersion, EVRInitError *peError ); - - /** Returns whether the interface of the specified version exists. - */ - VR_INTERFACE bool VR_CALLTYPE VR_IsInterfaceVersionValid( const char *pchInterfaceVersion ); - - /** Returns a token that represents whether the VR interface handles need to be reloaded */ - VR_INTERFACE uint32_t VR_CALLTYPE VR_GetInitToken(); - - // These typedefs allow old enum names from SDK 0.9.11 to be used in applications. - // They will go away in the future. - typedef EVRInitError HmdError; - typedef EVREye Hmd_Eye; - typedef EColorSpace ColorSpace; - typedef ETrackingResult HmdTrackingResult; - typedef ETrackedDeviceClass TrackedDeviceClass; - typedef ETrackingUniverseOrigin TrackingUniverseOrigin; - typedef ETrackedDeviceProperty TrackedDeviceProperty; - typedef ETrackedPropertyError TrackedPropertyError; - typedef EVRSubmitFlags VRSubmitFlags_t; - typedef EVRState VRState_t; - typedef ECollisionBoundsStyle CollisionBoundsStyle_t; - typedef EVROverlayError VROverlayError; - typedef EVRFirmwareError VRFirmwareError; - typedef EVRCompositorError VRCompositorError; - typedef EVRScreenshotError VRScreenshotsError; - - inline uint32_t &VRToken() - { - static uint32_t token; - return token; - } - - class COpenVRContext - { - public: - COpenVRContext() { Clear(); } - void Clear(); - - inline void CheckClear() - { - if ( VRToken() != VR_GetInitToken() ) - { - Clear(); - VRToken() = VR_GetInitToken(); - } - } - - IVRSystem *VRSystem() - { - CheckClear(); - if ( m_pVRSystem == nullptr ) - { - EVRInitError eError; - m_pVRSystem = ( IVRSystem * )VR_GetGenericInterface( IVRSystem_Version, &eError ); - } - return m_pVRSystem; - } - IVRChaperone *VRChaperone() - { - CheckClear(); - if ( m_pVRChaperone == nullptr ) - { - EVRInitError eError; - m_pVRChaperone = ( IVRChaperone * )VR_GetGenericInterface( IVRChaperone_Version, &eError ); - } - return m_pVRChaperone; - } - - IVRChaperoneSetup *VRChaperoneSetup() - { - CheckClear(); - if ( m_pVRChaperoneSetup == nullptr ) - { - EVRInitError eError; - m_pVRChaperoneSetup = ( IVRChaperoneSetup * )VR_GetGenericInterface( IVRChaperoneSetup_Version, &eError ); - } - return m_pVRChaperoneSetup; - } - - IVRCompositor *VRCompositor() - { - CheckClear(); - if ( m_pVRCompositor == nullptr ) - { - EVRInitError eError; - m_pVRCompositor = ( IVRCompositor * )VR_GetGenericInterface( IVRCompositor_Version, &eError ); - } - return m_pVRCompositor; - } - - IVROverlay *VROverlay() - { - CheckClear(); - if ( m_pVROverlay == nullptr ) - { - EVRInitError eError; - m_pVROverlay = ( IVROverlay * )VR_GetGenericInterface( IVROverlay_Version, &eError ); - } - return m_pVROverlay; - } - - IVRResources *VRResources() - { - CheckClear(); - if ( m_pVRResources == nullptr ) - { - EVRInitError eError; - m_pVRResources = (IVRResources *)VR_GetGenericInterface( IVRResources_Version, &eError ); - } - return m_pVRResources; - } - - IVRScreenshots *VRScreenshots() - { - CheckClear(); - if ( m_pVRScreenshots == nullptr ) - { - EVRInitError eError; - m_pVRScreenshots = ( IVRScreenshots * )VR_GetGenericInterface( IVRScreenshots_Version, &eError ); - } - return m_pVRScreenshots; - } - - IVRRenderModels *VRRenderModels() - { - CheckClear(); - if ( m_pVRRenderModels == nullptr ) - { - EVRInitError eError; - m_pVRRenderModels = ( IVRRenderModels * )VR_GetGenericInterface( IVRRenderModels_Version, &eError ); - } - return m_pVRRenderModels; - } - - IVRExtendedDisplay *VRExtendedDisplay() - { - CheckClear(); - if ( m_pVRExtendedDisplay == nullptr ) - { - EVRInitError eError; - m_pVRExtendedDisplay = ( IVRExtendedDisplay * )VR_GetGenericInterface( IVRExtendedDisplay_Version, &eError ); - } - return m_pVRExtendedDisplay; - } - - IVRSettings *VRSettings() - { - CheckClear(); - if ( m_pVRSettings == nullptr ) - { - EVRInitError eError; - m_pVRSettings = ( IVRSettings * )VR_GetGenericInterface( IVRSettings_Version, &eError ); - } - return m_pVRSettings; - } - - IVRApplications *VRApplications() - { - CheckClear(); - if ( m_pVRApplications == nullptr ) - { - EVRInitError eError; - m_pVRApplications = ( IVRApplications * )VR_GetGenericInterface( IVRApplications_Version, &eError ); - } - return m_pVRApplications; - } - - IVRTrackedCamera *VRTrackedCamera() - { - CheckClear(); - if ( m_pVRTrackedCamera == nullptr ) - { - EVRInitError eError; - m_pVRTrackedCamera = ( IVRTrackedCamera * )VR_GetGenericInterface( IVRTrackedCamera_Version, &eError ); - } - return m_pVRTrackedCamera; - } - - IVRDriverManager *VRDriverManager() - { - CheckClear(); - if ( !m_pVRDriverManager ) - { - EVRInitError eError; - m_pVRDriverManager = ( IVRDriverManager * )VR_GetGenericInterface( IVRDriverManager_Version, &eError ); - } - return m_pVRDriverManager; - } - - private: - IVRSystem *m_pVRSystem; - IVRChaperone *m_pVRChaperone; - IVRChaperoneSetup *m_pVRChaperoneSetup; - IVRCompositor *m_pVRCompositor; - IVROverlay *m_pVROverlay; - IVRResources *m_pVRResources; - IVRRenderModels *m_pVRRenderModels; - IVRExtendedDisplay *m_pVRExtendedDisplay; - IVRSettings *m_pVRSettings; - IVRApplications *m_pVRApplications; - IVRTrackedCamera *m_pVRTrackedCamera; - IVRScreenshots *m_pVRScreenshots; - IVRDriverManager *m_pVRDriverManager; - }; - - inline COpenVRContext &OpenVRInternal_ModuleContext() - { - static void *ctx[ sizeof( COpenVRContext ) / sizeof( void * ) ]; - return *( COpenVRContext * )ctx; // bypass zero-init constructor - } - - inline IVRSystem *VR_CALLTYPE VRSystem() { return OpenVRInternal_ModuleContext().VRSystem(); } - inline IVRChaperone *VR_CALLTYPE VRChaperone() { return OpenVRInternal_ModuleContext().VRChaperone(); } - inline IVRChaperoneSetup *VR_CALLTYPE VRChaperoneSetup() { return OpenVRInternal_ModuleContext().VRChaperoneSetup(); } - inline IVRCompositor *VR_CALLTYPE VRCompositor() { return OpenVRInternal_ModuleContext().VRCompositor(); } - inline IVROverlay *VR_CALLTYPE VROverlay() { return OpenVRInternal_ModuleContext().VROverlay(); } - inline IVRScreenshots *VR_CALLTYPE VRScreenshots() { return OpenVRInternal_ModuleContext().VRScreenshots(); } - inline IVRRenderModels *VR_CALLTYPE VRRenderModels() { return OpenVRInternal_ModuleContext().VRRenderModels(); } - inline IVRApplications *VR_CALLTYPE VRApplications() { return OpenVRInternal_ModuleContext().VRApplications(); } - inline IVRSettings *VR_CALLTYPE VRSettings() { return OpenVRInternal_ModuleContext().VRSettings(); } - inline IVRResources *VR_CALLTYPE VRResources() { return OpenVRInternal_ModuleContext().VRResources(); } - inline IVRExtendedDisplay *VR_CALLTYPE VRExtendedDisplay() { return OpenVRInternal_ModuleContext().VRExtendedDisplay(); } - inline IVRTrackedCamera *VR_CALLTYPE VRTrackedCamera() { return OpenVRInternal_ModuleContext().VRTrackedCamera(); } - inline IVRDriverManager *VR_CALLTYPE VRDriverManager() { return OpenVRInternal_ModuleContext().VRDriverManager(); } - - inline void COpenVRContext::Clear() - { - m_pVRSystem = nullptr; - m_pVRChaperone = nullptr; - m_pVRChaperoneSetup = nullptr; - m_pVRCompositor = nullptr; - m_pVROverlay = nullptr; - m_pVRRenderModels = nullptr; - m_pVRExtendedDisplay = nullptr; - m_pVRSettings = nullptr; - m_pVRApplications = nullptr; - m_pVRTrackedCamera = nullptr; - m_pVRResources = nullptr; - m_pVRScreenshots = nullptr; - m_pVRDriverManager = nullptr; - } - - VR_INTERFACE uint32_t VR_CALLTYPE VR_InitInternal2( EVRInitError *peError, EVRApplicationType eApplicationType, const char *pStartupInfo ); - VR_INTERFACE void VR_CALLTYPE VR_ShutdownInternal(); - - /** Finds the active installation of vrclient.dll and initializes it */ - inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType, const char *pStartupInfo ) - { - IVRSystem *pVRSystem = nullptr; - - EVRInitError eError; - VRToken() = VR_InitInternal2( &eError, eApplicationType, pStartupInfo ); - COpenVRContext &ctx = OpenVRInternal_ModuleContext(); - ctx.Clear(); - - if ( eError == VRInitError_None ) - { - if ( VR_IsInterfaceVersionValid( IVRSystem_Version ) ) - { - pVRSystem = VRSystem(); - } - else - { - VR_ShutdownInternal(); - eError = VRInitError_Init_InterfaceNotFound; - } - } - - if ( peError ) - *peError = eError; - return pVRSystem; - } - - /** unloads vrclient.dll. Any interface pointers from the interface are - * invalid after this point */ - inline void VR_Shutdown() - { - VR_ShutdownInternal(); - } -} diff --git a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_api.cs b/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_api.cs deleted file mode 100644 index 393a917..0000000 --- a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_api.cs +++ /dev/null @@ -1,5052 +0,0 @@ -//======= Copyright (c) Valve Corporation, All rights reserved. =============== -// -// Purpose: This file contains C#/managed code bindings for the OpenVR interfaces -// This file is auto-generated, do not edit it. -// -//============================================================================= - -using System; -using System.Runtime.InteropServices; -using Valve.VR; - -namespace Valve.VR -{ - -[StructLayout(LayoutKind.Sequential)] -public struct IVRSystem -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetRecommendedRenderTargetSize(ref uint pnWidth, ref uint pnHeight); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetRecommendedRenderTargetSize GetRecommendedRenderTargetSize; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate HmdMatrix44_t _GetProjectionMatrix(EVREye eEye, float fNearZ, float fFarZ); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetProjectionMatrix GetProjectionMatrix; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetProjectionRaw(EVREye eEye, ref float pfLeft, ref float pfRight, ref float pfTop, ref float pfBottom); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetProjectionRaw GetProjectionRaw; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _ComputeDistortion(EVREye eEye, float fU, float fV, ref DistortionCoordinates_t pDistortionCoordinates); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ComputeDistortion ComputeDistortion; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate HmdMatrix34_t _GetEyeToHeadTransform(EVREye eEye); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetEyeToHeadTransform GetEyeToHeadTransform; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetTimeSinceLastVsync(ref float pfSecondsSinceLastVsync, ref ulong pulFrameCounter); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetTimeSinceLastVsync GetTimeSinceLastVsync; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate int _GetD3D9AdapterIndex(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetD3D9AdapterIndex GetD3D9AdapterIndex; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetDXGIOutputInfo(ref int pnAdapterIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetDXGIOutputInfo GetDXGIOutputInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetOutputDevice(ref ulong pnDevice, ETextureType textureType, IntPtr pInstance); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOutputDevice GetOutputDevice; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsDisplayOnDesktop(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsDisplayOnDesktop IsDisplayOnDesktop; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _SetDisplayVisibility(bool bIsVisibleOnDesktop); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetDisplayVisibility SetDisplayVisibility; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetDeviceToAbsoluteTrackingPose(ETrackingUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow, [In, Out] TrackedDevicePose_t[] pTrackedDevicePoseArray, uint unTrackedDevicePoseArrayCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetDeviceToAbsoluteTrackingPose GetDeviceToAbsoluteTrackingPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ResetSeatedZeroPose(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ResetSeatedZeroPose ResetSeatedZeroPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate HmdMatrix34_t _GetSeatedZeroPoseToStandingAbsoluteTrackingPose(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetSeatedZeroPoseToStandingAbsoluteTrackingPose GetSeatedZeroPoseToStandingAbsoluteTrackingPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate HmdMatrix34_t _GetRawZeroPoseToStandingAbsoluteTrackingPose(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetRawZeroPoseToStandingAbsoluteTrackingPose GetRawZeroPoseToStandingAbsoluteTrackingPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetSortedTrackedDeviceIndicesOfClass(ETrackedDeviceClass eTrackedDeviceClass, [In, Out] uint[] punTrackedDeviceIndexArray, uint unTrackedDeviceIndexArrayCount, uint unRelativeToTrackedDeviceIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetSortedTrackedDeviceIndicesOfClass GetSortedTrackedDeviceIndicesOfClass; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EDeviceActivityLevel _GetTrackedDeviceActivityLevel(uint unDeviceId); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetTrackedDeviceActivityLevel GetTrackedDeviceActivityLevel; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ApplyTransform(ref TrackedDevicePose_t pOutputPose, ref TrackedDevicePose_t pTrackedDevicePose, ref HmdMatrix34_t pTransform); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ApplyTransform ApplyTransform; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetTrackedDeviceIndexForControllerRole(ETrackedControllerRole unDeviceType); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetTrackedDeviceIndexForControllerRole GetTrackedDeviceIndexForControllerRole; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ETrackedControllerRole _GetControllerRoleForTrackedDeviceIndex(uint unDeviceIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetControllerRoleForTrackedDeviceIndex GetControllerRoleForTrackedDeviceIndex; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ETrackedDeviceClass _GetTrackedDeviceClass(uint unDeviceIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetTrackedDeviceClass GetTrackedDeviceClass; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsTrackedDeviceConnected(uint unDeviceIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsTrackedDeviceConnected IsTrackedDeviceConnected; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetBoolTrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetBoolTrackedDeviceProperty GetBoolTrackedDeviceProperty; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate float _GetFloatTrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetFloatTrackedDeviceProperty GetFloatTrackedDeviceProperty; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate int _GetInt32TrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetInt32TrackedDeviceProperty GetInt32TrackedDeviceProperty; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ulong _GetUint64TrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetUint64TrackedDeviceProperty GetUint64TrackedDeviceProperty; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate HmdMatrix34_t _GetMatrix34TrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetMatrix34TrackedDeviceProperty GetMatrix34TrackedDeviceProperty; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetStringTrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, System.Text.StringBuilder pchValue, uint unBufferSize, ref ETrackedPropertyError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetStringTrackedDeviceProperty GetStringTrackedDeviceProperty; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetPropErrorNameFromEnum(ETrackedPropertyError error); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetPropErrorNameFromEnum GetPropErrorNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _PollNextEvent(ref VREvent_t pEvent, uint uncbVREvent); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _PollNextEvent PollNextEvent; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _PollNextEventWithPose(ETrackingUniverseOrigin eOrigin, ref VREvent_t pEvent, uint uncbVREvent, ref TrackedDevicePose_t pTrackedDevicePose); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _PollNextEventWithPose PollNextEventWithPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetEventTypeNameFromEnum(EVREventType eType); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetEventTypeNameFromEnum GetEventTypeNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate HiddenAreaMesh_t _GetHiddenAreaMesh(EVREye eEye, EHiddenAreaMeshType type); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetHiddenAreaMesh GetHiddenAreaMesh; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetControllerState(uint unControllerDeviceIndex, ref VRControllerState_t pControllerState, uint unControllerStateSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetControllerState GetControllerState; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetControllerStateWithPose(ETrackingUniverseOrigin eOrigin, uint unControllerDeviceIndex, ref VRControllerState_t pControllerState, uint unControllerStateSize, ref TrackedDevicePose_t pTrackedDevicePose); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetControllerStateWithPose GetControllerStateWithPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _TriggerHapticPulse(uint unControllerDeviceIndex, uint unAxisId, char usDurationMicroSec); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _TriggerHapticPulse TriggerHapticPulse; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetButtonIdNameFromEnum(EVRButtonId eButtonId); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetButtonIdNameFromEnum GetButtonIdNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetControllerAxisTypeNameFromEnum(EVRControllerAxisType eAxisType); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetControllerAxisTypeNameFromEnum GetControllerAxisTypeNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _CaptureInputFocus(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CaptureInputFocus CaptureInputFocus; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ReleaseInputFocus(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReleaseInputFocus ReleaseInputFocus; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsInputFocusCapturedByAnotherProcess(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsInputFocusCapturedByAnotherProcess IsInputFocusCapturedByAnotherProcess; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _DriverDebugRequest(uint unDeviceIndex, string pchRequest, string pchResponseBuffer, uint unResponseBufferSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _DriverDebugRequest DriverDebugRequest; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRFirmwareError _PerformFirmwareUpdate(uint unDeviceIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _PerformFirmwareUpdate PerformFirmwareUpdate; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _AcknowledgeQuit_Exiting(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _AcknowledgeQuit_Exiting AcknowledgeQuit_Exiting; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _AcknowledgeQuit_UserPrompt(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _AcknowledgeQuit_UserPrompt AcknowledgeQuit_UserPrompt; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRExtendedDisplay -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetWindowBounds(ref int pnX, ref int pnY, ref uint pnWidth, ref uint pnHeight); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetWindowBounds GetWindowBounds; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetEyeOutputViewport(EVREye eEye, ref uint pnX, ref uint pnY, ref uint pnWidth, ref uint pnHeight); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetEyeOutputViewport GetEyeOutputViewport; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetDXGIOutputInfo(ref int pnAdapterIndex, ref int pnAdapterOutputIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetDXGIOutputInfo GetDXGIOutputInfo; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRTrackedCamera -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetCameraErrorNameFromEnum(EVRTrackedCameraError eCameraError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCameraErrorNameFromEnum GetCameraErrorNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _HasCamera(uint nDeviceIndex, ref bool pHasCamera); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _HasCamera HasCamera; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _GetCameraFrameSize(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, ref uint pnWidth, ref uint pnHeight, ref uint pnFrameBufferSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCameraFrameSize GetCameraFrameSize; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _GetCameraIntrinsics(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, ref HmdVector2_t pFocalLength, ref HmdVector2_t pCenter); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCameraIntrinsics GetCameraIntrinsics; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _GetCameraProjection(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, float flZNear, float flZFar, ref HmdMatrix44_t pProjection); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCameraProjection GetCameraProjection; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _AcquireVideoStreamingService(uint nDeviceIndex, ref ulong pHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _AcquireVideoStreamingService AcquireVideoStreamingService; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _ReleaseVideoStreamingService(ulong hTrackedCamera); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReleaseVideoStreamingService ReleaseVideoStreamingService; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _GetVideoStreamFrameBuffer(ulong hTrackedCamera, EVRTrackedCameraFrameType eFrameType, IntPtr pFrameBuffer, uint nFrameBufferSize, ref CameraVideoStreamFrameHeader_t pFrameHeader, uint nFrameHeaderSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetVideoStreamFrameBuffer GetVideoStreamFrameBuffer; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _GetVideoStreamTextureSize(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, ref VRTextureBounds_t pTextureBounds, ref uint pnWidth, ref uint pnHeight); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetVideoStreamTextureSize GetVideoStreamTextureSize; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _GetVideoStreamTextureD3D11(ulong hTrackedCamera, EVRTrackedCameraFrameType eFrameType, IntPtr pD3D11DeviceOrResource, ref IntPtr ppD3D11ShaderResourceView, ref CameraVideoStreamFrameHeader_t pFrameHeader, uint nFrameHeaderSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetVideoStreamTextureD3D11 GetVideoStreamTextureD3D11; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _GetVideoStreamTextureGL(ulong hTrackedCamera, EVRTrackedCameraFrameType eFrameType, ref uint pglTextureId, ref CameraVideoStreamFrameHeader_t pFrameHeader, uint nFrameHeaderSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetVideoStreamTextureGL GetVideoStreamTextureGL; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _ReleaseVideoStreamTextureGL(ulong hTrackedCamera, uint glTextureId); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReleaseVideoStreamTextureGL ReleaseVideoStreamTextureGL; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRApplications -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _AddApplicationManifest(string pchApplicationManifestFullPath, bool bTemporary); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _AddApplicationManifest AddApplicationManifest; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _RemoveApplicationManifest(string pchApplicationManifestFullPath); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _RemoveApplicationManifest RemoveApplicationManifest; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsApplicationInstalled(string pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsApplicationInstalled IsApplicationInstalled; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetApplicationCount(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationCount GetApplicationCount; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _GetApplicationKeyByIndex(uint unApplicationIndex, System.Text.StringBuilder pchAppKeyBuffer, uint unAppKeyBufferLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationKeyByIndex GetApplicationKeyByIndex; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _GetApplicationKeyByProcessId(uint unProcessId, string pchAppKeyBuffer, uint unAppKeyBufferLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationKeyByProcessId GetApplicationKeyByProcessId; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _LaunchApplication(string pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LaunchApplication LaunchApplication; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _LaunchTemplateApplication(string pchTemplateAppKey, string pchNewAppKey, [In, Out] AppOverrideKeys_t[] pKeys, uint unKeys); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LaunchTemplateApplication LaunchTemplateApplication; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _LaunchApplicationFromMimeType(string pchMimeType, string pchArgs); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LaunchApplicationFromMimeType LaunchApplicationFromMimeType; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _LaunchDashboardOverlay(string pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LaunchDashboardOverlay LaunchDashboardOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _CancelApplicationLaunch(string pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CancelApplicationLaunch CancelApplicationLaunch; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _IdentifyApplication(uint unProcessId, string pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IdentifyApplication IdentifyApplication; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetApplicationProcessId(string pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationProcessId GetApplicationProcessId; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetApplicationsErrorNameFromEnum(EVRApplicationError error); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationsErrorNameFromEnum GetApplicationsErrorNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetApplicationPropertyString(string pchAppKey, EVRApplicationProperty eProperty, System.Text.StringBuilder pchPropertyValueBuffer, uint unPropertyValueBufferLen, ref EVRApplicationError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationPropertyString GetApplicationPropertyString; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetApplicationPropertyBool(string pchAppKey, EVRApplicationProperty eProperty, ref EVRApplicationError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationPropertyBool GetApplicationPropertyBool; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ulong _GetApplicationPropertyUint64(string pchAppKey, EVRApplicationProperty eProperty, ref EVRApplicationError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationPropertyUint64 GetApplicationPropertyUint64; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _SetApplicationAutoLaunch(string pchAppKey, bool bAutoLaunch); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetApplicationAutoLaunch SetApplicationAutoLaunch; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetApplicationAutoLaunch(string pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationAutoLaunch GetApplicationAutoLaunch; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _SetDefaultApplicationForMimeType(string pchAppKey, string pchMimeType); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetDefaultApplicationForMimeType SetDefaultApplicationForMimeType; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetDefaultApplicationForMimeType(string pchMimeType, string pchAppKeyBuffer, uint unAppKeyBufferLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetDefaultApplicationForMimeType GetDefaultApplicationForMimeType; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetApplicationSupportedMimeTypes(string pchAppKey, string pchMimeTypesBuffer, uint unMimeTypesBuffer); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationSupportedMimeTypes GetApplicationSupportedMimeTypes; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetApplicationsThatSupportMimeType(string pchMimeType, string pchAppKeysThatSupportBuffer, uint unAppKeysThatSupportBuffer); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationsThatSupportMimeType GetApplicationsThatSupportMimeType; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetApplicationLaunchArguments(uint unHandle, string pchArgs, uint unArgs); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationLaunchArguments GetApplicationLaunchArguments; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _GetStartingApplication(string pchAppKeyBuffer, uint unAppKeyBufferLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetStartingApplication GetStartingApplication; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationTransitionState _GetTransitionState(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetTransitionState GetTransitionState; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _PerformApplicationPrelaunchCheck(string pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _PerformApplicationPrelaunchCheck PerformApplicationPrelaunchCheck; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetApplicationsTransitionStateNameFromEnum(EVRApplicationTransitionState state); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationsTransitionStateNameFromEnum GetApplicationsTransitionStateNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsQuitUserPromptRequested(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsQuitUserPromptRequested IsQuitUserPromptRequested; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _LaunchInternalProcess(string pchBinaryPath, string pchArguments, string pchWorkingDirectory); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LaunchInternalProcess LaunchInternalProcess; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetCurrentSceneProcessId(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCurrentSceneProcessId GetCurrentSceneProcessId; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRChaperone -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ChaperoneCalibrationState _GetCalibrationState(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCalibrationState GetCalibrationState; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetPlayAreaSize(ref float pSizeX, ref float pSizeZ); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetPlayAreaSize GetPlayAreaSize; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetPlayAreaRect(ref HmdQuad_t rect); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetPlayAreaRect GetPlayAreaRect; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ReloadInfo(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReloadInfo ReloadInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetSceneColor(HmdColor_t color); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetSceneColor SetSceneColor; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetBoundsColor(ref HmdColor_t pOutputColorArray, int nNumOutputColors, float flCollisionBoundsFadeDistance, ref HmdColor_t pOutputCameraColor); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetBoundsColor GetBoundsColor; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _AreBoundsVisible(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _AreBoundsVisible AreBoundsVisible; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ForceBoundsVisible(bool bForce); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ForceBoundsVisible ForceBoundsVisible; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRChaperoneSetup -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _CommitWorkingCopy(EChaperoneConfigFile configFile); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CommitWorkingCopy CommitWorkingCopy; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _RevertWorkingCopy(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _RevertWorkingCopy RevertWorkingCopy; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetWorkingPlayAreaSize(ref float pSizeX, ref float pSizeZ); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetWorkingPlayAreaSize GetWorkingPlayAreaSize; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetWorkingPlayAreaRect(ref HmdQuad_t rect); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetWorkingPlayAreaRect GetWorkingPlayAreaRect; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetWorkingCollisionBoundsInfo([In, Out] HmdQuad_t[] pQuadsBuffer, ref uint punQuadsCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetWorkingCollisionBoundsInfo GetWorkingCollisionBoundsInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetLiveCollisionBoundsInfo([In, Out] HmdQuad_t[] pQuadsBuffer, ref uint punQuadsCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetLiveCollisionBoundsInfo GetLiveCollisionBoundsInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetWorkingSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetWorkingSeatedZeroPoseToRawTrackingPose GetWorkingSeatedZeroPoseToRawTrackingPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatStandingZeroPoseToRawTrackingPose); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetWorkingStandingZeroPoseToRawTrackingPose GetWorkingStandingZeroPoseToRawTrackingPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetWorkingPlayAreaSize(float sizeX, float sizeZ); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetWorkingPlayAreaSize SetWorkingPlayAreaSize; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetWorkingCollisionBoundsInfo([In, Out] HmdQuad_t[] pQuadsBuffer, uint unQuadsCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetWorkingCollisionBoundsInfo SetWorkingCollisionBoundsInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetWorkingSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatSeatedZeroPoseToRawTrackingPose); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetWorkingSeatedZeroPoseToRawTrackingPose SetWorkingSeatedZeroPoseToRawTrackingPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetWorkingStandingZeroPoseToRawTrackingPose SetWorkingStandingZeroPoseToRawTrackingPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ReloadFromDisk(EChaperoneConfigFile configFile); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReloadFromDisk ReloadFromDisk; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetLiveSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetLiveSeatedZeroPoseToRawTrackingPose GetLiveSeatedZeroPoseToRawTrackingPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetWorkingCollisionBoundsTagsInfo([In, Out] byte[] pTagsBuffer, uint unTagCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetWorkingCollisionBoundsTagsInfo SetWorkingCollisionBoundsTagsInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetLiveCollisionBoundsTagsInfo([In, Out] byte[] pTagsBuffer, ref uint punTagCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetLiveCollisionBoundsTagsInfo GetLiveCollisionBoundsTagsInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _SetWorkingPhysicalBoundsInfo([In, Out] HmdQuad_t[] pQuadsBuffer, uint unQuadsCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetWorkingPhysicalBoundsInfo SetWorkingPhysicalBoundsInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetLivePhysicalBoundsInfo([In, Out] HmdQuad_t[] pQuadsBuffer, ref uint punQuadsCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetLivePhysicalBoundsInfo GetLivePhysicalBoundsInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _ExportLiveToBuffer(System.Text.StringBuilder pBuffer, ref uint pnBufferLength); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ExportLiveToBuffer ExportLiveToBuffer; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _ImportFromBufferToWorking(string pBuffer, uint nImportFlags); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ImportFromBufferToWorking ImportFromBufferToWorking; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRCompositor -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetTrackingSpace(ETrackingUniverseOrigin eOrigin); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetTrackingSpace SetTrackingSpace; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ETrackingUniverseOrigin _GetTrackingSpace(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetTrackingSpace GetTrackingSpace; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _WaitGetPoses([In, Out] TrackedDevicePose_t[] pRenderPoseArray, uint unRenderPoseArrayCount, [In, Out] TrackedDevicePose_t[] pGamePoseArray, uint unGamePoseArrayCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _WaitGetPoses WaitGetPoses; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _GetLastPoses([In, Out] TrackedDevicePose_t[] pRenderPoseArray, uint unRenderPoseArrayCount, [In, Out] TrackedDevicePose_t[] pGamePoseArray, uint unGamePoseArrayCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetLastPoses GetLastPoses; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _GetLastPoseForTrackedDeviceIndex(uint unDeviceIndex, ref TrackedDevicePose_t pOutputPose, ref TrackedDevicePose_t pOutputGamePose); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetLastPoseForTrackedDeviceIndex GetLastPoseForTrackedDeviceIndex; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _Submit(EVREye eEye, ref Texture_t pTexture, ref VRTextureBounds_t pBounds, EVRSubmitFlags nSubmitFlags); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _Submit Submit; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ClearLastSubmittedFrame(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ClearLastSubmittedFrame ClearLastSubmittedFrame; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _PostPresentHandoff(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _PostPresentHandoff PostPresentHandoff; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetFrameTiming(ref Compositor_FrameTiming pTiming, uint unFramesAgo); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetFrameTiming GetFrameTiming; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetFrameTimings(ref Compositor_FrameTiming pTiming, uint nFrames); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetFrameTimings GetFrameTimings; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate float _GetFrameTimeRemaining(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetFrameTimeRemaining GetFrameTimeRemaining; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetCumulativeStats(ref Compositor_CumulativeStats pStats, uint nStatsSizeInBytes); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCumulativeStats GetCumulativeStats; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _FadeToColor(float fSeconds, float fRed, float fGreen, float fBlue, float fAlpha, bool bBackground); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _FadeToColor FadeToColor; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate HmdColor_t _GetCurrentFadeColor(bool bBackground); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCurrentFadeColor GetCurrentFadeColor; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _FadeGrid(float fSeconds, bool bFadeIn); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _FadeGrid FadeGrid; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate float _GetCurrentGridAlpha(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCurrentGridAlpha GetCurrentGridAlpha; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _SetSkyboxOverride([In, Out] Texture_t[] pTextures, uint unTextureCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetSkyboxOverride SetSkyboxOverride; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ClearSkyboxOverride(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ClearSkyboxOverride ClearSkyboxOverride; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _CompositorBringToFront(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CompositorBringToFront CompositorBringToFront; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _CompositorGoToBack(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CompositorGoToBack CompositorGoToBack; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _CompositorQuit(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CompositorQuit CompositorQuit; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsFullscreen(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsFullscreen IsFullscreen; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetCurrentSceneFocusProcess(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCurrentSceneFocusProcess GetCurrentSceneFocusProcess; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetLastFrameRenderer(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetLastFrameRenderer GetLastFrameRenderer; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _CanRenderScene(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CanRenderScene CanRenderScene; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ShowMirrorWindow(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ShowMirrorWindow ShowMirrorWindow; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _HideMirrorWindow(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _HideMirrorWindow HideMirrorWindow; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsMirrorWindowVisible(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsMirrorWindowVisible IsMirrorWindowVisible; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _CompositorDumpImages(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CompositorDumpImages CompositorDumpImages; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _ShouldAppRenderWithLowResources(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ShouldAppRenderWithLowResources ShouldAppRenderWithLowResources; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ForceInterleavedReprojectionOn(bool bOverride); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ForceInterleavedReprojectionOn ForceInterleavedReprojectionOn; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ForceReconnectProcess(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ForceReconnectProcess ForceReconnectProcess; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SuspendRendering(bool bSuspend); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SuspendRendering SuspendRendering; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _GetMirrorTextureD3D11(EVREye eEye, IntPtr pD3D11DeviceOrResource, ref IntPtr ppD3D11ShaderResourceView); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetMirrorTextureD3D11 GetMirrorTextureD3D11; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ReleaseMirrorTextureD3D11(IntPtr pD3D11ShaderResourceView); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReleaseMirrorTextureD3D11 ReleaseMirrorTextureD3D11; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _GetMirrorTextureGL(EVREye eEye, ref uint pglTextureId, IntPtr pglSharedTextureHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetMirrorTextureGL GetMirrorTextureGL; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _ReleaseSharedGLTexture(uint glTextureId, IntPtr glSharedTextureHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReleaseSharedGLTexture ReleaseSharedGLTexture; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _LockGLSharedTextureForAccess(IntPtr glSharedTextureHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LockGLSharedTextureForAccess LockGLSharedTextureForAccess; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _UnlockGLSharedTextureForAccess(IntPtr glSharedTextureHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _UnlockGLSharedTextureForAccess UnlockGLSharedTextureForAccess; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetVulkanInstanceExtensionsRequired(System.Text.StringBuilder pchValue, uint unBufferSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetVulkanInstanceExtensionsRequired GetVulkanInstanceExtensionsRequired; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetVulkanDeviceExtensionsRequired(IntPtr pPhysicalDevice, System.Text.StringBuilder pchValue, uint unBufferSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetVulkanDeviceExtensionsRequired GetVulkanDeviceExtensionsRequired; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetExplicitTimingMode(bool bExplicitTimingMode); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetExplicitTimingMode SetExplicitTimingMode; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _SubmitExplicitTimingData(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SubmitExplicitTimingData SubmitExplicitTimingData; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVROverlay -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _FindOverlay(string pchOverlayKey, ref ulong pOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _FindOverlay FindOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _CreateOverlay(string pchOverlayKey, string pchOverlayName, ref ulong pOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CreateOverlay CreateOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _DestroyOverlay(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _DestroyOverlay DestroyOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetHighQualityOverlay(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetHighQualityOverlay SetHighQualityOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ulong _GetHighQualityOverlay(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetHighQualityOverlay GetHighQualityOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetOverlayKey(ulong ulOverlayHandle, System.Text.StringBuilder pchValue, uint unBufferSize, ref EVROverlayError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayKey GetOverlayKey; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetOverlayName(ulong ulOverlayHandle, System.Text.StringBuilder pchValue, uint unBufferSize, ref EVROverlayError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayName GetOverlayName; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayName(ulong ulOverlayHandle, string pchName); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayName SetOverlayName; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayImageData(ulong ulOverlayHandle, IntPtr pvBuffer, uint unBufferSize, ref uint punWidth, ref uint punHeight); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayImageData GetOverlayImageData; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetOverlayErrorNameFromEnum(EVROverlayError error); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayErrorNameFromEnum GetOverlayErrorNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayRenderingPid(ulong ulOverlayHandle, uint unPID); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayRenderingPid SetOverlayRenderingPid; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetOverlayRenderingPid(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayRenderingPid GetOverlayRenderingPid; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayFlag(ulong ulOverlayHandle, VROverlayFlags eOverlayFlag, bool bEnabled); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayFlag SetOverlayFlag; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayFlag(ulong ulOverlayHandle, VROverlayFlags eOverlayFlag, ref bool pbEnabled); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayFlag GetOverlayFlag; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayColor(ulong ulOverlayHandle, float fRed, float fGreen, float fBlue); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayColor SetOverlayColor; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayColor(ulong ulOverlayHandle, ref float pfRed, ref float pfGreen, ref float pfBlue); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayColor GetOverlayColor; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayAlpha(ulong ulOverlayHandle, float fAlpha); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayAlpha SetOverlayAlpha; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayAlpha(ulong ulOverlayHandle, ref float pfAlpha); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayAlpha GetOverlayAlpha; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayTexelAspect(ulong ulOverlayHandle, float fTexelAspect); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayTexelAspect SetOverlayTexelAspect; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTexelAspect(ulong ulOverlayHandle, ref float pfTexelAspect); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTexelAspect GetOverlayTexelAspect; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlaySortOrder(ulong ulOverlayHandle, uint unSortOrder); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlaySortOrder SetOverlaySortOrder; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlaySortOrder(ulong ulOverlayHandle, ref uint punSortOrder); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlaySortOrder GetOverlaySortOrder; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayWidthInMeters(ulong ulOverlayHandle, float fWidthInMeters); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayWidthInMeters SetOverlayWidthInMeters; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayWidthInMeters(ulong ulOverlayHandle, ref float pfWidthInMeters); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayWidthInMeters GetOverlayWidthInMeters; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayAutoCurveDistanceRangeInMeters(ulong ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayAutoCurveDistanceRangeInMeters SetOverlayAutoCurveDistanceRangeInMeters; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayAutoCurveDistanceRangeInMeters(ulong ulOverlayHandle, ref float pfMinDistanceInMeters, ref float pfMaxDistanceInMeters); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayAutoCurveDistanceRangeInMeters GetOverlayAutoCurveDistanceRangeInMeters; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayTextureColorSpace(ulong ulOverlayHandle, EColorSpace eTextureColorSpace); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayTextureColorSpace SetOverlayTextureColorSpace; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTextureColorSpace(ulong ulOverlayHandle, ref EColorSpace peTextureColorSpace); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTextureColorSpace GetOverlayTextureColorSpace; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayTextureBounds(ulong ulOverlayHandle, ref VRTextureBounds_t pOverlayTextureBounds); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayTextureBounds SetOverlayTextureBounds; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTextureBounds(ulong ulOverlayHandle, ref VRTextureBounds_t pOverlayTextureBounds); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTextureBounds GetOverlayTextureBounds; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetOverlayRenderModel(ulong ulOverlayHandle, string pchValue, uint unBufferSize, ref HmdColor_t pColor, ref EVROverlayError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayRenderModel GetOverlayRenderModel; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayRenderModel(ulong ulOverlayHandle, string pchRenderModel, ref HmdColor_t pColor); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayRenderModel SetOverlayRenderModel; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTransformType(ulong ulOverlayHandle, ref VROverlayTransformType peTransformType); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTransformType GetOverlayTransformType; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayTransformAbsolute(ulong ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayTransformAbsolute SetOverlayTransformAbsolute; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTransformAbsolute(ulong ulOverlayHandle, ref ETrackingUniverseOrigin peTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTransformAbsolute GetOverlayTransformAbsolute; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle, uint unTrackedDevice, ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayTransformTrackedDeviceRelative SetOverlayTransformTrackedDeviceRelative; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle, ref uint punTrackedDevice, ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTransformTrackedDeviceRelative GetOverlayTransformTrackedDeviceRelative; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayTransformTrackedDeviceComponent(ulong ulOverlayHandle, uint unDeviceIndex, string pchComponentName); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayTransformTrackedDeviceComponent SetOverlayTransformTrackedDeviceComponent; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTransformTrackedDeviceComponent(ulong ulOverlayHandle, ref uint punDeviceIndex, string pchComponentName, uint unComponentNameSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTransformTrackedDeviceComponent GetOverlayTransformTrackedDeviceComponent; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTransformOverlayRelative(ulong ulOverlayHandle, ref ulong ulOverlayHandleParent, ref HmdMatrix34_t pmatParentOverlayToOverlayTransform); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTransformOverlayRelative GetOverlayTransformOverlayRelative; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayTransformOverlayRelative(ulong ulOverlayHandle, ulong ulOverlayHandleParent, ref HmdMatrix34_t pmatParentOverlayToOverlayTransform); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayTransformOverlayRelative SetOverlayTransformOverlayRelative; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _ShowOverlay(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ShowOverlay ShowOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _HideOverlay(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _HideOverlay HideOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsOverlayVisible(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsOverlayVisible IsOverlayVisible; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetTransformForOverlayCoordinates(ulong ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, HmdVector2_t coordinatesInOverlay, ref HmdMatrix34_t pmatTransform); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetTransformForOverlayCoordinates GetTransformForOverlayCoordinates; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _PollNextOverlayEvent(ulong ulOverlayHandle, ref VREvent_t pEvent, uint uncbVREvent); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _PollNextOverlayEvent PollNextOverlayEvent; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayInputMethod(ulong ulOverlayHandle, ref VROverlayInputMethod peInputMethod); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayInputMethod GetOverlayInputMethod; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayInputMethod(ulong ulOverlayHandle, VROverlayInputMethod eInputMethod); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayInputMethod SetOverlayInputMethod; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayMouseScale(ulong ulOverlayHandle, ref HmdVector2_t pvecMouseScale); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayMouseScale GetOverlayMouseScale; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayMouseScale(ulong ulOverlayHandle, ref HmdVector2_t pvecMouseScale); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayMouseScale SetOverlayMouseScale; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _ComputeOverlayIntersection(ulong ulOverlayHandle, ref VROverlayIntersectionParams_t pParams, ref VROverlayIntersectionResults_t pResults); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ComputeOverlayIntersection ComputeOverlayIntersection; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _HandleControllerOverlayInteractionAsMouse(ulong ulOverlayHandle, uint unControllerDeviceIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _HandleControllerOverlayInteractionAsMouse HandleControllerOverlayInteractionAsMouse; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsHoverTargetOverlay(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsHoverTargetOverlay IsHoverTargetOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ulong _GetGamepadFocusOverlay(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetGamepadFocusOverlay GetGamepadFocusOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetGamepadFocusOverlay(ulong ulNewFocusOverlay); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetGamepadFocusOverlay SetGamepadFocusOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayNeighbor(EOverlayDirection eDirection, ulong ulFrom, ulong ulTo); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayNeighbor SetOverlayNeighbor; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _MoveGamepadFocusToNeighbor(EOverlayDirection eDirection, ulong ulFrom); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _MoveGamepadFocusToNeighbor MoveGamepadFocusToNeighbor; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayTexture(ulong ulOverlayHandle, ref Texture_t pTexture); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayTexture SetOverlayTexture; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _ClearOverlayTexture(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ClearOverlayTexture ClearOverlayTexture; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayRaw(ulong ulOverlayHandle, IntPtr pvBuffer, uint unWidth, uint unHeight, uint unDepth); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayRaw SetOverlayRaw; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayFromFile(ulong ulOverlayHandle, string pchFilePath); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayFromFile SetOverlayFromFile; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTexture(ulong ulOverlayHandle, ref IntPtr pNativeTextureHandle, IntPtr pNativeTextureRef, ref uint pWidth, ref uint pHeight, ref uint pNativeFormat, ref ETextureType pAPIType, ref EColorSpace pColorSpace, ref VRTextureBounds_t pTextureBounds); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTexture GetOverlayTexture; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _ReleaseNativeOverlayHandle(ulong ulOverlayHandle, IntPtr pNativeTextureHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReleaseNativeOverlayHandle ReleaseNativeOverlayHandle; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTextureSize(ulong ulOverlayHandle, ref uint pWidth, ref uint pHeight); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTextureSize GetOverlayTextureSize; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _CreateDashboardOverlay(string pchOverlayKey, string pchOverlayFriendlyName, ref ulong pMainHandle, ref ulong pThumbnailHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CreateDashboardOverlay CreateDashboardOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsDashboardVisible(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsDashboardVisible IsDashboardVisible; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsActiveDashboardOverlay(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsActiveDashboardOverlay IsActiveDashboardOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetDashboardOverlaySceneProcess(ulong ulOverlayHandle, uint unProcessId); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetDashboardOverlaySceneProcess SetDashboardOverlaySceneProcess; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetDashboardOverlaySceneProcess(ulong ulOverlayHandle, ref uint punProcessId); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetDashboardOverlaySceneProcess GetDashboardOverlaySceneProcess; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ShowDashboard(string pchOverlayToShow); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ShowDashboard ShowDashboard; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetPrimaryDashboardDevice(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetPrimaryDashboardDevice GetPrimaryDashboardDevice; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _ShowKeyboard(int eInputMode, int eLineInputMode, string pchDescription, uint unCharMax, string pchExistingText, bool bUseMinimalMode, ulong uUserValue); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ShowKeyboard ShowKeyboard; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _ShowKeyboardForOverlay(ulong ulOverlayHandle, int eInputMode, int eLineInputMode, string pchDescription, uint unCharMax, string pchExistingText, bool bUseMinimalMode, ulong uUserValue); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ShowKeyboardForOverlay ShowKeyboardForOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetKeyboardText(System.Text.StringBuilder pchText, uint cchText); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetKeyboardText GetKeyboardText; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _HideKeyboard(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _HideKeyboard HideKeyboard; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetKeyboardTransformAbsolute(ETrackingUniverseOrigin eTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToKeyboardTransform); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetKeyboardTransformAbsolute SetKeyboardTransformAbsolute; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetKeyboardPositionForOverlay(ulong ulOverlayHandle, HmdRect2_t avoidRect); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetKeyboardPositionForOverlay SetKeyboardPositionForOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayIntersectionMask(ulong ulOverlayHandle, ref VROverlayIntersectionMaskPrimitive_t pMaskPrimitives, uint unNumMaskPrimitives, uint unPrimitiveSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayIntersectionMask SetOverlayIntersectionMask; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayFlags(ulong ulOverlayHandle, ref uint pFlags); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayFlags GetOverlayFlags; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate VRMessageOverlayResponse _ShowMessageOverlay(string pchText, string pchCaption, string pchButton0Text, string pchButton1Text, string pchButton2Text, string pchButton3Text); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ShowMessageOverlay ShowMessageOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _CloseMessageOverlay(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CloseMessageOverlay CloseMessageOverlay; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRRenderModels -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRRenderModelError _LoadRenderModel_Async(string pchRenderModelName, ref IntPtr ppRenderModel); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LoadRenderModel_Async LoadRenderModel_Async; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _FreeRenderModel(IntPtr pRenderModel); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _FreeRenderModel FreeRenderModel; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRRenderModelError _LoadTexture_Async(int textureId, ref IntPtr ppTexture); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LoadTexture_Async LoadTexture_Async; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _FreeTexture(IntPtr pTexture); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _FreeTexture FreeTexture; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRRenderModelError _LoadTextureD3D11_Async(int textureId, IntPtr pD3D11Device, ref IntPtr ppD3D11Texture2D); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LoadTextureD3D11_Async LoadTextureD3D11_Async; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRRenderModelError _LoadIntoTextureD3D11_Async(int textureId, IntPtr pDstTexture); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LoadIntoTextureD3D11_Async LoadIntoTextureD3D11_Async; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _FreeTextureD3D11(IntPtr pD3D11Texture2D); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _FreeTextureD3D11 FreeTextureD3D11; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetRenderModelName(uint unRenderModelIndex, System.Text.StringBuilder pchRenderModelName, uint unRenderModelNameLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetRenderModelName GetRenderModelName; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetRenderModelCount(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetRenderModelCount GetRenderModelCount; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetComponentCount(string pchRenderModelName); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetComponentCount GetComponentCount; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetComponentName(string pchRenderModelName, uint unComponentIndex, System.Text.StringBuilder pchComponentName, uint unComponentNameLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetComponentName GetComponentName; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ulong _GetComponentButtonMask(string pchRenderModelName, string pchComponentName); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetComponentButtonMask GetComponentButtonMask; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetComponentRenderModelName(string pchRenderModelName, string pchComponentName, System.Text.StringBuilder pchComponentRenderModelName, uint unComponentRenderModelNameLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetComponentRenderModelName GetComponentRenderModelName; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetComponentState(string pchRenderModelName, string pchComponentName, ref VRControllerState_t pControllerState, ref RenderModel_ControllerMode_State_t pState, ref RenderModel_ComponentState_t pComponentState); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetComponentState GetComponentState; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _RenderModelHasComponent(string pchRenderModelName, string pchComponentName); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _RenderModelHasComponent RenderModelHasComponent; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetRenderModelThumbnailURL(string pchRenderModelName, System.Text.StringBuilder pchThumbnailURL, uint unThumbnailURLLen, ref EVRRenderModelError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetRenderModelThumbnailURL GetRenderModelThumbnailURL; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetRenderModelOriginalPath(string pchRenderModelName, System.Text.StringBuilder pchOriginalPath, uint unOriginalPathLen, ref EVRRenderModelError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetRenderModelOriginalPath GetRenderModelOriginalPath; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetRenderModelErrorNameFromEnum(EVRRenderModelError error); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetRenderModelErrorNameFromEnum GetRenderModelErrorNameFromEnum; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRNotifications -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRNotificationError _CreateNotification(ulong ulOverlayHandle, ulong ulUserValue, EVRNotificationType type, string pchText, EVRNotificationStyle style, ref NotificationBitmap_t pImage, ref uint pNotificationId); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CreateNotification CreateNotification; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRNotificationError _RemoveNotification(uint notificationId); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _RemoveNotification RemoveNotification; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRSettings -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetSettingsErrorNameFromEnum(EVRSettingsError eError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetSettingsErrorNameFromEnum GetSettingsErrorNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _Sync(bool bForce, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _Sync Sync; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetBool(string pchSection, string pchSettingsKey, bool bValue, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetBool SetBool; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetInt32(string pchSection, string pchSettingsKey, int nValue, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetInt32 SetInt32; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetFloat(string pchSection, string pchSettingsKey, float flValue, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetFloat SetFloat; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetString(string pchSection, string pchSettingsKey, string pchValue, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetString SetString; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetBool(string pchSection, string pchSettingsKey, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetBool GetBool; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate int _GetInt32(string pchSection, string pchSettingsKey, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetInt32 GetInt32; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate float _GetFloat(string pchSection, string pchSettingsKey, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetFloat GetFloat; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetString(string pchSection, string pchSettingsKey, System.Text.StringBuilder pchValue, uint unValueLen, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetString GetString; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _RemoveSection(string pchSection, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _RemoveSection RemoveSection; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _RemoveKeyInSection(string pchSection, string pchSettingsKey, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _RemoveKeyInSection RemoveKeyInSection; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRScreenshots -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRScreenshotError _RequestScreenshot(ref uint pOutScreenshotHandle, EVRScreenshotType type, string pchPreviewFilename, string pchVRFilename); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _RequestScreenshot RequestScreenshot; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRScreenshotError _HookScreenshot([In, Out] EVRScreenshotType[] pSupportedTypes, int numTypes); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _HookScreenshot HookScreenshot; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRScreenshotType _GetScreenshotPropertyType(uint screenshotHandle, ref EVRScreenshotError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetScreenshotPropertyType GetScreenshotPropertyType; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetScreenshotPropertyFilename(uint screenshotHandle, EVRScreenshotPropertyFilenames filenameType, System.Text.StringBuilder pchFilename, uint cchFilename, ref EVRScreenshotError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetScreenshotPropertyFilename GetScreenshotPropertyFilename; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRScreenshotError _UpdateScreenshotProgress(uint screenshotHandle, float flProgress); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _UpdateScreenshotProgress UpdateScreenshotProgress; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRScreenshotError _TakeStereoScreenshot(ref uint pOutScreenshotHandle, string pchPreviewFilename, string pchVRFilename); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _TakeStereoScreenshot TakeStereoScreenshot; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRScreenshotError _SubmitScreenshot(uint screenshotHandle, EVRScreenshotType type, string pchSourcePreviewFilename, string pchSourceVRFilename); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SubmitScreenshot SubmitScreenshot; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRResources -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _LoadSharedResource(string pchResourceName, string pchBuffer, uint unBufferLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LoadSharedResource LoadSharedResource; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetResourceFullPath(string pchResourceName, string pchResourceTypeDirectory, string pchPathBuffer, uint unBufferLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetResourceFullPath GetResourceFullPath; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRDriverManager -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetDriverCount(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetDriverCount GetDriverCount; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetDriverName(uint nDriver, System.Text.StringBuilder pchValue, uint unBufferSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetDriverName GetDriverName; - -} - - -public class CVRSystem -{ - IVRSystem FnTable; - internal CVRSystem(IntPtr pInterface) - { - FnTable = (IVRSystem)Marshal.PtrToStructure(pInterface, typeof(IVRSystem)); - } - public void GetRecommendedRenderTargetSize(ref uint pnWidth,ref uint pnHeight) - { - pnWidth = 0; - pnHeight = 0; - FnTable.GetRecommendedRenderTargetSize(ref pnWidth,ref pnHeight); - } - public HmdMatrix44_t GetProjectionMatrix(EVREye eEye,float fNearZ,float fFarZ) - { - HmdMatrix44_t result = FnTable.GetProjectionMatrix(eEye,fNearZ,fFarZ); - return result; - } - public void GetProjectionRaw(EVREye eEye,ref float pfLeft,ref float pfRight,ref float pfTop,ref float pfBottom) - { - pfLeft = 0; - pfRight = 0; - pfTop = 0; - pfBottom = 0; - FnTable.GetProjectionRaw(eEye,ref pfLeft,ref pfRight,ref pfTop,ref pfBottom); - } - public bool ComputeDistortion(EVREye eEye,float fU,float fV,ref DistortionCoordinates_t pDistortionCoordinates) - { - bool result = FnTable.ComputeDistortion(eEye,fU,fV,ref pDistortionCoordinates); - return result; - } - public HmdMatrix34_t GetEyeToHeadTransform(EVREye eEye) - { - HmdMatrix34_t result = FnTable.GetEyeToHeadTransform(eEye); - return result; - } - public bool GetTimeSinceLastVsync(ref float pfSecondsSinceLastVsync,ref ulong pulFrameCounter) - { - pfSecondsSinceLastVsync = 0; - pulFrameCounter = 0; - bool result = FnTable.GetTimeSinceLastVsync(ref pfSecondsSinceLastVsync,ref pulFrameCounter); - return result; - } - public int GetD3D9AdapterIndex() - { - int result = FnTable.GetD3D9AdapterIndex(); - return result; - } - public void GetDXGIOutputInfo(ref int pnAdapterIndex) - { - pnAdapterIndex = 0; - FnTable.GetDXGIOutputInfo(ref pnAdapterIndex); - } - public void GetOutputDevice(ref ulong pnDevice,ETextureType textureType,IntPtr pInstance) - { - pnDevice = 0; - FnTable.GetOutputDevice(ref pnDevice,textureType,pInstance); - } - public bool IsDisplayOnDesktop() - { - bool result = FnTable.IsDisplayOnDesktop(); - return result; - } - public bool SetDisplayVisibility(bool bIsVisibleOnDesktop) - { - bool result = FnTable.SetDisplayVisibility(bIsVisibleOnDesktop); - return result; - } - public void GetDeviceToAbsoluteTrackingPose(ETrackingUniverseOrigin eOrigin,float fPredictedSecondsToPhotonsFromNow,TrackedDevicePose_t [] pTrackedDevicePoseArray) - { - FnTable.GetDeviceToAbsoluteTrackingPose(eOrigin,fPredictedSecondsToPhotonsFromNow,pTrackedDevicePoseArray,(uint) pTrackedDevicePoseArray.Length); - } - public void ResetSeatedZeroPose() - { - FnTable.ResetSeatedZeroPose(); - } - public HmdMatrix34_t GetSeatedZeroPoseToStandingAbsoluteTrackingPose() - { - HmdMatrix34_t result = FnTable.GetSeatedZeroPoseToStandingAbsoluteTrackingPose(); - return result; - } - public HmdMatrix34_t GetRawZeroPoseToStandingAbsoluteTrackingPose() - { - HmdMatrix34_t result = FnTable.GetRawZeroPoseToStandingAbsoluteTrackingPose(); - return result; - } - public uint GetSortedTrackedDeviceIndicesOfClass(ETrackedDeviceClass eTrackedDeviceClass,uint [] punTrackedDeviceIndexArray,uint unRelativeToTrackedDeviceIndex) - { - uint result = FnTable.GetSortedTrackedDeviceIndicesOfClass(eTrackedDeviceClass,punTrackedDeviceIndexArray,(uint) punTrackedDeviceIndexArray.Length,unRelativeToTrackedDeviceIndex); - return result; - } - public EDeviceActivityLevel GetTrackedDeviceActivityLevel(uint unDeviceId) - { - EDeviceActivityLevel result = FnTable.GetTrackedDeviceActivityLevel(unDeviceId); - return result; - } - public void ApplyTransform(ref TrackedDevicePose_t pOutputPose,ref TrackedDevicePose_t pTrackedDevicePose,ref HmdMatrix34_t pTransform) - { - FnTable.ApplyTransform(ref pOutputPose,ref pTrackedDevicePose,ref pTransform); - } - public uint GetTrackedDeviceIndexForControllerRole(ETrackedControllerRole unDeviceType) - { - uint result = FnTable.GetTrackedDeviceIndexForControllerRole(unDeviceType); - return result; - } - public ETrackedControllerRole GetControllerRoleForTrackedDeviceIndex(uint unDeviceIndex) - { - ETrackedControllerRole result = FnTable.GetControllerRoleForTrackedDeviceIndex(unDeviceIndex); - return result; - } - public ETrackedDeviceClass GetTrackedDeviceClass(uint unDeviceIndex) - { - ETrackedDeviceClass result = FnTable.GetTrackedDeviceClass(unDeviceIndex); - return result; - } - public bool IsTrackedDeviceConnected(uint unDeviceIndex) - { - bool result = FnTable.IsTrackedDeviceConnected(unDeviceIndex); - return result; - } - public bool GetBoolTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError) - { - bool result = FnTable.GetBoolTrackedDeviceProperty(unDeviceIndex,prop,ref pError); - return result; - } - public float GetFloatTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError) - { - float result = FnTable.GetFloatTrackedDeviceProperty(unDeviceIndex,prop,ref pError); - return result; - } - public int GetInt32TrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError) - { - int result = FnTable.GetInt32TrackedDeviceProperty(unDeviceIndex,prop,ref pError); - return result; - } - public ulong GetUint64TrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError) - { - ulong result = FnTable.GetUint64TrackedDeviceProperty(unDeviceIndex,prop,ref pError); - return result; - } - public HmdMatrix34_t GetMatrix34TrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError) - { - HmdMatrix34_t result = FnTable.GetMatrix34TrackedDeviceProperty(unDeviceIndex,prop,ref pError); - return result; - } - public uint GetStringTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,System.Text.StringBuilder pchValue,uint unBufferSize,ref ETrackedPropertyError pError) - { - uint result = FnTable.GetStringTrackedDeviceProperty(unDeviceIndex,prop,pchValue,unBufferSize,ref pError); - return result; - } - public string GetPropErrorNameFromEnum(ETrackedPropertyError error) - { - IntPtr result = FnTable.GetPropErrorNameFromEnum(error); - return Marshal.PtrToStringAnsi(result); - } -// This is a terrible hack to workaround the fact that VRControllerState_t and VREvent_t were -// originally mis-compiled with the wrong packing for Linux and OSX. - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _PollNextEventPacked(ref VREvent_t_Packed pEvent,uint uncbVREvent); - [StructLayout(LayoutKind.Explicit)] - struct PollNextEventUnion - { - [FieldOffset(0)] - public IVRSystem._PollNextEvent pPollNextEvent; - [FieldOffset(0)] - public _PollNextEventPacked pPollNextEventPacked; - } - public bool PollNextEvent(ref VREvent_t pEvent,uint uncbVREvent) - { -#if !UNITY_METRO - if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) || - (System.Environment.OSVersion.Platform == System.PlatformID.Unix)) - { - PollNextEventUnion u; - VREvent_t_Packed event_packed = new VREvent_t_Packed(); - u.pPollNextEventPacked = null; - u.pPollNextEvent = FnTable.PollNextEvent; - bool packed_result = u.pPollNextEventPacked(ref event_packed,(uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(VREvent_t_Packed))); - - event_packed.Unpack(ref pEvent); - return packed_result; - } -#endif - bool result = FnTable.PollNextEvent(ref pEvent,uncbVREvent); - return result; - } - public bool PollNextEventWithPose(ETrackingUniverseOrigin eOrigin,ref VREvent_t pEvent,uint uncbVREvent,ref TrackedDevicePose_t pTrackedDevicePose) - { - bool result = FnTable.PollNextEventWithPose(eOrigin,ref pEvent,uncbVREvent,ref pTrackedDevicePose); - return result; - } - public string GetEventTypeNameFromEnum(EVREventType eType) - { - IntPtr result = FnTable.GetEventTypeNameFromEnum(eType); - return Marshal.PtrToStringAnsi(result); - } - public HiddenAreaMesh_t GetHiddenAreaMesh(EVREye eEye,EHiddenAreaMeshType type) - { - HiddenAreaMesh_t result = FnTable.GetHiddenAreaMesh(eEye,type); - return result; - } -// This is a terrible hack to workaround the fact that VRControllerState_t and VREvent_t were -// originally mis-compiled with the wrong packing for Linux and OSX. - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetControllerStatePacked(uint unControllerDeviceIndex,ref VRControllerState_t_Packed pControllerState,uint unControllerStateSize); - [StructLayout(LayoutKind.Explicit)] - struct GetControllerStateUnion - { - [FieldOffset(0)] - public IVRSystem._GetControllerState pGetControllerState; - [FieldOffset(0)] - public _GetControllerStatePacked pGetControllerStatePacked; - } - public bool GetControllerState(uint unControllerDeviceIndex,ref VRControllerState_t pControllerState,uint unControllerStateSize) - { -#if !UNITY_METRO - if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) || - (System.Environment.OSVersion.Platform == System.PlatformID.Unix)) - { - GetControllerStateUnion u; - VRControllerState_t_Packed state_packed = new VRControllerState_t_Packed(pControllerState); - u.pGetControllerStatePacked = null; - u.pGetControllerState = FnTable.GetControllerState; - bool packed_result = u.pGetControllerStatePacked(unControllerDeviceIndex,ref state_packed,(uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(VRControllerState_t_Packed))); - - state_packed.Unpack(ref pControllerState); - return packed_result; - } -#endif - bool result = FnTable.GetControllerState(unControllerDeviceIndex,ref pControllerState,unControllerStateSize); - return result; - } -// This is a terrible hack to workaround the fact that VRControllerState_t and VREvent_t were -// originally mis-compiled with the wrong packing for Linux and OSX. - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetControllerStateWithPosePacked(ETrackingUniverseOrigin eOrigin,uint unControllerDeviceIndex,ref VRControllerState_t_Packed pControllerState,uint unControllerStateSize,ref TrackedDevicePose_t pTrackedDevicePose); - [StructLayout(LayoutKind.Explicit)] - struct GetControllerStateWithPoseUnion - { - [FieldOffset(0)] - public IVRSystem._GetControllerStateWithPose pGetControllerStateWithPose; - [FieldOffset(0)] - public _GetControllerStateWithPosePacked pGetControllerStateWithPosePacked; - } - public bool GetControllerStateWithPose(ETrackingUniverseOrigin eOrigin,uint unControllerDeviceIndex,ref VRControllerState_t pControllerState,uint unControllerStateSize,ref TrackedDevicePose_t pTrackedDevicePose) - { -#if !UNITY_METRO - if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) || - (System.Environment.OSVersion.Platform == System.PlatformID.Unix)) - { - GetControllerStateWithPoseUnion u; - VRControllerState_t_Packed state_packed = new VRControllerState_t_Packed(pControllerState); - u.pGetControllerStateWithPosePacked = null; - u.pGetControllerStateWithPose = FnTable.GetControllerStateWithPose; - bool packed_result = u.pGetControllerStateWithPosePacked(eOrigin,unControllerDeviceIndex,ref state_packed,(uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(VRControllerState_t_Packed)),ref pTrackedDevicePose); - - state_packed.Unpack(ref pControllerState); - return packed_result; - } -#endif - bool result = FnTable.GetControllerStateWithPose(eOrigin,unControllerDeviceIndex,ref pControllerState,unControllerStateSize,ref pTrackedDevicePose); - return result; - } - public void TriggerHapticPulse(uint unControllerDeviceIndex,uint unAxisId,char usDurationMicroSec) - { - FnTable.TriggerHapticPulse(unControllerDeviceIndex,unAxisId,usDurationMicroSec); - } - public string GetButtonIdNameFromEnum(EVRButtonId eButtonId) - { - IntPtr result = FnTable.GetButtonIdNameFromEnum(eButtonId); - return Marshal.PtrToStringAnsi(result); - } - public string GetControllerAxisTypeNameFromEnum(EVRControllerAxisType eAxisType) - { - IntPtr result = FnTable.GetControllerAxisTypeNameFromEnum(eAxisType); - return Marshal.PtrToStringAnsi(result); - } - public bool CaptureInputFocus() - { - bool result = FnTable.CaptureInputFocus(); - return result; - } - public void ReleaseInputFocus() - { - FnTable.ReleaseInputFocus(); - } - public bool IsInputFocusCapturedByAnotherProcess() - { - bool result = FnTable.IsInputFocusCapturedByAnotherProcess(); - return result; - } - public uint DriverDebugRequest(uint unDeviceIndex,string pchRequest,string pchResponseBuffer,uint unResponseBufferSize) - { - uint result = FnTable.DriverDebugRequest(unDeviceIndex,pchRequest,pchResponseBuffer,unResponseBufferSize); - return result; - } - public EVRFirmwareError PerformFirmwareUpdate(uint unDeviceIndex) - { - EVRFirmwareError result = FnTable.PerformFirmwareUpdate(unDeviceIndex); - return result; - } - public void AcknowledgeQuit_Exiting() - { - FnTable.AcknowledgeQuit_Exiting(); - } - public void AcknowledgeQuit_UserPrompt() - { - FnTable.AcknowledgeQuit_UserPrompt(); - } -} - - -public class CVRExtendedDisplay -{ - IVRExtendedDisplay FnTable; - internal CVRExtendedDisplay(IntPtr pInterface) - { - FnTable = (IVRExtendedDisplay)Marshal.PtrToStructure(pInterface, typeof(IVRExtendedDisplay)); - } - public void GetWindowBounds(ref int pnX,ref int pnY,ref uint pnWidth,ref uint pnHeight) - { - pnX = 0; - pnY = 0; - pnWidth = 0; - pnHeight = 0; - FnTable.GetWindowBounds(ref pnX,ref pnY,ref pnWidth,ref pnHeight); - } - public void GetEyeOutputViewport(EVREye eEye,ref uint pnX,ref uint pnY,ref uint pnWidth,ref uint pnHeight) - { - pnX = 0; - pnY = 0; - pnWidth = 0; - pnHeight = 0; - FnTable.GetEyeOutputViewport(eEye,ref pnX,ref pnY,ref pnWidth,ref pnHeight); - } - public void GetDXGIOutputInfo(ref int pnAdapterIndex,ref int pnAdapterOutputIndex) - { - pnAdapterIndex = 0; - pnAdapterOutputIndex = 0; - FnTable.GetDXGIOutputInfo(ref pnAdapterIndex,ref pnAdapterOutputIndex); - } -} - - -public class CVRTrackedCamera -{ - IVRTrackedCamera FnTable; - internal CVRTrackedCamera(IntPtr pInterface) - { - FnTable = (IVRTrackedCamera)Marshal.PtrToStructure(pInterface, typeof(IVRTrackedCamera)); - } - public string GetCameraErrorNameFromEnum(EVRTrackedCameraError eCameraError) - { - IntPtr result = FnTable.GetCameraErrorNameFromEnum(eCameraError); - return Marshal.PtrToStringAnsi(result); - } - public EVRTrackedCameraError HasCamera(uint nDeviceIndex,ref bool pHasCamera) - { - pHasCamera = false; - EVRTrackedCameraError result = FnTable.HasCamera(nDeviceIndex,ref pHasCamera); - return result; - } - public EVRTrackedCameraError GetCameraFrameSize(uint nDeviceIndex,EVRTrackedCameraFrameType eFrameType,ref uint pnWidth,ref uint pnHeight,ref uint pnFrameBufferSize) - { - pnWidth = 0; - pnHeight = 0; - pnFrameBufferSize = 0; - EVRTrackedCameraError result = FnTable.GetCameraFrameSize(nDeviceIndex,eFrameType,ref pnWidth,ref pnHeight,ref pnFrameBufferSize); - return result; - } - public EVRTrackedCameraError GetCameraIntrinsics(uint nDeviceIndex,EVRTrackedCameraFrameType eFrameType,ref HmdVector2_t pFocalLength,ref HmdVector2_t pCenter) - { - EVRTrackedCameraError result = FnTable.GetCameraIntrinsics(nDeviceIndex,eFrameType,ref pFocalLength,ref pCenter); - return result; - } - public EVRTrackedCameraError GetCameraProjection(uint nDeviceIndex,EVRTrackedCameraFrameType eFrameType,float flZNear,float flZFar,ref HmdMatrix44_t pProjection) - { - EVRTrackedCameraError result = FnTable.GetCameraProjection(nDeviceIndex,eFrameType,flZNear,flZFar,ref pProjection); - return result; - } - public EVRTrackedCameraError AcquireVideoStreamingService(uint nDeviceIndex,ref ulong pHandle) - { - pHandle = 0; - EVRTrackedCameraError result = FnTable.AcquireVideoStreamingService(nDeviceIndex,ref pHandle); - return result; - } - public EVRTrackedCameraError ReleaseVideoStreamingService(ulong hTrackedCamera) - { - EVRTrackedCameraError result = FnTable.ReleaseVideoStreamingService(hTrackedCamera); - return result; - } - public EVRTrackedCameraError GetVideoStreamFrameBuffer(ulong hTrackedCamera,EVRTrackedCameraFrameType eFrameType,IntPtr pFrameBuffer,uint nFrameBufferSize,ref CameraVideoStreamFrameHeader_t pFrameHeader,uint nFrameHeaderSize) - { - EVRTrackedCameraError result = FnTable.GetVideoStreamFrameBuffer(hTrackedCamera,eFrameType,pFrameBuffer,nFrameBufferSize,ref pFrameHeader,nFrameHeaderSize); - return result; - } - public EVRTrackedCameraError GetVideoStreamTextureSize(uint nDeviceIndex,EVRTrackedCameraFrameType eFrameType,ref VRTextureBounds_t pTextureBounds,ref uint pnWidth,ref uint pnHeight) - { - pnWidth = 0; - pnHeight = 0; - EVRTrackedCameraError result = FnTable.GetVideoStreamTextureSize(nDeviceIndex,eFrameType,ref pTextureBounds,ref pnWidth,ref pnHeight); - return result; - } - public EVRTrackedCameraError GetVideoStreamTextureD3D11(ulong hTrackedCamera,EVRTrackedCameraFrameType eFrameType,IntPtr pD3D11DeviceOrResource,ref IntPtr ppD3D11ShaderResourceView,ref CameraVideoStreamFrameHeader_t pFrameHeader,uint nFrameHeaderSize) - { - EVRTrackedCameraError result = FnTable.GetVideoStreamTextureD3D11(hTrackedCamera,eFrameType,pD3D11DeviceOrResource,ref ppD3D11ShaderResourceView,ref pFrameHeader,nFrameHeaderSize); - return result; - } - public EVRTrackedCameraError GetVideoStreamTextureGL(ulong hTrackedCamera,EVRTrackedCameraFrameType eFrameType,ref uint pglTextureId,ref CameraVideoStreamFrameHeader_t pFrameHeader,uint nFrameHeaderSize) - { - pglTextureId = 0; - EVRTrackedCameraError result = FnTable.GetVideoStreamTextureGL(hTrackedCamera,eFrameType,ref pglTextureId,ref pFrameHeader,nFrameHeaderSize); - return result; - } - public EVRTrackedCameraError ReleaseVideoStreamTextureGL(ulong hTrackedCamera,uint glTextureId) - { - EVRTrackedCameraError result = FnTable.ReleaseVideoStreamTextureGL(hTrackedCamera,glTextureId); - return result; - } -} - - -public class CVRApplications -{ - IVRApplications FnTable; - internal CVRApplications(IntPtr pInterface) - { - FnTable = (IVRApplications)Marshal.PtrToStructure(pInterface, typeof(IVRApplications)); - } - public EVRApplicationError AddApplicationManifest(string pchApplicationManifestFullPath,bool bTemporary) - { - EVRApplicationError result = FnTable.AddApplicationManifest(pchApplicationManifestFullPath,bTemporary); - return result; - } - public EVRApplicationError RemoveApplicationManifest(string pchApplicationManifestFullPath) - { - EVRApplicationError result = FnTable.RemoveApplicationManifest(pchApplicationManifestFullPath); - return result; - } - public bool IsApplicationInstalled(string pchAppKey) - { - bool result = FnTable.IsApplicationInstalled(pchAppKey); - return result; - } - public uint GetApplicationCount() - { - uint result = FnTable.GetApplicationCount(); - return result; - } - public EVRApplicationError GetApplicationKeyByIndex(uint unApplicationIndex,System.Text.StringBuilder pchAppKeyBuffer,uint unAppKeyBufferLen) - { - EVRApplicationError result = FnTable.GetApplicationKeyByIndex(unApplicationIndex,pchAppKeyBuffer,unAppKeyBufferLen); - return result; - } - public EVRApplicationError GetApplicationKeyByProcessId(uint unProcessId,string pchAppKeyBuffer,uint unAppKeyBufferLen) - { - EVRApplicationError result = FnTable.GetApplicationKeyByProcessId(unProcessId,pchAppKeyBuffer,unAppKeyBufferLen); - return result; - } - public EVRApplicationError LaunchApplication(string pchAppKey) - { - EVRApplicationError result = FnTable.LaunchApplication(pchAppKey); - return result; - } - public EVRApplicationError LaunchTemplateApplication(string pchTemplateAppKey,string pchNewAppKey,AppOverrideKeys_t [] pKeys) - { - EVRApplicationError result = FnTable.LaunchTemplateApplication(pchTemplateAppKey,pchNewAppKey,pKeys,(uint) pKeys.Length); - return result; - } - public EVRApplicationError LaunchApplicationFromMimeType(string pchMimeType,string pchArgs) - { - EVRApplicationError result = FnTable.LaunchApplicationFromMimeType(pchMimeType,pchArgs); - return result; - } - public EVRApplicationError LaunchDashboardOverlay(string pchAppKey) - { - EVRApplicationError result = FnTable.LaunchDashboardOverlay(pchAppKey); - return result; - } - public bool CancelApplicationLaunch(string pchAppKey) - { - bool result = FnTable.CancelApplicationLaunch(pchAppKey); - return result; - } - public EVRApplicationError IdentifyApplication(uint unProcessId,string pchAppKey) - { - EVRApplicationError result = FnTable.IdentifyApplication(unProcessId,pchAppKey); - return result; - } - public uint GetApplicationProcessId(string pchAppKey) - { - uint result = FnTable.GetApplicationProcessId(pchAppKey); - return result; - } - public string GetApplicationsErrorNameFromEnum(EVRApplicationError error) - { - IntPtr result = FnTable.GetApplicationsErrorNameFromEnum(error); - return Marshal.PtrToStringAnsi(result); - } - public uint GetApplicationPropertyString(string pchAppKey,EVRApplicationProperty eProperty,System.Text.StringBuilder pchPropertyValueBuffer,uint unPropertyValueBufferLen,ref EVRApplicationError peError) - { - uint result = FnTable.GetApplicationPropertyString(pchAppKey,eProperty,pchPropertyValueBuffer,unPropertyValueBufferLen,ref peError); - return result; - } - public bool GetApplicationPropertyBool(string pchAppKey,EVRApplicationProperty eProperty,ref EVRApplicationError peError) - { - bool result = FnTable.GetApplicationPropertyBool(pchAppKey,eProperty,ref peError); - return result; - } - public ulong GetApplicationPropertyUint64(string pchAppKey,EVRApplicationProperty eProperty,ref EVRApplicationError peError) - { - ulong result = FnTable.GetApplicationPropertyUint64(pchAppKey,eProperty,ref peError); - return result; - } - public EVRApplicationError SetApplicationAutoLaunch(string pchAppKey,bool bAutoLaunch) - { - EVRApplicationError result = FnTable.SetApplicationAutoLaunch(pchAppKey,bAutoLaunch); - return result; - } - public bool GetApplicationAutoLaunch(string pchAppKey) - { - bool result = FnTable.GetApplicationAutoLaunch(pchAppKey); - return result; - } - public EVRApplicationError SetDefaultApplicationForMimeType(string pchAppKey,string pchMimeType) - { - EVRApplicationError result = FnTable.SetDefaultApplicationForMimeType(pchAppKey,pchMimeType); - return result; - } - public bool GetDefaultApplicationForMimeType(string pchMimeType,string pchAppKeyBuffer,uint unAppKeyBufferLen) - { - bool result = FnTable.GetDefaultApplicationForMimeType(pchMimeType,pchAppKeyBuffer,unAppKeyBufferLen); - return result; - } - public bool GetApplicationSupportedMimeTypes(string pchAppKey,string pchMimeTypesBuffer,uint unMimeTypesBuffer) - { - bool result = FnTable.GetApplicationSupportedMimeTypes(pchAppKey,pchMimeTypesBuffer,unMimeTypesBuffer); - return result; - } - public uint GetApplicationsThatSupportMimeType(string pchMimeType,string pchAppKeysThatSupportBuffer,uint unAppKeysThatSupportBuffer) - { - uint result = FnTable.GetApplicationsThatSupportMimeType(pchMimeType,pchAppKeysThatSupportBuffer,unAppKeysThatSupportBuffer); - return result; - } - public uint GetApplicationLaunchArguments(uint unHandle,string pchArgs,uint unArgs) - { - uint result = FnTable.GetApplicationLaunchArguments(unHandle,pchArgs,unArgs); - return result; - } - public EVRApplicationError GetStartingApplication(string pchAppKeyBuffer,uint unAppKeyBufferLen) - { - EVRApplicationError result = FnTable.GetStartingApplication(pchAppKeyBuffer,unAppKeyBufferLen); - return result; - } - public EVRApplicationTransitionState GetTransitionState() - { - EVRApplicationTransitionState result = FnTable.GetTransitionState(); - return result; - } - public EVRApplicationError PerformApplicationPrelaunchCheck(string pchAppKey) - { - EVRApplicationError result = FnTable.PerformApplicationPrelaunchCheck(pchAppKey); - return result; - } - public string GetApplicationsTransitionStateNameFromEnum(EVRApplicationTransitionState state) - { - IntPtr result = FnTable.GetApplicationsTransitionStateNameFromEnum(state); - return Marshal.PtrToStringAnsi(result); - } - public bool IsQuitUserPromptRequested() - { - bool result = FnTable.IsQuitUserPromptRequested(); - return result; - } - public EVRApplicationError LaunchInternalProcess(string pchBinaryPath,string pchArguments,string pchWorkingDirectory) - { - EVRApplicationError result = FnTable.LaunchInternalProcess(pchBinaryPath,pchArguments,pchWorkingDirectory); - return result; - } - public uint GetCurrentSceneProcessId() - { - uint result = FnTable.GetCurrentSceneProcessId(); - return result; - } -} - - -public class CVRChaperone -{ - IVRChaperone FnTable; - internal CVRChaperone(IntPtr pInterface) - { - FnTable = (IVRChaperone)Marshal.PtrToStructure(pInterface, typeof(IVRChaperone)); - } - public ChaperoneCalibrationState GetCalibrationState() - { - ChaperoneCalibrationState result = FnTable.GetCalibrationState(); - return result; - } - public bool GetPlayAreaSize(ref float pSizeX,ref float pSizeZ) - { - pSizeX = 0; - pSizeZ = 0; - bool result = FnTable.GetPlayAreaSize(ref pSizeX,ref pSizeZ); - return result; - } - public bool GetPlayAreaRect(ref HmdQuad_t rect) - { - bool result = FnTable.GetPlayAreaRect(ref rect); - return result; - } - public void ReloadInfo() - { - FnTable.ReloadInfo(); - } - public void SetSceneColor(HmdColor_t color) - { - FnTable.SetSceneColor(color); - } - public void GetBoundsColor(ref HmdColor_t pOutputColorArray,int nNumOutputColors,float flCollisionBoundsFadeDistance,ref HmdColor_t pOutputCameraColor) - { - FnTable.GetBoundsColor(ref pOutputColorArray,nNumOutputColors,flCollisionBoundsFadeDistance,ref pOutputCameraColor); - } - public bool AreBoundsVisible() - { - bool result = FnTable.AreBoundsVisible(); - return result; - } - public void ForceBoundsVisible(bool bForce) - { - FnTable.ForceBoundsVisible(bForce); - } -} - - -public class CVRChaperoneSetup -{ - IVRChaperoneSetup FnTable; - internal CVRChaperoneSetup(IntPtr pInterface) - { - FnTable = (IVRChaperoneSetup)Marshal.PtrToStructure(pInterface, typeof(IVRChaperoneSetup)); - } - public bool CommitWorkingCopy(EChaperoneConfigFile configFile) - { - bool result = FnTable.CommitWorkingCopy(configFile); - return result; - } - public void RevertWorkingCopy() - { - FnTable.RevertWorkingCopy(); - } - public bool GetWorkingPlayAreaSize(ref float pSizeX,ref float pSizeZ) - { - pSizeX = 0; - pSizeZ = 0; - bool result = FnTable.GetWorkingPlayAreaSize(ref pSizeX,ref pSizeZ); - return result; - } - public bool GetWorkingPlayAreaRect(ref HmdQuad_t rect) - { - bool result = FnTable.GetWorkingPlayAreaRect(ref rect); - return result; - } - public bool GetWorkingCollisionBoundsInfo(out HmdQuad_t [] pQuadsBuffer) - { - uint punQuadsCount = 0; - bool result = FnTable.GetWorkingCollisionBoundsInfo(null,ref punQuadsCount); - pQuadsBuffer= new HmdQuad_t[punQuadsCount]; - result = FnTable.GetWorkingCollisionBoundsInfo(pQuadsBuffer,ref punQuadsCount); - return result; - } - public bool GetLiveCollisionBoundsInfo(out HmdQuad_t [] pQuadsBuffer) - { - uint punQuadsCount = 0; - bool result = FnTable.GetLiveCollisionBoundsInfo(null,ref punQuadsCount); - pQuadsBuffer= new HmdQuad_t[punQuadsCount]; - result = FnTable.GetLiveCollisionBoundsInfo(pQuadsBuffer,ref punQuadsCount); - return result; - } - public bool GetWorkingSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose) - { - bool result = FnTable.GetWorkingSeatedZeroPoseToRawTrackingPose(ref pmatSeatedZeroPoseToRawTrackingPose); - return result; - } - public bool GetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatStandingZeroPoseToRawTrackingPose) - { - bool result = FnTable.GetWorkingStandingZeroPoseToRawTrackingPose(ref pmatStandingZeroPoseToRawTrackingPose); - return result; - } - public void SetWorkingPlayAreaSize(float sizeX,float sizeZ) - { - FnTable.SetWorkingPlayAreaSize(sizeX,sizeZ); - } - public void SetWorkingCollisionBoundsInfo(HmdQuad_t [] pQuadsBuffer) - { - FnTable.SetWorkingCollisionBoundsInfo(pQuadsBuffer,(uint) pQuadsBuffer.Length); - } - public void SetWorkingSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatSeatedZeroPoseToRawTrackingPose) - { - FnTable.SetWorkingSeatedZeroPoseToRawTrackingPose(ref pMatSeatedZeroPoseToRawTrackingPose); - } - public void SetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose) - { - FnTable.SetWorkingStandingZeroPoseToRawTrackingPose(ref pMatStandingZeroPoseToRawTrackingPose); - } - public void ReloadFromDisk(EChaperoneConfigFile configFile) - { - FnTable.ReloadFromDisk(configFile); - } - public bool GetLiveSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose) - { - bool result = FnTable.GetLiveSeatedZeroPoseToRawTrackingPose(ref pmatSeatedZeroPoseToRawTrackingPose); - return result; - } - public void SetWorkingCollisionBoundsTagsInfo(byte [] pTagsBuffer) - { - FnTable.SetWorkingCollisionBoundsTagsInfo(pTagsBuffer,(uint) pTagsBuffer.Length); - } - public bool GetLiveCollisionBoundsTagsInfo(out byte [] pTagsBuffer) - { - uint punTagCount = 0; - bool result = FnTable.GetLiveCollisionBoundsTagsInfo(null,ref punTagCount); - pTagsBuffer= new byte[punTagCount]; - result = FnTable.GetLiveCollisionBoundsTagsInfo(pTagsBuffer,ref punTagCount); - return result; - } - public bool SetWorkingPhysicalBoundsInfo(HmdQuad_t [] pQuadsBuffer) - { - bool result = FnTable.SetWorkingPhysicalBoundsInfo(pQuadsBuffer,(uint) pQuadsBuffer.Length); - return result; - } - public bool GetLivePhysicalBoundsInfo(out HmdQuad_t [] pQuadsBuffer) - { - uint punQuadsCount = 0; - bool result = FnTable.GetLivePhysicalBoundsInfo(null,ref punQuadsCount); - pQuadsBuffer= new HmdQuad_t[punQuadsCount]; - result = FnTable.GetLivePhysicalBoundsInfo(pQuadsBuffer,ref punQuadsCount); - return result; - } - public bool ExportLiveToBuffer(System.Text.StringBuilder pBuffer,ref uint pnBufferLength) - { - pnBufferLength = 0; - bool result = FnTable.ExportLiveToBuffer(pBuffer,ref pnBufferLength); - return result; - } - public bool ImportFromBufferToWorking(string pBuffer,uint nImportFlags) - { - bool result = FnTable.ImportFromBufferToWorking(pBuffer,nImportFlags); - return result; - } -} - - -public class CVRCompositor -{ - IVRCompositor FnTable; - internal CVRCompositor(IntPtr pInterface) - { - FnTable = (IVRCompositor)Marshal.PtrToStructure(pInterface, typeof(IVRCompositor)); - } - public void SetTrackingSpace(ETrackingUniverseOrigin eOrigin) - { - FnTable.SetTrackingSpace(eOrigin); - } - public ETrackingUniverseOrigin GetTrackingSpace() - { - ETrackingUniverseOrigin result = FnTable.GetTrackingSpace(); - return result; - } - public EVRCompositorError WaitGetPoses(TrackedDevicePose_t [] pRenderPoseArray,TrackedDevicePose_t [] pGamePoseArray) - { - EVRCompositorError result = FnTable.WaitGetPoses(pRenderPoseArray,(uint) pRenderPoseArray.Length,pGamePoseArray,(uint) pGamePoseArray.Length); - return result; - } - public EVRCompositorError GetLastPoses(TrackedDevicePose_t [] pRenderPoseArray,TrackedDevicePose_t [] pGamePoseArray) - { - EVRCompositorError result = FnTable.GetLastPoses(pRenderPoseArray,(uint) pRenderPoseArray.Length,pGamePoseArray,(uint) pGamePoseArray.Length); - return result; - } - public EVRCompositorError GetLastPoseForTrackedDeviceIndex(uint unDeviceIndex,ref TrackedDevicePose_t pOutputPose,ref TrackedDevicePose_t pOutputGamePose) - { - EVRCompositorError result = FnTable.GetLastPoseForTrackedDeviceIndex(unDeviceIndex,ref pOutputPose,ref pOutputGamePose); - return result; - } - public EVRCompositorError Submit(EVREye eEye,ref Texture_t pTexture,ref VRTextureBounds_t pBounds,EVRSubmitFlags nSubmitFlags) - { - EVRCompositorError result = FnTable.Submit(eEye,ref pTexture,ref pBounds,nSubmitFlags); - return result; - } - public void ClearLastSubmittedFrame() - { - FnTable.ClearLastSubmittedFrame(); - } - public void PostPresentHandoff() - { - FnTable.PostPresentHandoff(); - } - public bool GetFrameTiming(ref Compositor_FrameTiming pTiming,uint unFramesAgo) - { - bool result = FnTable.GetFrameTiming(ref pTiming,unFramesAgo); - return result; - } - public uint GetFrameTimings(ref Compositor_FrameTiming pTiming,uint nFrames) - { - uint result = FnTable.GetFrameTimings(ref pTiming,nFrames); - return result; - } - public float GetFrameTimeRemaining() - { - float result = FnTable.GetFrameTimeRemaining(); - return result; - } - public void GetCumulativeStats(ref Compositor_CumulativeStats pStats,uint nStatsSizeInBytes) - { - FnTable.GetCumulativeStats(ref pStats,nStatsSizeInBytes); - } - public void FadeToColor(float fSeconds,float fRed,float fGreen,float fBlue,float fAlpha,bool bBackground) - { - FnTable.FadeToColor(fSeconds,fRed,fGreen,fBlue,fAlpha,bBackground); - } - public HmdColor_t GetCurrentFadeColor(bool bBackground) - { - HmdColor_t result = FnTable.GetCurrentFadeColor(bBackground); - return result; - } - public void FadeGrid(float fSeconds,bool bFadeIn) - { - FnTable.FadeGrid(fSeconds,bFadeIn); - } - public float GetCurrentGridAlpha() - { - float result = FnTable.GetCurrentGridAlpha(); - return result; - } - public EVRCompositorError SetSkyboxOverride(Texture_t [] pTextures) - { - EVRCompositorError result = FnTable.SetSkyboxOverride(pTextures,(uint) pTextures.Length); - return result; - } - public void ClearSkyboxOverride() - { - FnTable.ClearSkyboxOverride(); - } - public void CompositorBringToFront() - { - FnTable.CompositorBringToFront(); - } - public void CompositorGoToBack() - { - FnTable.CompositorGoToBack(); - } - public void CompositorQuit() - { - FnTable.CompositorQuit(); - } - public bool IsFullscreen() - { - bool result = FnTable.IsFullscreen(); - return result; - } - public uint GetCurrentSceneFocusProcess() - { - uint result = FnTable.GetCurrentSceneFocusProcess(); - return result; - } - public uint GetLastFrameRenderer() - { - uint result = FnTable.GetLastFrameRenderer(); - return result; - } - public bool CanRenderScene() - { - bool result = FnTable.CanRenderScene(); - return result; - } - public void ShowMirrorWindow() - { - FnTable.ShowMirrorWindow(); - } - public void HideMirrorWindow() - { - FnTable.HideMirrorWindow(); - } - public bool IsMirrorWindowVisible() - { - bool result = FnTable.IsMirrorWindowVisible(); - return result; - } - public void CompositorDumpImages() - { - FnTable.CompositorDumpImages(); - } - public bool ShouldAppRenderWithLowResources() - { - bool result = FnTable.ShouldAppRenderWithLowResources(); - return result; - } - public void ForceInterleavedReprojectionOn(bool bOverride) - { - FnTable.ForceInterleavedReprojectionOn(bOverride); - } - public void ForceReconnectProcess() - { - FnTable.ForceReconnectProcess(); - } - public void SuspendRendering(bool bSuspend) - { - FnTable.SuspendRendering(bSuspend); - } - public EVRCompositorError GetMirrorTextureD3D11(EVREye eEye,IntPtr pD3D11DeviceOrResource,ref IntPtr ppD3D11ShaderResourceView) - { - EVRCompositorError result = FnTable.GetMirrorTextureD3D11(eEye,pD3D11DeviceOrResource,ref ppD3D11ShaderResourceView); - return result; - } - public void ReleaseMirrorTextureD3D11(IntPtr pD3D11ShaderResourceView) - { - FnTable.ReleaseMirrorTextureD3D11(pD3D11ShaderResourceView); - } - public EVRCompositorError GetMirrorTextureGL(EVREye eEye,ref uint pglTextureId,IntPtr pglSharedTextureHandle) - { - pglTextureId = 0; - EVRCompositorError result = FnTable.GetMirrorTextureGL(eEye,ref pglTextureId,pglSharedTextureHandle); - return result; - } - public bool ReleaseSharedGLTexture(uint glTextureId,IntPtr glSharedTextureHandle) - { - bool result = FnTable.ReleaseSharedGLTexture(glTextureId,glSharedTextureHandle); - return result; - } - public void LockGLSharedTextureForAccess(IntPtr glSharedTextureHandle) - { - FnTable.LockGLSharedTextureForAccess(glSharedTextureHandle); - } - public void UnlockGLSharedTextureForAccess(IntPtr glSharedTextureHandle) - { - FnTable.UnlockGLSharedTextureForAccess(glSharedTextureHandle); - } - public uint GetVulkanInstanceExtensionsRequired(System.Text.StringBuilder pchValue,uint unBufferSize) - { - uint result = FnTable.GetVulkanInstanceExtensionsRequired(pchValue,unBufferSize); - return result; - } - public uint GetVulkanDeviceExtensionsRequired(IntPtr pPhysicalDevice,System.Text.StringBuilder pchValue,uint unBufferSize) - { - uint result = FnTable.GetVulkanDeviceExtensionsRequired(pPhysicalDevice,pchValue,unBufferSize); - return result; - } - public void SetExplicitTimingMode(bool bExplicitTimingMode) - { - FnTable.SetExplicitTimingMode(bExplicitTimingMode); - } - public EVRCompositorError SubmitExplicitTimingData() - { - EVRCompositorError result = FnTable.SubmitExplicitTimingData(); - return result; - } -} - - -public class CVROverlay -{ - IVROverlay FnTable; - internal CVROverlay(IntPtr pInterface) - { - FnTable = (IVROverlay)Marshal.PtrToStructure(pInterface, typeof(IVROverlay)); - } - public EVROverlayError FindOverlay(string pchOverlayKey,ref ulong pOverlayHandle) - { - pOverlayHandle = 0; - EVROverlayError result = FnTable.FindOverlay(pchOverlayKey,ref pOverlayHandle); - return result; - } - public EVROverlayError CreateOverlay(string pchOverlayKey,string pchOverlayName,ref ulong pOverlayHandle) - { - pOverlayHandle = 0; - EVROverlayError result = FnTable.CreateOverlay(pchOverlayKey,pchOverlayName,ref pOverlayHandle); - return result; - } - public EVROverlayError DestroyOverlay(ulong ulOverlayHandle) - { - EVROverlayError result = FnTable.DestroyOverlay(ulOverlayHandle); - return result; - } - public EVROverlayError SetHighQualityOverlay(ulong ulOverlayHandle) - { - EVROverlayError result = FnTable.SetHighQualityOverlay(ulOverlayHandle); - return result; - } - public ulong GetHighQualityOverlay() - { - ulong result = FnTable.GetHighQualityOverlay(); - return result; - } - public uint GetOverlayKey(ulong ulOverlayHandle,System.Text.StringBuilder pchValue,uint unBufferSize,ref EVROverlayError pError) - { - uint result = FnTable.GetOverlayKey(ulOverlayHandle,pchValue,unBufferSize,ref pError); - return result; - } - public uint GetOverlayName(ulong ulOverlayHandle,System.Text.StringBuilder pchValue,uint unBufferSize,ref EVROverlayError pError) - { - uint result = FnTable.GetOverlayName(ulOverlayHandle,pchValue,unBufferSize,ref pError); - return result; - } - public EVROverlayError SetOverlayName(ulong ulOverlayHandle,string pchName) - { - EVROverlayError result = FnTable.SetOverlayName(ulOverlayHandle,pchName); - return result; - } - public EVROverlayError GetOverlayImageData(ulong ulOverlayHandle,IntPtr pvBuffer,uint unBufferSize,ref uint punWidth,ref uint punHeight) - { - punWidth = 0; - punHeight = 0; - EVROverlayError result = FnTable.GetOverlayImageData(ulOverlayHandle,pvBuffer,unBufferSize,ref punWidth,ref punHeight); - return result; - } - public string GetOverlayErrorNameFromEnum(EVROverlayError error) - { - IntPtr result = FnTable.GetOverlayErrorNameFromEnum(error); - return Marshal.PtrToStringAnsi(result); - } - public EVROverlayError SetOverlayRenderingPid(ulong ulOverlayHandle,uint unPID) - { - EVROverlayError result = FnTable.SetOverlayRenderingPid(ulOverlayHandle,unPID); - return result; - } - public uint GetOverlayRenderingPid(ulong ulOverlayHandle) - { - uint result = FnTable.GetOverlayRenderingPid(ulOverlayHandle); - return result; - } - public EVROverlayError SetOverlayFlag(ulong ulOverlayHandle,VROverlayFlags eOverlayFlag,bool bEnabled) - { - EVROverlayError result = FnTable.SetOverlayFlag(ulOverlayHandle,eOverlayFlag,bEnabled); - return result; - } - public EVROverlayError GetOverlayFlag(ulong ulOverlayHandle,VROverlayFlags eOverlayFlag,ref bool pbEnabled) - { - pbEnabled = false; - EVROverlayError result = FnTable.GetOverlayFlag(ulOverlayHandle,eOverlayFlag,ref pbEnabled); - return result; - } - public EVROverlayError SetOverlayColor(ulong ulOverlayHandle,float fRed,float fGreen,float fBlue) - { - EVROverlayError result = FnTable.SetOverlayColor(ulOverlayHandle,fRed,fGreen,fBlue); - return result; - } - public EVROverlayError GetOverlayColor(ulong ulOverlayHandle,ref float pfRed,ref float pfGreen,ref float pfBlue) - { - pfRed = 0; - pfGreen = 0; - pfBlue = 0; - EVROverlayError result = FnTable.GetOverlayColor(ulOverlayHandle,ref pfRed,ref pfGreen,ref pfBlue); - return result; - } - public EVROverlayError SetOverlayAlpha(ulong ulOverlayHandle,float fAlpha) - { - EVROverlayError result = FnTable.SetOverlayAlpha(ulOverlayHandle,fAlpha); - return result; - } - public EVROverlayError GetOverlayAlpha(ulong ulOverlayHandle,ref float pfAlpha) - { - pfAlpha = 0; - EVROverlayError result = FnTable.GetOverlayAlpha(ulOverlayHandle,ref pfAlpha); - return result; - } - public EVROverlayError SetOverlayTexelAspect(ulong ulOverlayHandle,float fTexelAspect) - { - EVROverlayError result = FnTable.SetOverlayTexelAspect(ulOverlayHandle,fTexelAspect); - return result; - } - public EVROverlayError GetOverlayTexelAspect(ulong ulOverlayHandle,ref float pfTexelAspect) - { - pfTexelAspect = 0; - EVROverlayError result = FnTable.GetOverlayTexelAspect(ulOverlayHandle,ref pfTexelAspect); - return result; - } - public EVROverlayError SetOverlaySortOrder(ulong ulOverlayHandle,uint unSortOrder) - { - EVROverlayError result = FnTable.SetOverlaySortOrder(ulOverlayHandle,unSortOrder); - return result; - } - public EVROverlayError GetOverlaySortOrder(ulong ulOverlayHandle,ref uint punSortOrder) - { - punSortOrder = 0; - EVROverlayError result = FnTable.GetOverlaySortOrder(ulOverlayHandle,ref punSortOrder); - return result; - } - public EVROverlayError SetOverlayWidthInMeters(ulong ulOverlayHandle,float fWidthInMeters) - { - EVROverlayError result = FnTable.SetOverlayWidthInMeters(ulOverlayHandle,fWidthInMeters); - return result; - } - public EVROverlayError GetOverlayWidthInMeters(ulong ulOverlayHandle,ref float pfWidthInMeters) - { - pfWidthInMeters = 0; - EVROverlayError result = FnTable.GetOverlayWidthInMeters(ulOverlayHandle,ref pfWidthInMeters); - return result; - } - public EVROverlayError SetOverlayAutoCurveDistanceRangeInMeters(ulong ulOverlayHandle,float fMinDistanceInMeters,float fMaxDistanceInMeters) - { - EVROverlayError result = FnTable.SetOverlayAutoCurveDistanceRangeInMeters(ulOverlayHandle,fMinDistanceInMeters,fMaxDistanceInMeters); - return result; - } - public EVROverlayError GetOverlayAutoCurveDistanceRangeInMeters(ulong ulOverlayHandle,ref float pfMinDistanceInMeters,ref float pfMaxDistanceInMeters) - { - pfMinDistanceInMeters = 0; - pfMaxDistanceInMeters = 0; - EVROverlayError result = FnTable.GetOverlayAutoCurveDistanceRangeInMeters(ulOverlayHandle,ref pfMinDistanceInMeters,ref pfMaxDistanceInMeters); - return result; - } - public EVROverlayError SetOverlayTextureColorSpace(ulong ulOverlayHandle,EColorSpace eTextureColorSpace) - { - EVROverlayError result = FnTable.SetOverlayTextureColorSpace(ulOverlayHandle,eTextureColorSpace); - return result; - } - public EVROverlayError GetOverlayTextureColorSpace(ulong ulOverlayHandle,ref EColorSpace peTextureColorSpace) - { - EVROverlayError result = FnTable.GetOverlayTextureColorSpace(ulOverlayHandle,ref peTextureColorSpace); - return result; - } - public EVROverlayError SetOverlayTextureBounds(ulong ulOverlayHandle,ref VRTextureBounds_t pOverlayTextureBounds) - { - EVROverlayError result = FnTable.SetOverlayTextureBounds(ulOverlayHandle,ref pOverlayTextureBounds); - return result; - } - public EVROverlayError GetOverlayTextureBounds(ulong ulOverlayHandle,ref VRTextureBounds_t pOverlayTextureBounds) - { - EVROverlayError result = FnTable.GetOverlayTextureBounds(ulOverlayHandle,ref pOverlayTextureBounds); - return result; - } - public uint GetOverlayRenderModel(ulong ulOverlayHandle,string pchValue,uint unBufferSize,ref HmdColor_t pColor,ref EVROverlayError pError) - { - uint result = FnTable.GetOverlayRenderModel(ulOverlayHandle,pchValue,unBufferSize,ref pColor,ref pError); - return result; - } - public EVROverlayError SetOverlayRenderModel(ulong ulOverlayHandle,string pchRenderModel,ref HmdColor_t pColor) - { - EVROverlayError result = FnTable.SetOverlayRenderModel(ulOverlayHandle,pchRenderModel,ref pColor); - return result; - } - public EVROverlayError GetOverlayTransformType(ulong ulOverlayHandle,ref VROverlayTransformType peTransformType) - { - EVROverlayError result = FnTable.GetOverlayTransformType(ulOverlayHandle,ref peTransformType); - return result; - } - public EVROverlayError SetOverlayTransformAbsolute(ulong ulOverlayHandle,ETrackingUniverseOrigin eTrackingOrigin,ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform) - { - EVROverlayError result = FnTable.SetOverlayTransformAbsolute(ulOverlayHandle,eTrackingOrigin,ref pmatTrackingOriginToOverlayTransform); - return result; - } - public EVROverlayError GetOverlayTransformAbsolute(ulong ulOverlayHandle,ref ETrackingUniverseOrigin peTrackingOrigin,ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform) - { - EVROverlayError result = FnTable.GetOverlayTransformAbsolute(ulOverlayHandle,ref peTrackingOrigin,ref pmatTrackingOriginToOverlayTransform); - return result; - } - public EVROverlayError SetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle,uint unTrackedDevice,ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform) - { - EVROverlayError result = FnTable.SetOverlayTransformTrackedDeviceRelative(ulOverlayHandle,unTrackedDevice,ref pmatTrackedDeviceToOverlayTransform); - return result; - } - public EVROverlayError GetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle,ref uint punTrackedDevice,ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform) - { - punTrackedDevice = 0; - EVROverlayError result = FnTable.GetOverlayTransformTrackedDeviceRelative(ulOverlayHandle,ref punTrackedDevice,ref pmatTrackedDeviceToOverlayTransform); - return result; - } - public EVROverlayError SetOverlayTransformTrackedDeviceComponent(ulong ulOverlayHandle,uint unDeviceIndex,string pchComponentName) - { - EVROverlayError result = FnTable.SetOverlayTransformTrackedDeviceComponent(ulOverlayHandle,unDeviceIndex,pchComponentName); - return result; - } - public EVROverlayError GetOverlayTransformTrackedDeviceComponent(ulong ulOverlayHandle,ref uint punDeviceIndex,string pchComponentName,uint unComponentNameSize) - { - punDeviceIndex = 0; - EVROverlayError result = FnTable.GetOverlayTransformTrackedDeviceComponent(ulOverlayHandle,ref punDeviceIndex,pchComponentName,unComponentNameSize); - return result; - } - public EVROverlayError GetOverlayTransformOverlayRelative(ulong ulOverlayHandle,ref ulong ulOverlayHandleParent,ref HmdMatrix34_t pmatParentOverlayToOverlayTransform) - { - ulOverlayHandleParent = 0; - EVROverlayError result = FnTable.GetOverlayTransformOverlayRelative(ulOverlayHandle,ref ulOverlayHandleParent,ref pmatParentOverlayToOverlayTransform); - return result; - } - public EVROverlayError SetOverlayTransformOverlayRelative(ulong ulOverlayHandle,ulong ulOverlayHandleParent,ref HmdMatrix34_t pmatParentOverlayToOverlayTransform) - { - EVROverlayError result = FnTable.SetOverlayTransformOverlayRelative(ulOverlayHandle,ulOverlayHandleParent,ref pmatParentOverlayToOverlayTransform); - return result; - } - public EVROverlayError ShowOverlay(ulong ulOverlayHandle) - { - EVROverlayError result = FnTable.ShowOverlay(ulOverlayHandle); - return result; - } - public EVROverlayError HideOverlay(ulong ulOverlayHandle) - { - EVROverlayError result = FnTable.HideOverlay(ulOverlayHandle); - return result; - } - public bool IsOverlayVisible(ulong ulOverlayHandle) - { - bool result = FnTable.IsOverlayVisible(ulOverlayHandle); - return result; - } - public EVROverlayError GetTransformForOverlayCoordinates(ulong ulOverlayHandle,ETrackingUniverseOrigin eTrackingOrigin,HmdVector2_t coordinatesInOverlay,ref HmdMatrix34_t pmatTransform) - { - EVROverlayError result = FnTable.GetTransformForOverlayCoordinates(ulOverlayHandle,eTrackingOrigin,coordinatesInOverlay,ref pmatTransform); - return result; - } -// This is a terrible hack to workaround the fact that VRControllerState_t and VREvent_t were -// originally mis-compiled with the wrong packing for Linux and OSX. - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _PollNextOverlayEventPacked(ulong ulOverlayHandle,ref VREvent_t_Packed pEvent,uint uncbVREvent); - [StructLayout(LayoutKind.Explicit)] - struct PollNextOverlayEventUnion - { - [FieldOffset(0)] - public IVROverlay._PollNextOverlayEvent pPollNextOverlayEvent; - [FieldOffset(0)] - public _PollNextOverlayEventPacked pPollNextOverlayEventPacked; - } - public bool PollNextOverlayEvent(ulong ulOverlayHandle,ref VREvent_t pEvent,uint uncbVREvent) - { -#if !UNITY_METRO - if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) || - (System.Environment.OSVersion.Platform == System.PlatformID.Unix)) - { - PollNextOverlayEventUnion u; - VREvent_t_Packed event_packed = new VREvent_t_Packed(); - u.pPollNextOverlayEventPacked = null; - u.pPollNextOverlayEvent = FnTable.PollNextOverlayEvent; - bool packed_result = u.pPollNextOverlayEventPacked(ulOverlayHandle,ref event_packed,(uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(VREvent_t_Packed))); - - event_packed.Unpack(ref pEvent); - return packed_result; - } -#endif - bool result = FnTable.PollNextOverlayEvent(ulOverlayHandle,ref pEvent,uncbVREvent); - return result; - } - public EVROverlayError GetOverlayInputMethod(ulong ulOverlayHandle,ref VROverlayInputMethod peInputMethod) - { - EVROverlayError result = FnTable.GetOverlayInputMethod(ulOverlayHandle,ref peInputMethod); - return result; - } - public EVROverlayError SetOverlayInputMethod(ulong ulOverlayHandle,VROverlayInputMethod eInputMethod) - { - EVROverlayError result = FnTable.SetOverlayInputMethod(ulOverlayHandle,eInputMethod); - return result; - } - public EVROverlayError GetOverlayMouseScale(ulong ulOverlayHandle,ref HmdVector2_t pvecMouseScale) - { - EVROverlayError result = FnTable.GetOverlayMouseScale(ulOverlayHandle,ref pvecMouseScale); - return result; - } - public EVROverlayError SetOverlayMouseScale(ulong ulOverlayHandle,ref HmdVector2_t pvecMouseScale) - { - EVROverlayError result = FnTable.SetOverlayMouseScale(ulOverlayHandle,ref pvecMouseScale); - return result; - } - public bool ComputeOverlayIntersection(ulong ulOverlayHandle,ref VROverlayIntersectionParams_t pParams,ref VROverlayIntersectionResults_t pResults) - { - bool result = FnTable.ComputeOverlayIntersection(ulOverlayHandle,ref pParams,ref pResults); - return result; - } - public bool HandleControllerOverlayInteractionAsMouse(ulong ulOverlayHandle,uint unControllerDeviceIndex) - { - bool result = FnTable.HandleControllerOverlayInteractionAsMouse(ulOverlayHandle,unControllerDeviceIndex); - return result; - } - public bool IsHoverTargetOverlay(ulong ulOverlayHandle) - { - bool result = FnTable.IsHoverTargetOverlay(ulOverlayHandle); - return result; - } - public ulong GetGamepadFocusOverlay() - { - ulong result = FnTable.GetGamepadFocusOverlay(); - return result; - } - public EVROverlayError SetGamepadFocusOverlay(ulong ulNewFocusOverlay) - { - EVROverlayError result = FnTable.SetGamepadFocusOverlay(ulNewFocusOverlay); - return result; - } - public EVROverlayError SetOverlayNeighbor(EOverlayDirection eDirection,ulong ulFrom,ulong ulTo) - { - EVROverlayError result = FnTable.SetOverlayNeighbor(eDirection,ulFrom,ulTo); - return result; - } - public EVROverlayError MoveGamepadFocusToNeighbor(EOverlayDirection eDirection,ulong ulFrom) - { - EVROverlayError result = FnTable.MoveGamepadFocusToNeighbor(eDirection,ulFrom); - return result; - } - public EVROverlayError SetOverlayTexture(ulong ulOverlayHandle,ref Texture_t pTexture) - { - EVROverlayError result = FnTable.SetOverlayTexture(ulOverlayHandle,ref pTexture); - return result; - } - public EVROverlayError ClearOverlayTexture(ulong ulOverlayHandle) - { - EVROverlayError result = FnTable.ClearOverlayTexture(ulOverlayHandle); - return result; - } - public EVROverlayError SetOverlayRaw(ulong ulOverlayHandle,IntPtr pvBuffer,uint unWidth,uint unHeight,uint unDepth) - { - EVROverlayError result = FnTable.SetOverlayRaw(ulOverlayHandle,pvBuffer,unWidth,unHeight,unDepth); - return result; - } - public EVROverlayError SetOverlayFromFile(ulong ulOverlayHandle,string pchFilePath) - { - EVROverlayError result = FnTable.SetOverlayFromFile(ulOverlayHandle,pchFilePath); - return result; - } - public EVROverlayError GetOverlayTexture(ulong ulOverlayHandle,ref IntPtr pNativeTextureHandle,IntPtr pNativeTextureRef,ref uint pWidth,ref uint pHeight,ref uint pNativeFormat,ref ETextureType pAPIType,ref EColorSpace pColorSpace,ref VRTextureBounds_t pTextureBounds) - { - pWidth = 0; - pHeight = 0; - pNativeFormat = 0; - EVROverlayError result = FnTable.GetOverlayTexture(ulOverlayHandle,ref pNativeTextureHandle,pNativeTextureRef,ref pWidth,ref pHeight,ref pNativeFormat,ref pAPIType,ref pColorSpace,ref pTextureBounds); - return result; - } - public EVROverlayError ReleaseNativeOverlayHandle(ulong ulOverlayHandle,IntPtr pNativeTextureHandle) - { - EVROverlayError result = FnTable.ReleaseNativeOverlayHandle(ulOverlayHandle,pNativeTextureHandle); - return result; - } - public EVROverlayError GetOverlayTextureSize(ulong ulOverlayHandle,ref uint pWidth,ref uint pHeight) - { - pWidth = 0; - pHeight = 0; - EVROverlayError result = FnTable.GetOverlayTextureSize(ulOverlayHandle,ref pWidth,ref pHeight); - return result; - } - public EVROverlayError CreateDashboardOverlay(string pchOverlayKey,string pchOverlayFriendlyName,ref ulong pMainHandle,ref ulong pThumbnailHandle) - { - pMainHandle = 0; - pThumbnailHandle = 0; - EVROverlayError result = FnTable.CreateDashboardOverlay(pchOverlayKey,pchOverlayFriendlyName,ref pMainHandle,ref pThumbnailHandle); - return result; - } - public bool IsDashboardVisible() - { - bool result = FnTable.IsDashboardVisible(); - return result; - } - public bool IsActiveDashboardOverlay(ulong ulOverlayHandle) - { - bool result = FnTable.IsActiveDashboardOverlay(ulOverlayHandle); - return result; - } - public EVROverlayError SetDashboardOverlaySceneProcess(ulong ulOverlayHandle,uint unProcessId) - { - EVROverlayError result = FnTable.SetDashboardOverlaySceneProcess(ulOverlayHandle,unProcessId); - return result; - } - public EVROverlayError GetDashboardOverlaySceneProcess(ulong ulOverlayHandle,ref uint punProcessId) - { - punProcessId = 0; - EVROverlayError result = FnTable.GetDashboardOverlaySceneProcess(ulOverlayHandle,ref punProcessId); - return result; - } - public void ShowDashboard(string pchOverlayToShow) - { - FnTable.ShowDashboard(pchOverlayToShow); - } - public uint GetPrimaryDashboardDevice() - { - uint result = FnTable.GetPrimaryDashboardDevice(); - return result; - } - public EVROverlayError ShowKeyboard(int eInputMode,int eLineInputMode,string pchDescription,uint unCharMax,string pchExistingText,bool bUseMinimalMode,ulong uUserValue) - { - EVROverlayError result = FnTable.ShowKeyboard(eInputMode,eLineInputMode,pchDescription,unCharMax,pchExistingText,bUseMinimalMode,uUserValue); - return result; - } - public EVROverlayError ShowKeyboardForOverlay(ulong ulOverlayHandle,int eInputMode,int eLineInputMode,string pchDescription,uint unCharMax,string pchExistingText,bool bUseMinimalMode,ulong uUserValue) - { - EVROverlayError result = FnTable.ShowKeyboardForOverlay(ulOverlayHandle,eInputMode,eLineInputMode,pchDescription,unCharMax,pchExistingText,bUseMinimalMode,uUserValue); - return result; - } - public uint GetKeyboardText(System.Text.StringBuilder pchText,uint cchText) - { - uint result = FnTable.GetKeyboardText(pchText,cchText); - return result; - } - public void HideKeyboard() - { - FnTable.HideKeyboard(); - } - public void SetKeyboardTransformAbsolute(ETrackingUniverseOrigin eTrackingOrigin,ref HmdMatrix34_t pmatTrackingOriginToKeyboardTransform) - { - FnTable.SetKeyboardTransformAbsolute(eTrackingOrigin,ref pmatTrackingOriginToKeyboardTransform); - } - public void SetKeyboardPositionForOverlay(ulong ulOverlayHandle,HmdRect2_t avoidRect) - { - FnTable.SetKeyboardPositionForOverlay(ulOverlayHandle,avoidRect); - } - public EVROverlayError SetOverlayIntersectionMask(ulong ulOverlayHandle,ref VROverlayIntersectionMaskPrimitive_t pMaskPrimitives,uint unNumMaskPrimitives,uint unPrimitiveSize) - { - EVROverlayError result = FnTable.SetOverlayIntersectionMask(ulOverlayHandle,ref pMaskPrimitives,unNumMaskPrimitives,unPrimitiveSize); - return result; - } - public EVROverlayError GetOverlayFlags(ulong ulOverlayHandle,ref uint pFlags) - { - pFlags = 0; - EVROverlayError result = FnTable.GetOverlayFlags(ulOverlayHandle,ref pFlags); - return result; - } - public VRMessageOverlayResponse ShowMessageOverlay(string pchText,string pchCaption,string pchButton0Text,string pchButton1Text,string pchButton2Text,string pchButton3Text) - { - VRMessageOverlayResponse result = FnTable.ShowMessageOverlay(pchText,pchCaption,pchButton0Text,pchButton1Text,pchButton2Text,pchButton3Text); - return result; - } - public void CloseMessageOverlay() - { - FnTable.CloseMessageOverlay(); - } -} - - -public class CVRRenderModels -{ - IVRRenderModels FnTable; - internal CVRRenderModels(IntPtr pInterface) - { - FnTable = (IVRRenderModels)Marshal.PtrToStructure(pInterface, typeof(IVRRenderModels)); - } - public EVRRenderModelError LoadRenderModel_Async(string pchRenderModelName,ref IntPtr ppRenderModel) - { - EVRRenderModelError result = FnTable.LoadRenderModel_Async(pchRenderModelName,ref ppRenderModel); - return result; - } - public void FreeRenderModel(IntPtr pRenderModel) - { - FnTable.FreeRenderModel(pRenderModel); - } - public EVRRenderModelError LoadTexture_Async(int textureId,ref IntPtr ppTexture) - { - EVRRenderModelError result = FnTable.LoadTexture_Async(textureId,ref ppTexture); - return result; - } - public void FreeTexture(IntPtr pTexture) - { - FnTable.FreeTexture(pTexture); - } - public EVRRenderModelError LoadTextureD3D11_Async(int textureId,IntPtr pD3D11Device,ref IntPtr ppD3D11Texture2D) - { - EVRRenderModelError result = FnTable.LoadTextureD3D11_Async(textureId,pD3D11Device,ref ppD3D11Texture2D); - return result; - } - public EVRRenderModelError LoadIntoTextureD3D11_Async(int textureId,IntPtr pDstTexture) - { - EVRRenderModelError result = FnTable.LoadIntoTextureD3D11_Async(textureId,pDstTexture); - return result; - } - public void FreeTextureD3D11(IntPtr pD3D11Texture2D) - { - FnTable.FreeTextureD3D11(pD3D11Texture2D); - } - public uint GetRenderModelName(uint unRenderModelIndex,System.Text.StringBuilder pchRenderModelName,uint unRenderModelNameLen) - { - uint result = FnTable.GetRenderModelName(unRenderModelIndex,pchRenderModelName,unRenderModelNameLen); - return result; - } - public uint GetRenderModelCount() - { - uint result = FnTable.GetRenderModelCount(); - return result; - } - public uint GetComponentCount(string pchRenderModelName) - { - uint result = FnTable.GetComponentCount(pchRenderModelName); - return result; - } - public uint GetComponentName(string pchRenderModelName,uint unComponentIndex,System.Text.StringBuilder pchComponentName,uint unComponentNameLen) - { - uint result = FnTable.GetComponentName(pchRenderModelName,unComponentIndex,pchComponentName,unComponentNameLen); - return result; - } - public ulong GetComponentButtonMask(string pchRenderModelName,string pchComponentName) - { - ulong result = FnTable.GetComponentButtonMask(pchRenderModelName,pchComponentName); - return result; - } - public uint GetComponentRenderModelName(string pchRenderModelName,string pchComponentName,System.Text.StringBuilder pchComponentRenderModelName,uint unComponentRenderModelNameLen) - { - uint result = FnTable.GetComponentRenderModelName(pchRenderModelName,pchComponentName,pchComponentRenderModelName,unComponentRenderModelNameLen); - return result; - } -// This is a terrible hack to workaround the fact that VRControllerState_t and VREvent_t were -// originally mis-compiled with the wrong packing for Linux and OSX. - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetComponentStatePacked(string pchRenderModelName,string pchComponentName,ref VRControllerState_t_Packed pControllerState,ref RenderModel_ControllerMode_State_t pState,ref RenderModel_ComponentState_t pComponentState); - [StructLayout(LayoutKind.Explicit)] - struct GetComponentStateUnion - { - [FieldOffset(0)] - public IVRRenderModels._GetComponentState pGetComponentState; - [FieldOffset(0)] - public _GetComponentStatePacked pGetComponentStatePacked; - } - public bool GetComponentState(string pchRenderModelName,string pchComponentName,ref VRControllerState_t pControllerState,ref RenderModel_ControllerMode_State_t pState,ref RenderModel_ComponentState_t pComponentState) - { -#if !UNITY_METRO - if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) || - (System.Environment.OSVersion.Platform == System.PlatformID.Unix)) - { - GetComponentStateUnion u; - VRControllerState_t_Packed state_packed = new VRControllerState_t_Packed(pControllerState); - u.pGetComponentStatePacked = null; - u.pGetComponentState = FnTable.GetComponentState; - bool packed_result = u.pGetComponentStatePacked(pchRenderModelName,pchComponentName,ref state_packed,ref pState,ref pComponentState); - - state_packed.Unpack(ref pControllerState); - return packed_result; - } -#endif - bool result = FnTable.GetComponentState(pchRenderModelName,pchComponentName,ref pControllerState,ref pState,ref pComponentState); - return result; - } - public bool RenderModelHasComponent(string pchRenderModelName,string pchComponentName) - { - bool result = FnTable.RenderModelHasComponent(pchRenderModelName,pchComponentName); - return result; - } - public uint GetRenderModelThumbnailURL(string pchRenderModelName,System.Text.StringBuilder pchThumbnailURL,uint unThumbnailURLLen,ref EVRRenderModelError peError) - { - uint result = FnTable.GetRenderModelThumbnailURL(pchRenderModelName,pchThumbnailURL,unThumbnailURLLen,ref peError); - return result; - } - public uint GetRenderModelOriginalPath(string pchRenderModelName,System.Text.StringBuilder pchOriginalPath,uint unOriginalPathLen,ref EVRRenderModelError peError) - { - uint result = FnTable.GetRenderModelOriginalPath(pchRenderModelName,pchOriginalPath,unOriginalPathLen,ref peError); - return result; - } - public string GetRenderModelErrorNameFromEnum(EVRRenderModelError error) - { - IntPtr result = FnTable.GetRenderModelErrorNameFromEnum(error); - return Marshal.PtrToStringAnsi(result); - } -} - - -public class CVRNotifications -{ - IVRNotifications FnTable; - internal CVRNotifications(IntPtr pInterface) - { - FnTable = (IVRNotifications)Marshal.PtrToStructure(pInterface, typeof(IVRNotifications)); - } - public EVRNotificationError CreateNotification(ulong ulOverlayHandle,ulong ulUserValue,EVRNotificationType type,string pchText,EVRNotificationStyle style,ref NotificationBitmap_t pImage,ref uint pNotificationId) - { - pNotificationId = 0; - EVRNotificationError result = FnTable.CreateNotification(ulOverlayHandle,ulUserValue,type,pchText,style,ref pImage,ref pNotificationId); - return result; - } - public EVRNotificationError RemoveNotification(uint notificationId) - { - EVRNotificationError result = FnTable.RemoveNotification(notificationId); - return result; - } -} - - -public class CVRSettings -{ - IVRSettings FnTable; - internal CVRSettings(IntPtr pInterface) - { - FnTable = (IVRSettings)Marshal.PtrToStructure(pInterface, typeof(IVRSettings)); - } - public string GetSettingsErrorNameFromEnum(EVRSettingsError eError) - { - IntPtr result = FnTable.GetSettingsErrorNameFromEnum(eError); - return Marshal.PtrToStringAnsi(result); - } - public bool Sync(bool bForce,ref EVRSettingsError peError) - { - bool result = FnTable.Sync(bForce,ref peError); - return result; - } - public void SetBool(string pchSection,string pchSettingsKey,bool bValue,ref EVRSettingsError peError) - { - FnTable.SetBool(pchSection,pchSettingsKey,bValue,ref peError); - } - public void SetInt32(string pchSection,string pchSettingsKey,int nValue,ref EVRSettingsError peError) - { - FnTable.SetInt32(pchSection,pchSettingsKey,nValue,ref peError); - } - public void SetFloat(string pchSection,string pchSettingsKey,float flValue,ref EVRSettingsError peError) - { - FnTable.SetFloat(pchSection,pchSettingsKey,flValue,ref peError); - } - public void SetString(string pchSection,string pchSettingsKey,string pchValue,ref EVRSettingsError peError) - { - FnTable.SetString(pchSection,pchSettingsKey,pchValue,ref peError); - } - public bool GetBool(string pchSection,string pchSettingsKey,ref EVRSettingsError peError) - { - bool result = FnTable.GetBool(pchSection,pchSettingsKey,ref peError); - return result; - } - public int GetInt32(string pchSection,string pchSettingsKey,ref EVRSettingsError peError) - { - int result = FnTable.GetInt32(pchSection,pchSettingsKey,ref peError); - return result; - } - public float GetFloat(string pchSection,string pchSettingsKey,ref EVRSettingsError peError) - { - float result = FnTable.GetFloat(pchSection,pchSettingsKey,ref peError); - return result; - } - public void GetString(string pchSection,string pchSettingsKey,System.Text.StringBuilder pchValue,uint unValueLen,ref EVRSettingsError peError) - { - FnTable.GetString(pchSection,pchSettingsKey,pchValue,unValueLen,ref peError); - } - public void RemoveSection(string pchSection,ref EVRSettingsError peError) - { - FnTable.RemoveSection(pchSection,ref peError); - } - public void RemoveKeyInSection(string pchSection,string pchSettingsKey,ref EVRSettingsError peError) - { - FnTable.RemoveKeyInSection(pchSection,pchSettingsKey,ref peError); - } -} - - -public class CVRScreenshots -{ - IVRScreenshots FnTable; - internal CVRScreenshots(IntPtr pInterface) - { - FnTable = (IVRScreenshots)Marshal.PtrToStructure(pInterface, typeof(IVRScreenshots)); - } - public EVRScreenshotError RequestScreenshot(ref uint pOutScreenshotHandle,EVRScreenshotType type,string pchPreviewFilename,string pchVRFilename) - { - pOutScreenshotHandle = 0; - EVRScreenshotError result = FnTable.RequestScreenshot(ref pOutScreenshotHandle,type,pchPreviewFilename,pchVRFilename); - return result; - } - public EVRScreenshotError HookScreenshot(EVRScreenshotType [] pSupportedTypes) - { - EVRScreenshotError result = FnTable.HookScreenshot(pSupportedTypes,(int) pSupportedTypes.Length); - return result; - } - public EVRScreenshotType GetScreenshotPropertyType(uint screenshotHandle,ref EVRScreenshotError pError) - { - EVRScreenshotType result = FnTable.GetScreenshotPropertyType(screenshotHandle,ref pError); - return result; - } - public uint GetScreenshotPropertyFilename(uint screenshotHandle,EVRScreenshotPropertyFilenames filenameType,System.Text.StringBuilder pchFilename,uint cchFilename,ref EVRScreenshotError pError) - { - uint result = FnTable.GetScreenshotPropertyFilename(screenshotHandle,filenameType,pchFilename,cchFilename,ref pError); - return result; - } - public EVRScreenshotError UpdateScreenshotProgress(uint screenshotHandle,float flProgress) - { - EVRScreenshotError result = FnTable.UpdateScreenshotProgress(screenshotHandle,flProgress); - return result; - } - public EVRScreenshotError TakeStereoScreenshot(ref uint pOutScreenshotHandle,string pchPreviewFilename,string pchVRFilename) - { - pOutScreenshotHandle = 0; - EVRScreenshotError result = FnTable.TakeStereoScreenshot(ref pOutScreenshotHandle,pchPreviewFilename,pchVRFilename); - return result; - } - public EVRScreenshotError SubmitScreenshot(uint screenshotHandle,EVRScreenshotType type,string pchSourcePreviewFilename,string pchSourceVRFilename) - { - EVRScreenshotError result = FnTable.SubmitScreenshot(screenshotHandle,type,pchSourcePreviewFilename,pchSourceVRFilename); - return result; - } -} - - -public class CVRResources -{ - IVRResources FnTable; - internal CVRResources(IntPtr pInterface) - { - FnTable = (IVRResources)Marshal.PtrToStructure(pInterface, typeof(IVRResources)); - } - public uint LoadSharedResource(string pchResourceName,string pchBuffer,uint unBufferLen) - { - uint result = FnTable.LoadSharedResource(pchResourceName,pchBuffer,unBufferLen); - return result; - } - public uint GetResourceFullPath(string pchResourceName,string pchResourceTypeDirectory,string pchPathBuffer,uint unBufferLen) - { - uint result = FnTable.GetResourceFullPath(pchResourceName,pchResourceTypeDirectory,pchPathBuffer,unBufferLen); - return result; - } -} - - -public class CVRDriverManager -{ - IVRDriverManager FnTable; - internal CVRDriverManager(IntPtr pInterface) - { - FnTable = (IVRDriverManager)Marshal.PtrToStructure(pInterface, typeof(IVRDriverManager)); - } - public uint GetDriverCount() - { - uint result = FnTable.GetDriverCount(); - return result; - } - public uint GetDriverName(uint nDriver,System.Text.StringBuilder pchValue,uint unBufferSize) - { - uint result = FnTable.GetDriverName(nDriver,pchValue,unBufferSize); - return result; - } -} - - -public class OpenVRInterop -{ - [DllImportAttribute("openvr_api", EntryPoint = "VR_InitInternal", CallingConvention = CallingConvention.Cdecl)] - internal static extern uint InitInternal(ref EVRInitError peError, EVRApplicationType eApplicationType); - [DllImportAttribute("openvr_api", EntryPoint = "VR_ShutdownInternal", CallingConvention = CallingConvention.Cdecl)] - internal static extern void ShutdownInternal(); - [DllImportAttribute("openvr_api", EntryPoint = "VR_IsHmdPresent", CallingConvention = CallingConvention.Cdecl)] - internal static extern bool IsHmdPresent(); - [DllImportAttribute("openvr_api", EntryPoint = "VR_IsRuntimeInstalled", CallingConvention = CallingConvention.Cdecl)] - internal static extern bool IsRuntimeInstalled(); - [DllImportAttribute("openvr_api", EntryPoint = "VR_GetStringForHmdError", CallingConvention = CallingConvention.Cdecl)] - internal static extern IntPtr GetStringForHmdError(EVRInitError error); - [DllImportAttribute("openvr_api", EntryPoint = "VR_GetGenericInterface", CallingConvention = CallingConvention.Cdecl)] - internal static extern IntPtr GetGenericInterface([In, MarshalAs(UnmanagedType.LPStr)] string pchInterfaceVersion, ref EVRInitError peError); - [DllImportAttribute("openvr_api", EntryPoint = "VR_IsInterfaceVersionValid", CallingConvention = CallingConvention.Cdecl)] - internal static extern bool IsInterfaceVersionValid([In, MarshalAs(UnmanagedType.LPStr)] string pchInterfaceVersion); - [DllImportAttribute("openvr_api", EntryPoint = "VR_GetInitToken", CallingConvention = CallingConvention.Cdecl)] - internal static extern uint GetInitToken(); -} - - -public enum EVREye -{ - Eye_Left = 0, - Eye_Right = 1, -} -public enum ETextureType -{ - DirectX = 0, - OpenGL = 1, - Vulkan = 2, - IOSurface = 3, - DirectX12 = 4, -} -public enum EColorSpace -{ - Auto = 0, - Gamma = 1, - Linear = 2, -} -public enum ETrackingResult -{ - Uninitialized = 1, - Calibrating_InProgress = 100, - Calibrating_OutOfRange = 101, - Running_OK = 200, - Running_OutOfRange = 201, -} -public enum ETrackedDeviceClass -{ - Invalid = 0, - HMD = 1, - Controller = 2, - GenericTracker = 3, - TrackingReference = 4, - DisplayRedirect = 5, -} -public enum ETrackedControllerRole -{ - Invalid = 0, - LeftHand = 1, - RightHand = 2, -} -public enum ETrackingUniverseOrigin -{ - TrackingUniverseSeated = 0, - TrackingUniverseStanding = 1, - TrackingUniverseRawAndUncalibrated = 2, -} -public enum ETrackedDeviceProperty -{ - Prop_Invalid = 0, - Prop_TrackingSystemName_String = 1000, - Prop_ModelNumber_String = 1001, - Prop_SerialNumber_String = 1002, - Prop_RenderModelName_String = 1003, - Prop_WillDriftInYaw_Bool = 1004, - Prop_ManufacturerName_String = 1005, - Prop_TrackingFirmwareVersion_String = 1006, - Prop_HardwareRevision_String = 1007, - Prop_AllWirelessDongleDescriptions_String = 1008, - Prop_ConnectedWirelessDongle_String = 1009, - Prop_DeviceIsWireless_Bool = 1010, - Prop_DeviceIsCharging_Bool = 1011, - Prop_DeviceBatteryPercentage_Float = 1012, - Prop_StatusDisplayTransform_Matrix34 = 1013, - Prop_Firmware_UpdateAvailable_Bool = 1014, - Prop_Firmware_ManualUpdate_Bool = 1015, - Prop_Firmware_ManualUpdateURL_String = 1016, - Prop_HardwareRevision_Uint64 = 1017, - Prop_FirmwareVersion_Uint64 = 1018, - Prop_FPGAVersion_Uint64 = 1019, - Prop_VRCVersion_Uint64 = 1020, - Prop_RadioVersion_Uint64 = 1021, - Prop_DongleVersion_Uint64 = 1022, - Prop_BlockServerShutdown_Bool = 1023, - Prop_CanUnifyCoordinateSystemWithHmd_Bool = 1024, - Prop_ContainsProximitySensor_Bool = 1025, - Prop_DeviceProvidesBatteryStatus_Bool = 1026, - Prop_DeviceCanPowerOff_Bool = 1027, - Prop_Firmware_ProgrammingTarget_String = 1028, - Prop_DeviceClass_Int32 = 1029, - Prop_HasCamera_Bool = 1030, - Prop_DriverVersion_String = 1031, - Prop_Firmware_ForceUpdateRequired_Bool = 1032, - Prop_ViveSystemButtonFixRequired_Bool = 1033, - Prop_ParentDriver_Uint64 = 1034, - Prop_ResourceRoot_String = 1035, - Prop_ReportsTimeSinceVSync_Bool = 2000, - Prop_SecondsFromVsyncToPhotons_Float = 2001, - Prop_DisplayFrequency_Float = 2002, - Prop_UserIpdMeters_Float = 2003, - Prop_CurrentUniverseId_Uint64 = 2004, - Prop_PreviousUniverseId_Uint64 = 2005, - Prop_DisplayFirmwareVersion_Uint64 = 2006, - Prop_IsOnDesktop_Bool = 2007, - Prop_DisplayMCType_Int32 = 2008, - Prop_DisplayMCOffset_Float = 2009, - Prop_DisplayMCScale_Float = 2010, - Prop_EdidVendorID_Int32 = 2011, - Prop_DisplayMCImageLeft_String = 2012, - Prop_DisplayMCImageRight_String = 2013, - Prop_DisplayGCBlackClamp_Float = 2014, - Prop_EdidProductID_Int32 = 2015, - Prop_CameraToHeadTransform_Matrix34 = 2016, - Prop_DisplayGCType_Int32 = 2017, - Prop_DisplayGCOffset_Float = 2018, - Prop_DisplayGCScale_Float = 2019, - Prop_DisplayGCPrescale_Float = 2020, - Prop_DisplayGCImage_String = 2021, - Prop_LensCenterLeftU_Float = 2022, - Prop_LensCenterLeftV_Float = 2023, - Prop_LensCenterRightU_Float = 2024, - Prop_LensCenterRightV_Float = 2025, - Prop_UserHeadToEyeDepthMeters_Float = 2026, - Prop_CameraFirmwareVersion_Uint64 = 2027, - Prop_CameraFirmwareDescription_String = 2028, - Prop_DisplayFPGAVersion_Uint64 = 2029, - Prop_DisplayBootloaderVersion_Uint64 = 2030, - Prop_DisplayHardwareVersion_Uint64 = 2031, - Prop_AudioFirmwareVersion_Uint64 = 2032, - Prop_CameraCompatibilityMode_Int32 = 2033, - Prop_ScreenshotHorizontalFieldOfViewDegrees_Float = 2034, - Prop_ScreenshotVerticalFieldOfViewDegrees_Float = 2035, - Prop_DisplaySuppressed_Bool = 2036, - Prop_DisplayAllowNightMode_Bool = 2037, - Prop_DisplayMCImageWidth_Int32 = 2038, - Prop_DisplayMCImageHeight_Int32 = 2039, - Prop_DisplayMCImageNumChannels_Int32 = 2040, - Prop_DisplayMCImageData_Binary = 2041, - Prop_SecondsFromPhotonsToVblank_Float = 2042, - Prop_DriverDirectModeSendsVsyncEvents_Bool = 2043, - Prop_DisplayDebugMode_Bool = 2044, - Prop_GraphicsAdapterLuid_Uint64 = 2045, - Prop_DriverProvidedChaperonePath_String = 2048, - Prop_AttachedDeviceId_String = 3000, - Prop_SupportedButtons_Uint64 = 3001, - Prop_Axis0Type_Int32 = 3002, - Prop_Axis1Type_Int32 = 3003, - Prop_Axis2Type_Int32 = 3004, - Prop_Axis3Type_Int32 = 3005, - Prop_Axis4Type_Int32 = 3006, - Prop_ControllerRoleHint_Int32 = 3007, - Prop_FieldOfViewLeftDegrees_Float = 4000, - Prop_FieldOfViewRightDegrees_Float = 4001, - Prop_FieldOfViewTopDegrees_Float = 4002, - Prop_FieldOfViewBottomDegrees_Float = 4003, - Prop_TrackingRangeMinimumMeters_Float = 4004, - Prop_TrackingRangeMaximumMeters_Float = 4005, - Prop_ModeLabel_String = 4006, - Prop_IconPathName_String = 5000, - Prop_NamedIconPathDeviceOff_String = 5001, - Prop_NamedIconPathDeviceSearching_String = 5002, - Prop_NamedIconPathDeviceSearchingAlert_String = 5003, - Prop_NamedIconPathDeviceReady_String = 5004, - Prop_NamedIconPathDeviceReadyAlert_String = 5005, - Prop_NamedIconPathDeviceNotReady_String = 5006, - Prop_NamedIconPathDeviceStandby_String = 5007, - Prop_NamedIconPathDeviceAlertLow_String = 5008, - Prop_DisplayHiddenArea_Binary_Start = 5100, - Prop_DisplayHiddenArea_Binary_End = 5150, - Prop_UserConfigPath_String = 6000, - Prop_InstallPath_String = 6001, - Prop_HasDisplayComponent_Bool = 6002, - Prop_HasControllerComponent_Bool = 6003, - Prop_HasCameraComponent_Bool = 6004, - Prop_HasDriverDirectModeComponent_Bool = 6005, - Prop_HasVirtualDisplayComponent_Bool = 6006, - Prop_VendorSpecific_Reserved_Start = 10000, - Prop_VendorSpecific_Reserved_End = 10999, -} -public enum ETrackedPropertyError -{ - TrackedProp_Success = 0, - TrackedProp_WrongDataType = 1, - TrackedProp_WrongDeviceClass = 2, - TrackedProp_BufferTooSmall = 3, - TrackedProp_UnknownProperty = 4, - TrackedProp_InvalidDevice = 5, - TrackedProp_CouldNotContactServer = 6, - TrackedProp_ValueNotProvidedByDevice = 7, - TrackedProp_StringExceedsMaximumLength = 8, - TrackedProp_NotYetAvailable = 9, - TrackedProp_PermissionDenied = 10, - TrackedProp_InvalidOperation = 11, -} -public enum EVRSubmitFlags -{ - Submit_Default = 0, - Submit_LensDistortionAlreadyApplied = 1, - Submit_GlRenderBuffer = 2, - Submit_Reserved = 4, - Submit_TextureWithPose = 8, -} -public enum EVRState -{ - Undefined = -1, - Off = 0, - Searching = 1, - Searching_Alert = 2, - Ready = 3, - Ready_Alert = 4, - NotReady = 5, - Standby = 6, - Ready_Alert_Low = 7, -} -public enum EVREventType -{ - VREvent_None = 0, - VREvent_TrackedDeviceActivated = 100, - VREvent_TrackedDeviceDeactivated = 101, - VREvent_TrackedDeviceUpdated = 102, - VREvent_TrackedDeviceUserInteractionStarted = 103, - VREvent_TrackedDeviceUserInteractionEnded = 104, - VREvent_IpdChanged = 105, - VREvent_EnterStandbyMode = 106, - VREvent_LeaveStandbyMode = 107, - VREvent_TrackedDeviceRoleChanged = 108, - VREvent_WatchdogWakeUpRequested = 109, - VREvent_LensDistortionChanged = 110, - VREvent_PropertyChanged = 111, - VREvent_WirelessDisconnect = 112, - VREvent_WirelessReconnect = 113, - VREvent_ButtonPress = 200, - VREvent_ButtonUnpress = 201, - VREvent_ButtonTouch = 202, - VREvent_ButtonUntouch = 203, - VREvent_MouseMove = 300, - VREvent_MouseButtonDown = 301, - VREvent_MouseButtonUp = 302, - VREvent_FocusEnter = 303, - VREvent_FocusLeave = 304, - VREvent_Scroll = 305, - VREvent_TouchPadMove = 306, - VREvent_OverlayFocusChanged = 307, - VREvent_InputFocusCaptured = 400, - VREvent_InputFocusReleased = 401, - VREvent_SceneFocusLost = 402, - VREvent_SceneFocusGained = 403, - VREvent_SceneApplicationChanged = 404, - VREvent_SceneFocusChanged = 405, - VREvent_InputFocusChanged = 406, - VREvent_SceneApplicationSecondaryRenderingStarted = 407, - VREvent_HideRenderModels = 410, - VREvent_ShowRenderModels = 411, - VREvent_OverlayShown = 500, - VREvent_OverlayHidden = 501, - VREvent_DashboardActivated = 502, - VREvent_DashboardDeactivated = 503, - VREvent_DashboardThumbSelected = 504, - VREvent_DashboardRequested = 505, - VREvent_ResetDashboard = 506, - VREvent_RenderToast = 507, - VREvent_ImageLoaded = 508, - VREvent_ShowKeyboard = 509, - VREvent_HideKeyboard = 510, - VREvent_OverlayGamepadFocusGained = 511, - VREvent_OverlayGamepadFocusLost = 512, - VREvent_OverlaySharedTextureChanged = 513, - VREvent_DashboardGuideButtonDown = 514, - VREvent_DashboardGuideButtonUp = 515, - VREvent_ScreenshotTriggered = 516, - VREvent_ImageFailed = 517, - VREvent_DashboardOverlayCreated = 518, - VREvent_RequestScreenshot = 520, - VREvent_ScreenshotTaken = 521, - VREvent_ScreenshotFailed = 522, - VREvent_SubmitScreenshotToDashboard = 523, - VREvent_ScreenshotProgressToDashboard = 524, - VREvent_PrimaryDashboardDeviceChanged = 525, - VREvent_Notification_Shown = 600, - VREvent_Notification_Hidden = 601, - VREvent_Notification_BeginInteraction = 602, - VREvent_Notification_Destroyed = 603, - VREvent_Quit = 700, - VREvent_ProcessQuit = 701, - VREvent_QuitAborted_UserPrompt = 702, - VREvent_QuitAcknowledged = 703, - VREvent_DriverRequestedQuit = 704, - VREvent_ChaperoneDataHasChanged = 800, - VREvent_ChaperoneUniverseHasChanged = 801, - VREvent_ChaperoneTempDataHasChanged = 802, - VREvent_ChaperoneSettingsHaveChanged = 803, - VREvent_SeatedZeroPoseReset = 804, - VREvent_AudioSettingsHaveChanged = 820, - VREvent_BackgroundSettingHasChanged = 850, - VREvent_CameraSettingsHaveChanged = 851, - VREvent_ReprojectionSettingHasChanged = 852, - VREvent_ModelSkinSettingsHaveChanged = 853, - VREvent_EnvironmentSettingsHaveChanged = 854, - VREvent_PowerSettingsHaveChanged = 855, - VREvent_EnableHomeAppSettingsHaveChanged = 856, - VREvent_StatusUpdate = 900, - VREvent_MCImageUpdated = 1000, - VREvent_FirmwareUpdateStarted = 1100, - VREvent_FirmwareUpdateFinished = 1101, - VREvent_KeyboardClosed = 1200, - VREvent_KeyboardCharInput = 1201, - VREvent_KeyboardDone = 1202, - VREvent_ApplicationTransitionStarted = 1300, - VREvent_ApplicationTransitionAborted = 1301, - VREvent_ApplicationTransitionNewAppStarted = 1302, - VREvent_ApplicationListUpdated = 1303, - VREvent_ApplicationMimeTypeLoad = 1304, - VREvent_ApplicationTransitionNewAppLaunchComplete = 1305, - VREvent_ProcessConnected = 1306, - VREvent_ProcessDisconnected = 1307, - VREvent_Compositor_MirrorWindowShown = 1400, - VREvent_Compositor_MirrorWindowHidden = 1401, - VREvent_Compositor_ChaperoneBoundsShown = 1410, - VREvent_Compositor_ChaperoneBoundsHidden = 1411, - VREvent_TrackedCamera_StartVideoStream = 1500, - VREvent_TrackedCamera_StopVideoStream = 1501, - VREvent_TrackedCamera_PauseVideoStream = 1502, - VREvent_TrackedCamera_ResumeVideoStream = 1503, - VREvent_TrackedCamera_EditingSurface = 1550, - VREvent_PerformanceTest_EnableCapture = 1600, - VREvent_PerformanceTest_DisableCapture = 1601, - VREvent_PerformanceTest_FidelityLevel = 1602, - VREvent_MessageOverlay_Closed = 1650, - VREvent_MessageOverlayCloseRequested = 1651, - VREvent_VendorSpecific_Reserved_Start = 10000, - VREvent_VendorSpecific_Reserved_End = 19999, -} -public enum EDeviceActivityLevel -{ - k_EDeviceActivityLevel_Unknown = -1, - k_EDeviceActivityLevel_Idle = 0, - k_EDeviceActivityLevel_UserInteraction = 1, - k_EDeviceActivityLevel_UserInteraction_Timeout = 2, - k_EDeviceActivityLevel_Standby = 3, -} -public enum EVRButtonId -{ - k_EButton_System = 0, - k_EButton_ApplicationMenu = 1, - k_EButton_Grip = 2, - k_EButton_DPad_Left = 3, - k_EButton_DPad_Up = 4, - k_EButton_DPad_Right = 5, - k_EButton_DPad_Down = 6, - k_EButton_A = 7, - k_EButton_ProximitySensor = 31, - k_EButton_Axis0 = 32, - k_EButton_Axis1 = 33, - k_EButton_Axis2 = 34, - k_EButton_Axis3 = 35, - k_EButton_Axis4 = 36, - k_EButton_SteamVR_Touchpad = 32, - k_EButton_SteamVR_Trigger = 33, - k_EButton_Dashboard_Back = 2, - k_EButton_Max = 64, -} -public enum EVRMouseButton -{ - Left = 1, - Right = 2, - Middle = 4, -} -public enum EHiddenAreaMeshType -{ - k_eHiddenAreaMesh_Standard = 0, - k_eHiddenAreaMesh_Inverse = 1, - k_eHiddenAreaMesh_LineLoop = 2, - k_eHiddenAreaMesh_Max = 3, -} -public enum EVRControllerAxisType -{ - k_eControllerAxis_None = 0, - k_eControllerAxis_TrackPad = 1, - k_eControllerAxis_Joystick = 2, - k_eControllerAxis_Trigger = 3, -} -public enum EVRControllerEventOutputType -{ - ControllerEventOutput_OSEvents = 0, - ControllerEventOutput_VREvents = 1, -} -public enum ECollisionBoundsStyle -{ - COLLISION_BOUNDS_STYLE_BEGINNER = 0, - COLLISION_BOUNDS_STYLE_INTERMEDIATE = 1, - COLLISION_BOUNDS_STYLE_SQUARES = 2, - COLLISION_BOUNDS_STYLE_ADVANCED = 3, - COLLISION_BOUNDS_STYLE_NONE = 4, - COLLISION_BOUNDS_STYLE_COUNT = 5, -} -public enum EVROverlayError -{ - None = 0, - UnknownOverlay = 10, - InvalidHandle = 11, - PermissionDenied = 12, - OverlayLimitExceeded = 13, - WrongVisibilityType = 14, - KeyTooLong = 15, - NameTooLong = 16, - KeyInUse = 17, - WrongTransformType = 18, - InvalidTrackedDevice = 19, - InvalidParameter = 20, - ThumbnailCantBeDestroyed = 21, - ArrayTooSmall = 22, - RequestFailed = 23, - InvalidTexture = 24, - UnableToLoadFile = 25, - KeyboardAlreadyInUse = 26, - NoNeighbor = 27, - TooManyMaskPrimitives = 29, - BadMaskPrimitive = 30, -} -public enum EVRApplicationType -{ - VRApplication_Other = 0, - VRApplication_Scene = 1, - VRApplication_Overlay = 2, - VRApplication_Background = 3, - VRApplication_Utility = 4, - VRApplication_VRMonitor = 5, - VRApplication_SteamWatchdog = 6, - VRApplication_Bootstrapper = 7, - VRApplication_Max = 8, -} -public enum EVRFirmwareError -{ - None = 0, - Success = 1, - Fail = 2, -} -public enum EVRNotificationError -{ - OK = 0, - InvalidNotificationId = 100, - NotificationQueueFull = 101, - InvalidOverlayHandle = 102, - SystemWithUserValueAlreadyExists = 103, -} -public enum EVRInitError -{ - None = 0, - Unknown = 1, - Init_InstallationNotFound = 100, - Init_InstallationCorrupt = 101, - Init_VRClientDLLNotFound = 102, - Init_FileNotFound = 103, - Init_FactoryNotFound = 104, - Init_InterfaceNotFound = 105, - Init_InvalidInterface = 106, - Init_UserConfigDirectoryInvalid = 107, - Init_HmdNotFound = 108, - Init_NotInitialized = 109, - Init_PathRegistryNotFound = 110, - Init_NoConfigPath = 111, - Init_NoLogPath = 112, - Init_PathRegistryNotWritable = 113, - Init_AppInfoInitFailed = 114, - Init_Retry = 115, - Init_InitCanceledByUser = 116, - Init_AnotherAppLaunching = 117, - Init_SettingsInitFailed = 118, - Init_ShuttingDown = 119, - Init_TooManyObjects = 120, - Init_NoServerForBackgroundApp = 121, - Init_NotSupportedWithCompositor = 122, - Init_NotAvailableToUtilityApps = 123, - Init_Internal = 124, - Init_HmdDriverIdIsNone = 125, - Init_HmdNotFoundPresenceFailed = 126, - Init_VRMonitorNotFound = 127, - Init_VRMonitorStartupFailed = 128, - Init_LowPowerWatchdogNotSupported = 129, - Init_InvalidApplicationType = 130, - Init_NotAvailableToWatchdogApps = 131, - Init_WatchdogDisabledInSettings = 132, - Init_VRDashboardNotFound = 133, - Init_VRDashboardStartupFailed = 134, - Init_VRHomeNotFound = 135, - Init_VRHomeStartupFailed = 136, - Init_RebootingBusy = 137, - Init_FirmwareUpdateBusy = 138, - Init_FirmwareRecoveryBusy = 139, - Driver_Failed = 200, - Driver_Unknown = 201, - Driver_HmdUnknown = 202, - Driver_NotLoaded = 203, - Driver_RuntimeOutOfDate = 204, - Driver_HmdInUse = 205, - Driver_NotCalibrated = 206, - Driver_CalibrationInvalid = 207, - Driver_HmdDisplayNotFound = 208, - Driver_TrackedDeviceInterfaceUnknown = 209, - Driver_HmdDriverIdOutOfBounds = 211, - Driver_HmdDisplayMirrored = 212, - IPC_ServerInitFailed = 300, - IPC_ConnectFailed = 301, - IPC_SharedStateInitFailed = 302, - IPC_CompositorInitFailed = 303, - IPC_MutexInitFailed = 304, - IPC_Failed = 305, - IPC_CompositorConnectFailed = 306, - IPC_CompositorInvalidConnectResponse = 307, - IPC_ConnectFailedAfterMultipleAttempts = 308, - Compositor_Failed = 400, - Compositor_D3D11HardwareRequired = 401, - Compositor_FirmwareRequiresUpdate = 402, - Compositor_OverlayInitFailed = 403, - Compositor_ScreenshotsInitFailed = 404, - Compositor_UnableToCreateDevice = 405, - VendorSpecific_UnableToConnectToOculusRuntime = 1000, - VendorSpecific_HmdFound_CantOpenDevice = 1101, - VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102, - VendorSpecific_HmdFound_NoStoredConfig = 1103, - VendorSpecific_HmdFound_ConfigTooBig = 1104, - VendorSpecific_HmdFound_ConfigTooSmall = 1105, - VendorSpecific_HmdFound_UnableToInitZLib = 1106, - VendorSpecific_HmdFound_CantReadFirmwareVersion = 1107, - VendorSpecific_HmdFound_UnableToSendUserDataStart = 1108, - VendorSpecific_HmdFound_UnableToGetUserDataStart = 1109, - VendorSpecific_HmdFound_UnableToGetUserDataNext = 1110, - VendorSpecific_HmdFound_UserDataAddressRange = 1111, - VendorSpecific_HmdFound_UserDataError = 1112, - VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113, - Steam_SteamInstallationNotFound = 2000, -} -public enum EVRScreenshotType -{ - None = 0, - Mono = 1, - Stereo = 2, - Cubemap = 3, - MonoPanorama = 4, - StereoPanorama = 5, -} -public enum EVRScreenshotPropertyFilenames -{ - Preview = 0, - VR = 1, -} -public enum EVRTrackedCameraError -{ - None = 0, - OperationFailed = 100, - InvalidHandle = 101, - InvalidFrameHeaderVersion = 102, - OutOfHandles = 103, - IPCFailure = 104, - NotSupportedForThisDevice = 105, - SharedMemoryFailure = 106, - FrameBufferingFailure = 107, - StreamSetupFailure = 108, - InvalidGLTextureId = 109, - InvalidSharedTextureHandle = 110, - FailedToGetGLTextureId = 111, - SharedTextureFailure = 112, - NoFrameAvailable = 113, - InvalidArgument = 114, - InvalidFrameBufferSize = 115, -} -public enum EVRTrackedCameraFrameType -{ - Distorted = 0, - Undistorted = 1, - MaximumUndistorted = 2, - MAX_CAMERA_FRAME_TYPES = 3, -} -public enum EVRApplicationError -{ - None = 0, - AppKeyAlreadyExists = 100, - NoManifest = 101, - NoApplication = 102, - InvalidIndex = 103, - UnknownApplication = 104, - IPCFailed = 105, - ApplicationAlreadyRunning = 106, - InvalidManifest = 107, - InvalidApplication = 108, - LaunchFailed = 109, - ApplicationAlreadyStarting = 110, - LaunchInProgress = 111, - OldApplicationQuitting = 112, - TransitionAborted = 113, - IsTemplate = 114, - SteamVRIsExiting = 115, - BufferTooSmall = 200, - PropertyNotSet = 201, - UnknownProperty = 202, - InvalidParameter = 203, -} -public enum EVRApplicationProperty -{ - Name_String = 0, - LaunchType_String = 11, - WorkingDirectory_String = 12, - BinaryPath_String = 13, - Arguments_String = 14, - URL_String = 15, - Description_String = 50, - NewsURL_String = 51, - ImagePath_String = 52, - Source_String = 53, - IsDashboardOverlay_Bool = 60, - IsTemplate_Bool = 61, - IsInstanced_Bool = 62, - IsInternal_Bool = 63, - WantsCompositorPauseInStandby_Bool = 64, - LastLaunchTime_Uint64 = 70, -} -public enum EVRApplicationTransitionState -{ - VRApplicationTransition_None = 0, - VRApplicationTransition_OldAppQuitSent = 10, - VRApplicationTransition_WaitingForExternalLaunch = 11, - VRApplicationTransition_NewAppLaunched = 20, -} -public enum ChaperoneCalibrationState -{ - OK = 1, - Warning = 100, - Warning_BaseStationMayHaveMoved = 101, - Warning_BaseStationRemoved = 102, - Warning_SeatedBoundsInvalid = 103, - Error = 200, - Error_BaseStationUninitialized = 201, - Error_BaseStationConflict = 202, - Error_PlayAreaInvalid = 203, - Error_CollisionBoundsInvalid = 204, -} -public enum EChaperoneConfigFile -{ - Live = 1, - Temp = 2, -} -public enum EChaperoneImportFlags -{ - EChaperoneImport_BoundsOnly = 1, -} -public enum EVRCompositorError -{ - None = 0, - RequestFailed = 1, - IncompatibleVersion = 100, - DoNotHaveFocus = 101, - InvalidTexture = 102, - IsNotSceneApplication = 103, - TextureIsOnWrongDevice = 104, - TextureUsesUnsupportedFormat = 105, - SharedTexturesNotSupported = 106, - IndexOutOfRange = 107, - AlreadySubmitted = 108, - InvalidBounds = 109, -} -public enum VROverlayInputMethod -{ - None = 0, - Mouse = 1, -} -public enum VROverlayTransformType -{ - VROverlayTransform_Absolute = 0, - VROverlayTransform_TrackedDeviceRelative = 1, - VROverlayTransform_SystemOverlay = 2, - VROverlayTransform_TrackedComponent = 3, -} -public enum VROverlayFlags -{ - None = 0, - Curved = 1, - RGSS4X = 2, - NoDashboardTab = 3, - AcceptsGamepadEvents = 4, - ShowGamepadFocus = 5, - SendVRScrollEvents = 6, - SendVRTouchpadEvents = 7, - ShowTouchPadScrollWheel = 8, - TransferOwnershipToInternalProcess = 9, - SideBySide_Parallel = 10, - SideBySide_Crossed = 11, - Panorama = 12, - StereoPanorama = 13, - SortWithNonSceneOverlays = 14, - VisibleInDashboard = 15, -} -public enum VRMessageOverlayResponse -{ - ButtonPress_0 = 0, - ButtonPress_1 = 1, - ButtonPress_2 = 2, - ButtonPress_3 = 3, - CouldntFindSystemOverlay = 4, - CouldntFindOrCreateClientOverlay = 5, - ApplicationQuit = 6, -} -public enum EGamepadTextInputMode -{ - k_EGamepadTextInputModeNormal = 0, - k_EGamepadTextInputModePassword = 1, - k_EGamepadTextInputModeSubmit = 2, -} -public enum EGamepadTextInputLineMode -{ - k_EGamepadTextInputLineModeSingleLine = 0, - k_EGamepadTextInputLineModeMultipleLines = 1, -} -public enum EOverlayDirection -{ - Up = 0, - Down = 1, - Left = 2, - Right = 3, - Count = 4, -} -public enum EVROverlayIntersectionMaskPrimitiveType -{ - OverlayIntersectionPrimitiveType_Rectangle = 0, - OverlayIntersectionPrimitiveType_Circle = 1, -} -public enum EVRRenderModelError -{ - None = 0, - Loading = 100, - NotSupported = 200, - InvalidArg = 300, - InvalidModel = 301, - NoShapes = 302, - MultipleShapes = 303, - TooManyVertices = 304, - MultipleTextures = 305, - BufferTooSmall = 306, - NotEnoughNormals = 307, - NotEnoughTexCoords = 308, - InvalidTexture = 400, -} -public enum EVRComponentProperty -{ - IsStatic = 1, - IsVisible = 2, - IsTouched = 4, - IsPressed = 8, - IsScrolled = 16, -} -public enum EVRNotificationType -{ - Transient = 0, - Persistent = 1, - Transient_SystemWithUserValue = 2, -} -public enum EVRNotificationStyle -{ - None = 0, - Application = 100, - Contact_Disabled = 200, - Contact_Enabled = 201, - Contact_Active = 202, -} -public enum EVRSettingsError -{ - None = 0, - IPCFailed = 1, - WriteFailed = 2, - ReadFailed = 3, - JsonParseFailed = 4, - UnsetSettingHasNoDefault = 5, -} -public enum EVRScreenshotError -{ - None = 0, - RequestFailed = 1, - IncompatibleVersion = 100, - NotFound = 101, - BufferTooSmall = 102, - ScreenshotAlreadyInProgress = 108, -} - -[StructLayout(LayoutKind.Explicit)] public struct VREvent_Data_t -{ - [FieldOffset(0)] public VREvent_Reserved_t reserved; - [FieldOffset(0)] public VREvent_Controller_t controller; - [FieldOffset(0)] public VREvent_Mouse_t mouse; - [FieldOffset(0)] public VREvent_Scroll_t scroll; - [FieldOffset(0)] public VREvent_Process_t process; - [FieldOffset(0)] public VREvent_Notification_t notification; - [FieldOffset(0)] public VREvent_Overlay_t overlay; - [FieldOffset(0)] public VREvent_Status_t status; - [FieldOffset(0)] public VREvent_Ipd_t ipd; - [FieldOffset(0)] public VREvent_Chaperone_t chaperone; - [FieldOffset(0)] public VREvent_PerformanceTest_t performanceTest; - [FieldOffset(0)] public VREvent_TouchPadMove_t touchPadMove; - [FieldOffset(0)] public VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset; - [FieldOffset(0)] public VREvent_Screenshot_t screenshot; - [FieldOffset(0)] public VREvent_ScreenshotProgress_t screenshotProgress; - [FieldOffset(0)] public VREvent_ApplicationLaunch_t applicationLaunch; - [FieldOffset(0)] public VREvent_EditingCameraSurface_t cameraSurface; - [FieldOffset(0)] public VREvent_MessageOverlay_t messageOverlay; - [FieldOffset(0)] public VREvent_Keyboard_t keyboard; // This has to be at the end due to a mono bug -} - - -[StructLayout(LayoutKind.Explicit)] public struct VROverlayIntersectionMaskPrimitive_Data_t -{ - [FieldOffset(0)] public IntersectionMaskRectangle_t m_Rectangle; - [FieldOffset(0)] public IntersectionMaskCircle_t m_Circle; -} - -[StructLayout(LayoutKind.Sequential)] public struct HmdMatrix34_t -{ - public float m0; //float[3][4] - public float m1; - public float m2; - public float m3; - public float m4; - public float m5; - public float m6; - public float m7; - public float m8; - public float m9; - public float m10; - public float m11; -} -[StructLayout(LayoutKind.Sequential)] public struct HmdMatrix44_t -{ - public float m0; //float[4][4] - public float m1; - public float m2; - public float m3; - public float m4; - public float m5; - public float m6; - public float m7; - public float m8; - public float m9; - public float m10; - public float m11; - public float m12; - public float m13; - public float m14; - public float m15; -} -[StructLayout(LayoutKind.Sequential)] public struct HmdVector3_t -{ - public float v0; //float[3] - public float v1; - public float v2; -} -[StructLayout(LayoutKind.Sequential)] public struct HmdVector4_t -{ - public float v0; //float[4] - public float v1; - public float v2; - public float v3; -} -[StructLayout(LayoutKind.Sequential)] public struct HmdVector3d_t -{ - public double v0; //double[3] - public double v1; - public double v2; -} -[StructLayout(LayoutKind.Sequential)] public struct HmdVector2_t -{ - public float v0; //float[2] - public float v1; -} -[StructLayout(LayoutKind.Sequential)] public struct HmdQuaternion_t -{ - public double w; - public double x; - public double y; - public double z; -} -[StructLayout(LayoutKind.Sequential)] public struct HmdColor_t -{ - public float r; - public float g; - public float b; - public float a; -} -[StructLayout(LayoutKind.Sequential)] public struct HmdQuad_t -{ - public HmdVector3_t vCorners0; //HmdVector3_t[4] - public HmdVector3_t vCorners1; - public HmdVector3_t vCorners2; - public HmdVector3_t vCorners3; -} -[StructLayout(LayoutKind.Sequential)] public struct HmdRect2_t -{ - public HmdVector2_t vTopLeft; - public HmdVector2_t vBottomRight; -} -[StructLayout(LayoutKind.Sequential)] public struct DistortionCoordinates_t -{ - public float rfRed0; //float[2] - public float rfRed1; - public float rfGreen0; //float[2] - public float rfGreen1; - public float rfBlue0; //float[2] - public float rfBlue1; -} -[StructLayout(LayoutKind.Sequential)] public struct Texture_t -{ - public IntPtr handle; // void * - public ETextureType eType; - public EColorSpace eColorSpace; -} -[StructLayout(LayoutKind.Sequential)] public struct TrackedDevicePose_t -{ - public HmdMatrix34_t mDeviceToAbsoluteTracking; - public HmdVector3_t vVelocity; - public HmdVector3_t vAngularVelocity; - public ETrackingResult eTrackingResult; - [MarshalAs(UnmanagedType.I1)] - public bool bPoseIsValid; - [MarshalAs(UnmanagedType.I1)] - public bool bDeviceIsConnected; -} -[StructLayout(LayoutKind.Sequential)] public struct VRTextureBounds_t -{ - public float uMin; - public float vMin; - public float uMax; - public float vMax; -} -[StructLayout(LayoutKind.Sequential)] public struct VRTextureWithPose_t -{ - public HmdMatrix34_t mDeviceToAbsoluteTracking; -} -[StructLayout(LayoutKind.Sequential)] public struct VRVulkanTextureData_t -{ - public ulong m_nImage; - public IntPtr m_pDevice; // struct VkDevice_T * - public IntPtr m_pPhysicalDevice; // struct VkPhysicalDevice_T * - public IntPtr m_pInstance; // struct VkInstance_T * - public IntPtr m_pQueue; // struct VkQueue_T * - public uint m_nQueueFamilyIndex; - public uint m_nWidth; - public uint m_nHeight; - public uint m_nFormat; - public uint m_nSampleCount; -} -[StructLayout(LayoutKind.Sequential)] public struct D3D12TextureData_t -{ - public IntPtr m_pResource; // struct ID3D12Resource * - public IntPtr m_pCommandQueue; // struct ID3D12CommandQueue * - public uint m_nNodeMask; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Controller_t -{ - public uint button; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Mouse_t -{ - public float x; - public float y; - public uint button; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Scroll_t -{ - public float xdelta; - public float ydelta; - public uint repeatCount; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_TouchPadMove_t -{ - [MarshalAs(UnmanagedType.I1)] - public bool bFingerDown; - public float flSecondsFingerDown; - public float fValueXFirst; - public float fValueYFirst; - public float fValueXRaw; - public float fValueYRaw; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Notification_t -{ - public ulong ulUserValue; - public uint notificationId; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Process_t -{ - public uint pid; - public uint oldPid; - [MarshalAs(UnmanagedType.I1)] - public bool bForced; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Overlay_t -{ - public ulong overlayHandle; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Status_t -{ - public uint statusState; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Keyboard_t -{ - public byte cNewInput0,cNewInput1,cNewInput2,cNewInput3,cNewInput4,cNewInput5,cNewInput6,cNewInput7; - public ulong uUserValue; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Ipd_t -{ - public float ipdMeters; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Chaperone_t -{ - public ulong m_nPreviousUniverse; - public ulong m_nCurrentUniverse; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Reserved_t -{ - public ulong reserved0; - public ulong reserved1; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_PerformanceTest_t -{ - public uint m_nFidelityLevel; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_SeatedZeroPoseReset_t -{ - [MarshalAs(UnmanagedType.I1)] - public bool bResetBySystemMenu; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Screenshot_t -{ - public uint handle; - public uint type; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_ScreenshotProgress_t -{ - public float progress; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_ApplicationLaunch_t -{ - public uint pid; - public uint unArgsHandle; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_EditingCameraSurface_t -{ - public ulong overlayHandle; - public uint nVisualMode; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_MessageOverlay_t -{ - public uint unVRMessageOverlayResponse; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Property_t -{ - public ulong container; - public ETrackedDeviceProperty prop; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_t -{ - public uint eventType; - public uint trackedDeviceIndex; - public float eventAgeSeconds; - public VREvent_Data_t data; -} -// This structure is for backwards binary compatibility on Linux and OSX only -[StructLayout(LayoutKind.Sequential, Pack = 4)] public struct VREvent_t_Packed -{ - public uint eventType; - public uint trackedDeviceIndex; - public float eventAgeSeconds; - public VREvent_Data_t data; - public VREvent_t_Packed(VREvent_t unpacked) - { - this.eventType = unpacked.eventType; - this.trackedDeviceIndex = unpacked.trackedDeviceIndex; - this.eventAgeSeconds = unpacked.eventAgeSeconds; - this.data = unpacked.data; - } - public void Unpack(ref VREvent_t unpacked) - { - unpacked.eventType = this.eventType; - unpacked.trackedDeviceIndex = this.trackedDeviceIndex; - unpacked.eventAgeSeconds = this.eventAgeSeconds; - unpacked.data = this.data; - } -} -[StructLayout(LayoutKind.Sequential)] public struct HiddenAreaMesh_t -{ - public IntPtr pVertexData; // const struct vr::HmdVector2_t * - public uint unTriangleCount; -} -[StructLayout(LayoutKind.Sequential)] public struct VRControllerAxis_t -{ - public float x; - public float y; -} -[StructLayout(LayoutKind.Sequential)] public struct VRControllerState_t -{ - public uint unPacketNum; - public ulong ulButtonPressed; - public ulong ulButtonTouched; - public VRControllerAxis_t rAxis0; //VRControllerAxis_t[5] - public VRControllerAxis_t rAxis1; - public VRControllerAxis_t rAxis2; - public VRControllerAxis_t rAxis3; - public VRControllerAxis_t rAxis4; -} -// This structure is for backwards binary compatibility on Linux and OSX only -[StructLayout(LayoutKind.Sequential, Pack = 4)] public struct VRControllerState_t_Packed -{ - public uint unPacketNum; - public ulong ulButtonPressed; - public ulong ulButtonTouched; - public VRControllerAxis_t rAxis0; //VRControllerAxis_t[5] - public VRControllerAxis_t rAxis1; - public VRControllerAxis_t rAxis2; - public VRControllerAxis_t rAxis3; - public VRControllerAxis_t rAxis4; - public VRControllerState_t_Packed(VRControllerState_t unpacked) - { - this.unPacketNum = unpacked.unPacketNum; - this.ulButtonPressed = unpacked.ulButtonPressed; - this.ulButtonTouched = unpacked.ulButtonTouched; - this.rAxis0 = unpacked.rAxis0; - this.rAxis1 = unpacked.rAxis1; - this.rAxis2 = unpacked.rAxis2; - this.rAxis3 = unpacked.rAxis3; - this.rAxis4 = unpacked.rAxis4; - } - public void Unpack(ref VRControllerState_t unpacked) - { - unpacked.unPacketNum = this.unPacketNum; - unpacked.ulButtonPressed = this.ulButtonPressed; - unpacked.ulButtonTouched = this.ulButtonTouched; - unpacked.rAxis0 = this.rAxis0; - unpacked.rAxis1 = this.rAxis1; - unpacked.rAxis2 = this.rAxis2; - unpacked.rAxis3 = this.rAxis3; - unpacked.rAxis4 = this.rAxis4; - } -} -[StructLayout(LayoutKind.Sequential)] public struct Compositor_OverlaySettings -{ - public uint size; - [MarshalAs(UnmanagedType.I1)] - public bool curved; - [MarshalAs(UnmanagedType.I1)] - public bool antialias; - public float scale; - public float distance; - public float alpha; - public float uOffset; - public float vOffset; - public float uScale; - public float vScale; - public float gridDivs; - public float gridWidth; - public float gridScale; - public HmdMatrix44_t transform; -} -[StructLayout(LayoutKind.Sequential)] public struct CameraVideoStreamFrameHeader_t -{ - public EVRTrackedCameraFrameType eFrameType; - public uint nWidth; - public uint nHeight; - public uint nBytesPerPixel; - public uint nFrameSequence; - public TrackedDevicePose_t standingTrackedDevicePose; -} -[StructLayout(LayoutKind.Sequential)] public struct AppOverrideKeys_t -{ - public IntPtr pchKey; // const char * - public IntPtr pchValue; // const char * -} -[StructLayout(LayoutKind.Sequential)] public struct Compositor_FrameTiming -{ - public uint m_nSize; - public uint m_nFrameIndex; - public uint m_nNumFramePresents; - public uint m_nNumMisPresented; - public uint m_nNumDroppedFrames; - public uint m_nReprojectionFlags; - public double m_flSystemTimeInSeconds; - public float m_flPreSubmitGpuMs; - public float m_flPostSubmitGpuMs; - public float m_flTotalRenderGpuMs; - public float m_flCompositorRenderGpuMs; - public float m_flCompositorRenderCpuMs; - public float m_flCompositorIdleCpuMs; - public float m_flClientFrameIntervalMs; - public float m_flPresentCallCpuMs; - public float m_flWaitForPresentCpuMs; - public float m_flSubmitFrameMs; - public float m_flWaitGetPosesCalledMs; - public float m_flNewPosesReadyMs; - public float m_flNewFrameReadyMs; - public float m_flCompositorUpdateStartMs; - public float m_flCompositorUpdateEndMs; - public float m_flCompositorRenderStartMs; - public TrackedDevicePose_t m_HmdPose; -} -[StructLayout(LayoutKind.Sequential)] public struct Compositor_CumulativeStats -{ - public uint m_nPid; - public uint m_nNumFramePresents; - public uint m_nNumDroppedFrames; - public uint m_nNumReprojectedFrames; - public uint m_nNumFramePresentsOnStartup; - public uint m_nNumDroppedFramesOnStartup; - public uint m_nNumReprojectedFramesOnStartup; - public uint m_nNumLoading; - public uint m_nNumFramePresentsLoading; - public uint m_nNumDroppedFramesLoading; - public uint m_nNumReprojectedFramesLoading; - public uint m_nNumTimedOut; - public uint m_nNumFramePresentsTimedOut; - public uint m_nNumDroppedFramesTimedOut; - public uint m_nNumReprojectedFramesTimedOut; -} -[StructLayout(LayoutKind.Sequential)] public struct VROverlayIntersectionParams_t -{ - public HmdVector3_t vSource; - public HmdVector3_t vDirection; - public ETrackingUniverseOrigin eOrigin; -} -[StructLayout(LayoutKind.Sequential)] public struct VROverlayIntersectionResults_t -{ - public HmdVector3_t vPoint; - public HmdVector3_t vNormal; - public HmdVector2_t vUVs; - public float fDistance; -} -[StructLayout(LayoutKind.Sequential)] public struct IntersectionMaskRectangle_t -{ - public float m_flTopLeftX; - public float m_flTopLeftY; - public float m_flWidth; - public float m_flHeight; -} -[StructLayout(LayoutKind.Sequential)] public struct IntersectionMaskCircle_t -{ - public float m_flCenterX; - public float m_flCenterY; - public float m_flRadius; -} -[StructLayout(LayoutKind.Sequential)] public struct VROverlayIntersectionMaskPrimitive_t -{ - public EVROverlayIntersectionMaskPrimitiveType m_nPrimitiveType; - public VROverlayIntersectionMaskPrimitive_Data_t m_Primitive; -} -[StructLayout(LayoutKind.Sequential)] public struct RenderModel_ComponentState_t -{ - public HmdMatrix34_t mTrackingToComponentRenderModel; - public HmdMatrix34_t mTrackingToComponentLocal; - public uint uProperties; -} -[StructLayout(LayoutKind.Sequential)] public struct RenderModel_Vertex_t -{ - public HmdVector3_t vPosition; - public HmdVector3_t vNormal; - public float rfTextureCoord0; //float[2] - public float rfTextureCoord1; -} -[StructLayout(LayoutKind.Sequential)] public struct RenderModel_TextureMap_t -{ - public char unWidth; - public char unHeight; - public IntPtr rubTextureMapData; // const uint8_t * -} -// This structure is for backwards binary compatibility on Linux and OSX only -[StructLayout(LayoutKind.Sequential, Pack = 4)] public struct RenderModel_TextureMap_t_Packed -{ - public char unWidth; - public char unHeight; - public IntPtr rubTextureMapData; // const uint8_t * - public RenderModel_TextureMap_t_Packed(RenderModel_TextureMap_t unpacked) - { - this.unWidth = unpacked.unWidth; - this.unHeight = unpacked.unHeight; - this.rubTextureMapData = unpacked.rubTextureMapData; - } - public void Unpack(ref RenderModel_TextureMap_t unpacked) - { - unpacked.unWidth = this.unWidth; - unpacked.unHeight = this.unHeight; - unpacked.rubTextureMapData = this.rubTextureMapData; - } -} -[StructLayout(LayoutKind.Sequential)] public struct RenderModel_t -{ - public IntPtr rVertexData; // const struct vr::RenderModel_Vertex_t * - public uint unVertexCount; - public IntPtr rIndexData; // const uint16_t * - public uint unTriangleCount; - public int diffuseTextureId; -} -// This structure is for backwards binary compatibility on Linux and OSX only -[StructLayout(LayoutKind.Sequential, Pack = 4)] public struct RenderModel_t_Packed -{ - public IntPtr rVertexData; // const struct vr::RenderModel_Vertex_t * - public uint unVertexCount; - public IntPtr rIndexData; // const uint16_t * - public uint unTriangleCount; - public int diffuseTextureId; - public RenderModel_t_Packed(RenderModel_t unpacked) - { - this.rVertexData = unpacked.rVertexData; - this.unVertexCount = unpacked.unVertexCount; - this.rIndexData = unpacked.rIndexData; - this.unTriangleCount = unpacked.unTriangleCount; - this.diffuseTextureId = unpacked.diffuseTextureId; - } - public void Unpack(ref RenderModel_t unpacked) - { - unpacked.rVertexData = this.rVertexData; - unpacked.unVertexCount = this.unVertexCount; - unpacked.rIndexData = this.rIndexData; - unpacked.unTriangleCount = this.unTriangleCount; - unpacked.diffuseTextureId = this.diffuseTextureId; - } -} -[StructLayout(LayoutKind.Sequential)] public struct RenderModel_ControllerMode_State_t -{ - [MarshalAs(UnmanagedType.I1)] - public bool bScrollWheelVisible; -} -[StructLayout(LayoutKind.Sequential)] public struct NotificationBitmap_t -{ - public IntPtr m_pImageData; // void * - public int m_nWidth; - public int m_nHeight; - public int m_nBytesPerPixel; -} -[StructLayout(LayoutKind.Sequential)] public struct COpenVRContext -{ - public IntPtr m_pVRSystem; // class vr::IVRSystem * - public IntPtr m_pVRChaperone; // class vr::IVRChaperone * - public IntPtr m_pVRChaperoneSetup; // class vr::IVRChaperoneSetup * - public IntPtr m_pVRCompositor; // class vr::IVRCompositor * - public IntPtr m_pVROverlay; // class vr::IVROverlay * - public IntPtr m_pVRResources; // class vr::IVRResources * - public IntPtr m_pVRRenderModels; // class vr::IVRRenderModels * - public IntPtr m_pVRExtendedDisplay; // class vr::IVRExtendedDisplay * - public IntPtr m_pVRSettings; // class vr::IVRSettings * - public IntPtr m_pVRApplications; // class vr::IVRApplications * - public IntPtr m_pVRTrackedCamera; // class vr::IVRTrackedCamera * - public IntPtr m_pVRScreenshots; // class vr::IVRScreenshots * - public IntPtr m_pVRDriverManager; // class vr::IVRDriverManager * -} - -public class OpenVR -{ - - public static uint InitInternal(ref EVRInitError peError, EVRApplicationType eApplicationType) - { - return OpenVRInterop.InitInternal(ref peError, eApplicationType); - } - - public static void ShutdownInternal() - { - OpenVRInterop.ShutdownInternal(); - } - - public static bool IsHmdPresent() - { - return OpenVRInterop.IsHmdPresent(); - } - - public static bool IsRuntimeInstalled() - { - return OpenVRInterop.IsRuntimeInstalled(); - } - - public static string GetStringForHmdError(EVRInitError error) - { - return Marshal.PtrToStringAnsi(OpenVRInterop.GetStringForHmdError(error)); - } - - public static IntPtr GetGenericInterface(string pchInterfaceVersion, ref EVRInitError peError) - { - return OpenVRInterop.GetGenericInterface(pchInterfaceVersion, ref peError); - } - - public static bool IsInterfaceVersionValid(string pchInterfaceVersion) - { - return OpenVRInterop.IsInterfaceVersionValid(pchInterfaceVersion); - } - - public static uint GetInitToken() - { - return OpenVRInterop.GetInitToken(); - } - - public const uint k_nDriverNone = 4294967295; - public const uint k_unMaxDriverDebugResponseSize = 32768; - public const uint k_unTrackedDeviceIndex_Hmd = 0; - public const uint k_unMaxTrackedDeviceCount = 16; - public const uint k_unTrackedDeviceIndexOther = 4294967294; - public const uint k_unTrackedDeviceIndexInvalid = 4294967295; - public const ulong k_ulInvalidPropertyContainer = 0; - public const uint k_unInvalidPropertyTag = 0; - public const uint k_unFloatPropertyTag = 1; - public const uint k_unInt32PropertyTag = 2; - public const uint k_unUint64PropertyTag = 3; - public const uint k_unBoolPropertyTag = 4; - public const uint k_unStringPropertyTag = 5; - public const uint k_unHmdMatrix34PropertyTag = 20; - public const uint k_unHmdMatrix44PropertyTag = 21; - public const uint k_unHmdVector3PropertyTag = 22; - public const uint k_unHmdVector4PropertyTag = 23; - public const uint k_unHiddenAreaPropertyTag = 30; - public const uint k_unOpenVRInternalReserved_Start = 1000; - public const uint k_unOpenVRInternalReserved_End = 10000; - public const uint k_unMaxPropertyStringSize = 32768; - public const uint k_unControllerStateAxisCount = 5; - public const ulong k_ulOverlayHandleInvalid = 0; - public const uint k_unScreenshotHandleInvalid = 0; - public const string IVRSystem_Version = "IVRSystem_017"; - public const string IVRExtendedDisplay_Version = "IVRExtendedDisplay_001"; - public const string IVRTrackedCamera_Version = "IVRTrackedCamera_003"; - public const uint k_unMaxApplicationKeyLength = 128; - public const string k_pch_MimeType_HomeApp = "vr/home"; - public const string k_pch_MimeType_GameTheater = "vr/game_theater"; - public const string IVRApplications_Version = "IVRApplications_006"; - public const string IVRChaperone_Version = "IVRChaperone_003"; - public const string IVRChaperoneSetup_Version = "IVRChaperoneSetup_005"; - public const string IVRCompositor_Version = "IVRCompositor_021"; - public const uint k_unVROverlayMaxKeyLength = 128; - public const uint k_unVROverlayMaxNameLength = 128; - public const uint k_unMaxOverlayCount = 64; - public const uint k_unMaxOverlayIntersectionMaskPrimitivesCount = 32; - public const string IVROverlay_Version = "IVROverlay_016"; - public const string k_pch_Controller_Component_GDC2015 = "gdc2015"; - public const string k_pch_Controller_Component_Base = "base"; - public const string k_pch_Controller_Component_Tip = "tip"; - public const string k_pch_Controller_Component_HandGrip = "handgrip"; - public const string k_pch_Controller_Component_Status = "status"; - public const string IVRRenderModels_Version = "IVRRenderModels_005"; - public const uint k_unNotificationTextMaxSize = 256; - public const string IVRNotifications_Version = "IVRNotifications_002"; - public const uint k_unMaxSettingsKeyLength = 128; - public const string IVRSettings_Version = "IVRSettings_002"; - public const string k_pch_SteamVR_Section = "steamvr"; - public const string k_pch_SteamVR_RequireHmd_String = "requireHmd"; - public const string k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver"; - public const string k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd"; - public const string k_pch_SteamVR_DisplayDebug_Bool = "displayDebug"; - public const string k_pch_SteamVR_DebugProcessPipe_String = "debugProcessPipe"; - public const string k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX"; - public const string k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY"; - public const string k_pch_SteamVR_SendSystemButtonToAllApps_Bool = "sendSystemButtonToAllApps"; - public const string k_pch_SteamVR_LogLevel_Int32 = "loglevel"; - public const string k_pch_SteamVR_IPD_Float = "ipd"; - public const string k_pch_SteamVR_Background_String = "background"; - public const string k_pch_SteamVR_BackgroundUseDomeProjection_Bool = "backgroundUseDomeProjection"; - public const string k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCameraHeight"; - public const string k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRadius"; - public const string k_pch_SteamVR_GridColor_String = "gridColor"; - public const string k_pch_SteamVR_PlayAreaColor_String = "playAreaColor"; - public const string k_pch_SteamVR_ShowStage_Bool = "showStage"; - public const string k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers"; - public const string k_pch_SteamVR_DirectMode_Bool = "directMode"; - public const string k_pch_SteamVR_DirectModeEdidVid_Int32 = "directModeEdidVid"; - public const string k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid"; - public const string k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers"; - public const string k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees"; - public const string k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestationPowerManagement"; - public const string k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses"; - public const string k_pch_SteamVR_SupersampleScale_Float = "supersampleScale"; - public const string k_pch_SteamVR_AllowAsyncReprojection_Bool = "allowAsyncReprojection"; - public const string k_pch_SteamVR_AllowReprojection_Bool = "allowInterleavedReprojection"; - public const string k_pch_SteamVR_ForceReprojection_Bool = "forceReprojection"; - public const string k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; - public const string k_pch_SteamVR_DefaultMirrorView_Int32 = "defaultMirrorView"; - public const string k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView"; - public const string k_pch_SteamVR_MirrorViewGeometry_String = "mirrorViewGeometry"; - public const string k_pch_SteamVR_StartMonitorFromAppLaunch = "startMonitorFromAppLaunch"; - public const string k_pch_SteamVR_StartCompositorFromAppLaunch_Bool = "startCompositorFromAppLaunch"; - public const string k_pch_SteamVR_StartDashboardFromAppLaunch_Bool = "startDashboardFromAppLaunch"; - public const string k_pch_SteamVR_StartOverlayAppsFromDashboard_Bool = "startOverlayAppsFromDashboard"; - public const string k_pch_SteamVR_EnableHomeApp = "enableHomeApp"; - public const string k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32 = "CycleBackgroundImageTimeSec"; - public const string k_pch_SteamVR_RetailDemo_Bool = "retailDemo"; - public const string k_pch_SteamVR_IpdOffset_Float = "ipdOffset"; - public const string k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering"; - public const string k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync"; - public const string k_pch_Lighthouse_Section = "driver_lighthouse"; - public const string k_pch_Lighthouse_DisableIMU_Bool = "disableimu"; - public const string k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation"; - public const string k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug"; - public const string k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation"; - public const string k_pch_Lighthouse_DBHistory_Bool = "dbhistory"; - public const string k_pch_Null_Section = "driver_null"; - public const string k_pch_Null_SerialNumber_String = "serialNumber"; - public const string k_pch_Null_ModelNumber_String = "modelNumber"; - public const string k_pch_Null_WindowX_Int32 = "windowX"; - public const string k_pch_Null_WindowY_Int32 = "windowY"; - public const string k_pch_Null_WindowWidth_Int32 = "windowWidth"; - public const string k_pch_Null_WindowHeight_Int32 = "windowHeight"; - public const string k_pch_Null_RenderWidth_Int32 = "renderWidth"; - public const string k_pch_Null_RenderHeight_Int32 = "renderHeight"; - public const string k_pch_Null_SecondsFromVsyncToPhotons_Float = "secondsFromVsyncToPhotons"; - public const string k_pch_Null_DisplayFrequency_Float = "displayFrequency"; - public const string k_pch_UserInterface_Section = "userinterface"; - public const string k_pch_UserInterface_StatusAlwaysOnTop_Bool = "StatusAlwaysOnTop"; - public const string k_pch_UserInterface_MinimizeToTray_Bool = "MinimizeToTray"; - public const string k_pch_UserInterface_Screenshots_Bool = "screenshots"; - public const string k_pch_UserInterface_ScreenshotType_Int = "screenshotType"; - public const string k_pch_Notifications_Section = "notifications"; - public const string k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb"; - public const string k_pch_Keyboard_Section = "keyboard"; - public const string k_pch_Keyboard_TutorialCompletions = "TutorialCompletions"; - public const string k_pch_Keyboard_ScaleX = "ScaleX"; - public const string k_pch_Keyboard_ScaleY = "ScaleY"; - public const string k_pch_Keyboard_OffsetLeftX = "OffsetLeftX"; - public const string k_pch_Keyboard_OffsetRightX = "OffsetRightX"; - public const string k_pch_Keyboard_OffsetY = "OffsetY"; - public const string k_pch_Keyboard_Smoothing = "Smoothing"; - public const string k_pch_Perf_Section = "perfcheck"; - public const string k_pch_Perf_HeuristicActive_Bool = "heuristicActive"; - public const string k_pch_Perf_NotifyInHMD_Bool = "warnInHMD"; - public const string k_pch_Perf_NotifyOnlyOnce_Bool = "warnOnlyOnce"; - public const string k_pch_Perf_AllowTimingStore_Bool = "allowTimingStore"; - public const string k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit"; - public const string k_pch_Perf_TestData_Float = "perfTestData"; - public const string k_pch_Perf_LinuxGPUProfiling_Bool = "linuxGPUProfiling"; - public const string k_pch_CollisionBounds_Section = "collisionBounds"; - public const string k_pch_CollisionBounds_Style_Int32 = "CollisionBoundsStyle"; - public const string k_pch_CollisionBounds_GroundPerimeterOn_Bool = "CollisionBoundsGroundPerimeterOn"; - public const string k_pch_CollisionBounds_CenterMarkerOn_Bool = "CollisionBoundsCenterMarkerOn"; - public const string k_pch_CollisionBounds_PlaySpaceOn_Bool = "CollisionBoundsPlaySpaceOn"; - public const string k_pch_CollisionBounds_FadeDistance_Float = "CollisionBoundsFadeDistance"; - public const string k_pch_CollisionBounds_ColorGammaR_Int32 = "CollisionBoundsColorGammaR"; - public const string k_pch_CollisionBounds_ColorGammaG_Int32 = "CollisionBoundsColorGammaG"; - public const string k_pch_CollisionBounds_ColorGammaB_Int32 = "CollisionBoundsColorGammaB"; - public const string k_pch_CollisionBounds_ColorGammaA_Int32 = "CollisionBoundsColorGammaA"; - public const string k_pch_Camera_Section = "camera"; - public const string k_pch_Camera_EnableCamera_Bool = "enableCamera"; - public const string k_pch_Camera_EnableCameraInDashboard_Bool = "enableCameraInDashboard"; - public const string k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCameraForCollisionBounds"; - public const string k_pch_Camera_EnableCameraForRoomView_Bool = "enableCameraForRoomView"; - public const string k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGammaR"; - public const string k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGammaG"; - public const string k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB"; - public const string k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA"; - public const string k_pch_Camera_BoundsStrength_Int32 = "cameraBoundsStrength"; - public const string k_pch_audio_Section = "audio"; - public const string k_pch_audio_OnPlaybackDevice_String = "onPlaybackDevice"; - public const string k_pch_audio_OnRecordDevice_String = "onRecordDevice"; - public const string k_pch_audio_OnPlaybackMirrorDevice_String = "onPlaybackMirrorDevice"; - public const string k_pch_audio_OffPlaybackDevice_String = "offPlaybackDevice"; - public const string k_pch_audio_OffRecordDevice_String = "offRecordDevice"; - public const string k_pch_audio_VIVEHDMIGain = "viveHDMIGain"; - public const string k_pch_Power_Section = "power"; - public const string k_pch_Power_PowerOffOnExit_Bool = "powerOffOnExit"; - public const string k_pch_Power_TurnOffScreensTimeout_Float = "turnOffScreensTimeout"; - public const string k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout"; - public const string k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout"; - public const string k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress"; - public const string k_pch_Power_PauseCompositorOnStandby_Bool = "pauseCompositorOnStandby"; - public const string k_pch_Dashboard_Section = "dashboard"; - public const string k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard"; - public const string k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode"; - public const string k_pch_modelskin_Section = "modelskins"; - public const string k_pch_Driver_Enable_Bool = "enable"; - public const string IVRScreenshots_Version = "IVRScreenshots_001"; - public const string IVRResources_Version = "IVRResources_001"; - public const string IVRDriverManager_Version = "IVRDriverManager_001"; - - static uint VRToken { get; set; } - - const string FnTable_Prefix = "FnTable:"; - - class COpenVRContext - { - public COpenVRContext() { Clear(); } - - public void Clear() - { - m_pVRSystem = null; - m_pVRChaperone = null; - m_pVRChaperoneSetup = null; - m_pVRCompositor = null; - m_pVROverlay = null; - m_pVRRenderModels = null; - m_pVRExtendedDisplay = null; - m_pVRSettings = null; - m_pVRApplications = null; - m_pVRScreenshots = null; - m_pVRTrackedCamera = null; - } - - void CheckClear() - { - if (VRToken != GetInitToken()) - { - Clear(); - VRToken = GetInitToken(); - } - } - - public CVRSystem VRSystem() - { - CheckClear(); - if (m_pVRSystem == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRSystem_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRSystem = new CVRSystem(pInterface); - } - return m_pVRSystem; - } - - public CVRChaperone VRChaperone() - { - CheckClear(); - if (m_pVRChaperone == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRChaperone_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRChaperone = new CVRChaperone(pInterface); - } - return m_pVRChaperone; - } - - public CVRChaperoneSetup VRChaperoneSetup() - { - CheckClear(); - if (m_pVRChaperoneSetup == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRChaperoneSetup_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRChaperoneSetup = new CVRChaperoneSetup(pInterface); - } - return m_pVRChaperoneSetup; - } - - public CVRCompositor VRCompositor() - { - CheckClear(); - if (m_pVRCompositor == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRCompositor_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRCompositor = new CVRCompositor(pInterface); - } - return m_pVRCompositor; - } - - public CVROverlay VROverlay() - { - CheckClear(); - if (m_pVROverlay == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVROverlay_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVROverlay = new CVROverlay(pInterface); - } - return m_pVROverlay; - } - - public CVRRenderModels VRRenderModels() - { - CheckClear(); - if (m_pVRRenderModels == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRRenderModels_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRRenderModels = new CVRRenderModels(pInterface); - } - return m_pVRRenderModels; - } - - public CVRExtendedDisplay VRExtendedDisplay() - { - CheckClear(); - if (m_pVRExtendedDisplay == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRExtendedDisplay_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRExtendedDisplay = new CVRExtendedDisplay(pInterface); - } - return m_pVRExtendedDisplay; - } - - public CVRSettings VRSettings() - { - CheckClear(); - if (m_pVRSettings == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRSettings_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRSettings = new CVRSettings(pInterface); - } - return m_pVRSettings; - } - - public CVRApplications VRApplications() - { - CheckClear(); - if (m_pVRApplications == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRApplications_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRApplications = new CVRApplications(pInterface); - } - return m_pVRApplications; - } - - public CVRScreenshots VRScreenshots() - { - CheckClear(); - if (m_pVRScreenshots == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRScreenshots_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRScreenshots = new CVRScreenshots(pInterface); - } - return m_pVRScreenshots; - } - - public CVRTrackedCamera VRTrackedCamera() - { - CheckClear(); - if (m_pVRTrackedCamera == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRTrackedCamera_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRTrackedCamera = new CVRTrackedCamera(pInterface); - } - return m_pVRTrackedCamera; - } - - private CVRSystem m_pVRSystem; - private CVRChaperone m_pVRChaperone; - private CVRChaperoneSetup m_pVRChaperoneSetup; - private CVRCompositor m_pVRCompositor; - private CVROverlay m_pVROverlay; - private CVRRenderModels m_pVRRenderModels; - private CVRExtendedDisplay m_pVRExtendedDisplay; - private CVRSettings m_pVRSettings; - private CVRApplications m_pVRApplications; - private CVRScreenshots m_pVRScreenshots; - private CVRTrackedCamera m_pVRTrackedCamera; - }; - - private static COpenVRContext _OpenVRInternal_ModuleContext = null; - static COpenVRContext OpenVRInternal_ModuleContext - { - get - { - if (_OpenVRInternal_ModuleContext == null) - _OpenVRInternal_ModuleContext = new COpenVRContext(); - return _OpenVRInternal_ModuleContext; - } - } - - public static CVRSystem System { get { return OpenVRInternal_ModuleContext.VRSystem(); } } - public static CVRChaperone Chaperone { get { return OpenVRInternal_ModuleContext.VRChaperone(); } } - public static CVRChaperoneSetup ChaperoneSetup { get { return OpenVRInternal_ModuleContext.VRChaperoneSetup(); } } - public static CVRCompositor Compositor { get { return OpenVRInternal_ModuleContext.VRCompositor(); } } - public static CVROverlay Overlay { get { return OpenVRInternal_ModuleContext.VROverlay(); } } - public static CVRRenderModels RenderModels { get { return OpenVRInternal_ModuleContext.VRRenderModels(); } } - public static CVRExtendedDisplay ExtendedDisplay { get { return OpenVRInternal_ModuleContext.VRExtendedDisplay(); } } - public static CVRSettings Settings { get { return OpenVRInternal_ModuleContext.VRSettings(); } } - public static CVRApplications Applications { get { return OpenVRInternal_ModuleContext.VRApplications(); } } - public static CVRScreenshots Screenshots { get { return OpenVRInternal_ModuleContext.VRScreenshots(); } } - public static CVRTrackedCamera TrackedCamera { get { return OpenVRInternal_ModuleContext.VRTrackedCamera(); } } - - /** Finds the active installation of vrclient.dll and initializes it */ - public static CVRSystem Init(ref EVRInitError peError, EVRApplicationType eApplicationType = EVRApplicationType.VRApplication_Scene) - { - VRToken = InitInternal(ref peError, eApplicationType); - OpenVRInternal_ModuleContext.Clear(); - - if (peError != EVRInitError.None) - return null; - - bool bInterfaceValid = IsInterfaceVersionValid(IVRSystem_Version); - if (!bInterfaceValid) - { - ShutdownInternal(); - peError = EVRInitError.Init_InterfaceNotFound; - return null; - } - - return OpenVR.System; - } - - /** unloads vrclient.dll. Any interface pointers from the interface are - * invalid after this point */ - public static void Shutdown() - { - ShutdownInternal(); - } - -} - - - -} - diff --git a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_api.json b/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_api.json deleted file mode 100644 index 78f47c3..0000000 --- a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_api.json +++ /dev/null @@ -1,3923 +0,0 @@ -{"typedefs":[{"typedef": "vr::glSharedTextureHandle_t","type": "void *"} -,{"typedef": "vr::glInt_t","type": "int32_t"} -,{"typedef": "vr::glUInt_t","type": "uint32_t"} -,{"typedef": "vr::SharedTextureHandle_t","type": "uint64_t"} -,{"typedef": "vr::DriverId_t","type": "uint32_t"} -,{"typedef": "vr::TrackedDeviceIndex_t","type": "uint32_t"} -,{"typedef": "vr::PropertyContainerHandle_t","type": "uint64_t"} -,{"typedef": "vr::PropertyTypeTag_t","type": "uint32_t"} -,{"typedef": "vr::VREvent_Data_t","type": "union VREvent_Data_t"} -,{"typedef": "vr::VRControllerState_t","type": "struct vr::VRControllerState001_t"} -,{"typedef": "vr::VROverlayHandle_t","type": "uint64_t"} -,{"typedef": "vr::TrackedCameraHandle_t","type": "uint64_t"} -,{"typedef": "vr::ScreenshotHandle_t","type": "uint32_t"} -,{"typedef": "vr::VROverlayIntersectionMaskPrimitive_Data_t","type": "union VROverlayIntersectionMaskPrimitive_Data_t"} -,{"typedef": "vr::VRComponentProperties","type": "uint32_t"} -,{"typedef": "vr::TextureID_t","type": "int32_t"} -,{"typedef": "vr::VRNotificationId","type": "uint32_t"} -,{"typedef": "vr::HmdError","type": "enum vr::EVRInitError"} -,{"typedef": "vr::Hmd_Eye","type": "enum vr::EVREye"} -,{"typedef": "vr::ColorSpace","type": "enum vr::EColorSpace"} -,{"typedef": "vr::HmdTrackingResult","type": "enum vr::ETrackingResult"} -,{"typedef": "vr::TrackedDeviceClass","type": "enum vr::ETrackedDeviceClass"} -,{"typedef": "vr::TrackingUniverseOrigin","type": "enum vr::ETrackingUniverseOrigin"} -,{"typedef": "vr::TrackedDeviceProperty","type": "enum vr::ETrackedDeviceProperty"} -,{"typedef": "vr::TrackedPropertyError","type": "enum vr::ETrackedPropertyError"} -,{"typedef": "vr::VRSubmitFlags_t","type": "enum vr::EVRSubmitFlags"} -,{"typedef": "vr::VRState_t","type": "enum vr::EVRState"} -,{"typedef": "vr::CollisionBoundsStyle_t","type": "enum vr::ECollisionBoundsStyle"} -,{"typedef": "vr::VROverlayError","type": "enum vr::EVROverlayError"} -,{"typedef": "vr::VRFirmwareError","type": "enum vr::EVRFirmwareError"} -,{"typedef": "vr::VRCompositorError","type": "enum vr::EVRCompositorError"} -,{"typedef": "vr::VRScreenshotsError","type": "enum vr::EVRScreenshotError"} -], -"enums":[ - {"enumname": "vr::EVREye","values": [ - {"name": "Eye_Left","value": "0"} - ,{"name": "Eye_Right","value": "1"} -]} -, {"enumname": "vr::ETextureType","values": [ - {"name": "TextureType_DirectX","value": "0"} - ,{"name": "TextureType_OpenGL","value": "1"} - ,{"name": "TextureType_Vulkan","value": "2"} - ,{"name": "TextureType_IOSurface","value": "3"} - ,{"name": "TextureType_DirectX12","value": "4"} -]} -, {"enumname": "vr::EColorSpace","values": [ - {"name": "ColorSpace_Auto","value": "0"} - ,{"name": "ColorSpace_Gamma","value": "1"} - ,{"name": "ColorSpace_Linear","value": "2"} -]} -, {"enumname": "vr::ETrackingResult","values": [ - {"name": "TrackingResult_Uninitialized","value": "1"} - ,{"name": "TrackingResult_Calibrating_InProgress","value": "100"} - ,{"name": "TrackingResult_Calibrating_OutOfRange","value": "101"} - ,{"name": "TrackingResult_Running_OK","value": "200"} - ,{"name": "TrackingResult_Running_OutOfRange","value": "201"} -]} -, {"enumname": "vr::ETrackedDeviceClass","values": [ - {"name": "TrackedDeviceClass_Invalid","value": "0"} - ,{"name": "TrackedDeviceClass_HMD","value": "1"} - ,{"name": "TrackedDeviceClass_Controller","value": "2"} - ,{"name": "TrackedDeviceClass_GenericTracker","value": "3"} - ,{"name": "TrackedDeviceClass_TrackingReference","value": "4"} - ,{"name": "TrackedDeviceClass_DisplayRedirect","value": "5"} -]} -, {"enumname": "vr::ETrackedControllerRole","values": [ - {"name": "TrackedControllerRole_Invalid","value": "0"} - ,{"name": "TrackedControllerRole_LeftHand","value": "1"} - ,{"name": "TrackedControllerRole_RightHand","value": "2"} -]} -, {"enumname": "vr::ETrackingUniverseOrigin","values": [ - {"name": "TrackingUniverseSeated","value": "0"} - ,{"name": "TrackingUniverseStanding","value": "1"} - ,{"name": "TrackingUniverseRawAndUncalibrated","value": "2"} -]} -, {"enumname": "vr::ETrackedDeviceProperty","values": [ - {"name": "Prop_Invalid","value": "0"} - ,{"name": "Prop_TrackingSystemName_String","value": "1000"} - ,{"name": "Prop_ModelNumber_String","value": "1001"} - ,{"name": "Prop_SerialNumber_String","value": "1002"} - ,{"name": "Prop_RenderModelName_String","value": "1003"} - ,{"name": "Prop_WillDriftInYaw_Bool","value": "1004"} - ,{"name": "Prop_ManufacturerName_String","value": "1005"} - ,{"name": "Prop_TrackingFirmwareVersion_String","value": "1006"} - ,{"name": "Prop_HardwareRevision_String","value": "1007"} - ,{"name": "Prop_AllWirelessDongleDescriptions_String","value": "1008"} - ,{"name": "Prop_ConnectedWirelessDongle_String","value": "1009"} - ,{"name": "Prop_DeviceIsWireless_Bool","value": "1010"} - ,{"name": "Prop_DeviceIsCharging_Bool","value": "1011"} - ,{"name": "Prop_DeviceBatteryPercentage_Float","value": "1012"} - ,{"name": "Prop_StatusDisplayTransform_Matrix34","value": "1013"} - ,{"name": "Prop_Firmware_UpdateAvailable_Bool","value": "1014"} - ,{"name": "Prop_Firmware_ManualUpdate_Bool","value": "1015"} - ,{"name": "Prop_Firmware_ManualUpdateURL_String","value": "1016"} - ,{"name": "Prop_HardwareRevision_Uint64","value": "1017"} - ,{"name": "Prop_FirmwareVersion_Uint64","value": "1018"} - ,{"name": "Prop_FPGAVersion_Uint64","value": "1019"} - ,{"name": "Prop_VRCVersion_Uint64","value": "1020"} - ,{"name": "Prop_RadioVersion_Uint64","value": "1021"} - ,{"name": "Prop_DongleVersion_Uint64","value": "1022"} - ,{"name": "Prop_BlockServerShutdown_Bool","value": "1023"} - ,{"name": "Prop_CanUnifyCoordinateSystemWithHmd_Bool","value": "1024"} - ,{"name": "Prop_ContainsProximitySensor_Bool","value": "1025"} - ,{"name": "Prop_DeviceProvidesBatteryStatus_Bool","value": "1026"} - ,{"name": "Prop_DeviceCanPowerOff_Bool","value": "1027"} - ,{"name": "Prop_Firmware_ProgrammingTarget_String","value": "1028"} - ,{"name": "Prop_DeviceClass_Int32","value": "1029"} - ,{"name": "Prop_HasCamera_Bool","value": "1030"} - ,{"name": "Prop_DriverVersion_String","value": "1031"} - ,{"name": "Prop_Firmware_ForceUpdateRequired_Bool","value": "1032"} - ,{"name": "Prop_ViveSystemButtonFixRequired_Bool","value": "1033"} - ,{"name": "Prop_ParentDriver_Uint64","value": "1034"} - ,{"name": "Prop_ResourceRoot_String","value": "1035"} - ,{"name": "Prop_ReportsTimeSinceVSync_Bool","value": "2000"} - ,{"name": "Prop_SecondsFromVsyncToPhotons_Float","value": "2001"} - ,{"name": "Prop_DisplayFrequency_Float","value": "2002"} - ,{"name": "Prop_UserIpdMeters_Float","value": "2003"} - ,{"name": "Prop_CurrentUniverseId_Uint64","value": "2004"} - ,{"name": "Prop_PreviousUniverseId_Uint64","value": "2005"} - ,{"name": "Prop_DisplayFirmwareVersion_Uint64","value": "2006"} - ,{"name": "Prop_IsOnDesktop_Bool","value": "2007"} - ,{"name": "Prop_DisplayMCType_Int32","value": "2008"} - ,{"name": "Prop_DisplayMCOffset_Float","value": "2009"} - ,{"name": "Prop_DisplayMCScale_Float","value": "2010"} - ,{"name": "Prop_EdidVendorID_Int32","value": "2011"} - ,{"name": "Prop_DisplayMCImageLeft_String","value": "2012"} - ,{"name": "Prop_DisplayMCImageRight_String","value": "2013"} - ,{"name": "Prop_DisplayGCBlackClamp_Float","value": "2014"} - ,{"name": "Prop_EdidProductID_Int32","value": "2015"} - ,{"name": "Prop_CameraToHeadTransform_Matrix34","value": "2016"} - ,{"name": "Prop_DisplayGCType_Int32","value": "2017"} - ,{"name": "Prop_DisplayGCOffset_Float","value": "2018"} - ,{"name": "Prop_DisplayGCScale_Float","value": "2019"} - ,{"name": "Prop_DisplayGCPrescale_Float","value": "2020"} - ,{"name": "Prop_DisplayGCImage_String","value": "2021"} - ,{"name": "Prop_LensCenterLeftU_Float","value": "2022"} - ,{"name": "Prop_LensCenterLeftV_Float","value": "2023"} - ,{"name": "Prop_LensCenterRightU_Float","value": "2024"} - ,{"name": "Prop_LensCenterRightV_Float","value": "2025"} - ,{"name": "Prop_UserHeadToEyeDepthMeters_Float","value": "2026"} - ,{"name": "Prop_CameraFirmwareVersion_Uint64","value": "2027"} - ,{"name": "Prop_CameraFirmwareDescription_String","value": "2028"} - ,{"name": "Prop_DisplayFPGAVersion_Uint64","value": "2029"} - ,{"name": "Prop_DisplayBootloaderVersion_Uint64","value": "2030"} - ,{"name": "Prop_DisplayHardwareVersion_Uint64","value": "2031"} - ,{"name": "Prop_AudioFirmwareVersion_Uint64","value": "2032"} - ,{"name": "Prop_CameraCompatibilityMode_Int32","value": "2033"} - ,{"name": "Prop_ScreenshotHorizontalFieldOfViewDegrees_Float","value": "2034"} - ,{"name": "Prop_ScreenshotVerticalFieldOfViewDegrees_Float","value": "2035"} - ,{"name": "Prop_DisplaySuppressed_Bool","value": "2036"} - ,{"name": "Prop_DisplayAllowNightMode_Bool","value": "2037"} - ,{"name": "Prop_DisplayMCImageWidth_Int32","value": "2038"} - ,{"name": "Prop_DisplayMCImageHeight_Int32","value": "2039"} - ,{"name": "Prop_DisplayMCImageNumChannels_Int32","value": "2040"} - ,{"name": "Prop_DisplayMCImageData_Binary","value": "2041"} - ,{"name": "Prop_SecondsFromPhotonsToVblank_Float","value": "2042"} - ,{"name": "Prop_DriverDirectModeSendsVsyncEvents_Bool","value": "2043"} - ,{"name": "Prop_DisplayDebugMode_Bool","value": "2044"} - ,{"name": "Prop_GraphicsAdapterLuid_Uint64","value": "2045"} - ,{"name": "Prop_DriverProvidedChaperonePath_String","value": "2048"} - ,{"name": "Prop_AttachedDeviceId_String","value": "3000"} - ,{"name": "Prop_SupportedButtons_Uint64","value": "3001"} - ,{"name": "Prop_Axis0Type_Int32","value": "3002"} - ,{"name": "Prop_Axis1Type_Int32","value": "3003"} - ,{"name": "Prop_Axis2Type_Int32","value": "3004"} - ,{"name": "Prop_Axis3Type_Int32","value": "3005"} - ,{"name": "Prop_Axis4Type_Int32","value": "3006"} - ,{"name": "Prop_ControllerRoleHint_Int32","value": "3007"} - ,{"name": "Prop_FieldOfViewLeftDegrees_Float","value": "4000"} - ,{"name": "Prop_FieldOfViewRightDegrees_Float","value": "4001"} - ,{"name": "Prop_FieldOfViewTopDegrees_Float","value": "4002"} - ,{"name": "Prop_FieldOfViewBottomDegrees_Float","value": "4003"} - ,{"name": "Prop_TrackingRangeMinimumMeters_Float","value": "4004"} - ,{"name": "Prop_TrackingRangeMaximumMeters_Float","value": "4005"} - ,{"name": "Prop_ModeLabel_String","value": "4006"} - ,{"name": "Prop_IconPathName_String","value": "5000"} - ,{"name": "Prop_NamedIconPathDeviceOff_String","value": "5001"} - ,{"name": "Prop_NamedIconPathDeviceSearching_String","value": "5002"} - ,{"name": "Prop_NamedIconPathDeviceSearchingAlert_String","value": "5003"} - ,{"name": "Prop_NamedIconPathDeviceReady_String","value": "5004"} - ,{"name": "Prop_NamedIconPathDeviceReadyAlert_String","value": "5005"} - ,{"name": "Prop_NamedIconPathDeviceNotReady_String","value": "5006"} - ,{"name": "Prop_NamedIconPathDeviceStandby_String","value": "5007"} - ,{"name": "Prop_NamedIconPathDeviceAlertLow_String","value": "5008"} - ,{"name": "Prop_DisplayHiddenArea_Binary_Start","value": "5100"} - ,{"name": "Prop_DisplayHiddenArea_Binary_End","value": "5150"} - ,{"name": "Prop_UserConfigPath_String","value": "6000"} - ,{"name": "Prop_InstallPath_String","value": "6001"} - ,{"name": "Prop_HasDisplayComponent_Bool","value": "6002"} - ,{"name": "Prop_HasControllerComponent_Bool","value": "6003"} - ,{"name": "Prop_HasCameraComponent_Bool","value": "6004"} - ,{"name": "Prop_HasDriverDirectModeComponent_Bool","value": "6005"} - ,{"name": "Prop_HasVirtualDisplayComponent_Bool","value": "6006"} - ,{"name": "Prop_VendorSpecific_Reserved_Start","value": "10000"} - ,{"name": "Prop_VendorSpecific_Reserved_End","value": "10999"} -]} -, {"enumname": "vr::ETrackedPropertyError","values": [ - {"name": "TrackedProp_Success","value": "0"} - ,{"name": "TrackedProp_WrongDataType","value": "1"} - ,{"name": "TrackedProp_WrongDeviceClass","value": "2"} - ,{"name": "TrackedProp_BufferTooSmall","value": "3"} - ,{"name": "TrackedProp_UnknownProperty","value": "4"} - ,{"name": "TrackedProp_InvalidDevice","value": "5"} - ,{"name": "TrackedProp_CouldNotContactServer","value": "6"} - ,{"name": "TrackedProp_ValueNotProvidedByDevice","value": "7"} - ,{"name": "TrackedProp_StringExceedsMaximumLength","value": "8"} - ,{"name": "TrackedProp_NotYetAvailable","value": "9"} - ,{"name": "TrackedProp_PermissionDenied","value": "10"} - ,{"name": "TrackedProp_InvalidOperation","value": "11"} -]} -, {"enumname": "vr::EVRSubmitFlags","values": [ - {"name": "Submit_Default","value": "0"} - ,{"name": "Submit_LensDistortionAlreadyApplied","value": "1"} - ,{"name": "Submit_GlRenderBuffer","value": "2"} - ,{"name": "Submit_Reserved","value": "4"} - ,{"name": "Submit_TextureWithPose","value": "8"} -]} -, {"enumname": "vr::EVRState","values": [ - {"name": "VRState_Undefined","value": "-1"} - ,{"name": "VRState_Off","value": "0"} - ,{"name": "VRState_Searching","value": "1"} - ,{"name": "VRState_Searching_Alert","value": "2"} - ,{"name": "VRState_Ready","value": "3"} - ,{"name": "VRState_Ready_Alert","value": "4"} - ,{"name": "VRState_NotReady","value": "5"} - ,{"name": "VRState_Standby","value": "6"} - ,{"name": "VRState_Ready_Alert_Low","value": "7"} -]} -, {"enumname": "vr::EVREventType","values": [ - {"name": "VREvent_None","value": "0"} - ,{"name": "VREvent_TrackedDeviceActivated","value": "100"} - ,{"name": "VREvent_TrackedDeviceDeactivated","value": "101"} - ,{"name": "VREvent_TrackedDeviceUpdated","value": "102"} - ,{"name": "VREvent_TrackedDeviceUserInteractionStarted","value": "103"} - ,{"name": "VREvent_TrackedDeviceUserInteractionEnded","value": "104"} - ,{"name": "VREvent_IpdChanged","value": "105"} - ,{"name": "VREvent_EnterStandbyMode","value": "106"} - ,{"name": "VREvent_LeaveStandbyMode","value": "107"} - ,{"name": "VREvent_TrackedDeviceRoleChanged","value": "108"} - ,{"name": "VREvent_WatchdogWakeUpRequested","value": "109"} - ,{"name": "VREvent_LensDistortionChanged","value": "110"} - ,{"name": "VREvent_PropertyChanged","value": "111"} - ,{"name": "VREvent_WirelessDisconnect","value": "112"} - ,{"name": "VREvent_WirelessReconnect","value": "113"} - ,{"name": "VREvent_ButtonPress","value": "200"} - ,{"name": "VREvent_ButtonUnpress","value": "201"} - ,{"name": "VREvent_ButtonTouch","value": "202"} - ,{"name": "VREvent_ButtonUntouch","value": "203"} - ,{"name": "VREvent_MouseMove","value": "300"} - ,{"name": "VREvent_MouseButtonDown","value": "301"} - ,{"name": "VREvent_MouseButtonUp","value": "302"} - ,{"name": "VREvent_FocusEnter","value": "303"} - ,{"name": "VREvent_FocusLeave","value": "304"} - ,{"name": "VREvent_Scroll","value": "305"} - ,{"name": "VREvent_TouchPadMove","value": "306"} - ,{"name": "VREvent_OverlayFocusChanged","value": "307"} - ,{"name": "VREvent_InputFocusCaptured","value": "400"} - ,{"name": "VREvent_InputFocusReleased","value": "401"} - ,{"name": "VREvent_SceneFocusLost","value": "402"} - ,{"name": "VREvent_SceneFocusGained","value": "403"} - ,{"name": "VREvent_SceneApplicationChanged","value": "404"} - ,{"name": "VREvent_SceneFocusChanged","value": "405"} - ,{"name": "VREvent_InputFocusChanged","value": "406"} - ,{"name": "VREvent_SceneApplicationSecondaryRenderingStarted","value": "407"} - ,{"name": "VREvent_HideRenderModels","value": "410"} - ,{"name": "VREvent_ShowRenderModels","value": "411"} - ,{"name": "VREvent_OverlayShown","value": "500"} - ,{"name": "VREvent_OverlayHidden","value": "501"} - ,{"name": "VREvent_DashboardActivated","value": "502"} - ,{"name": "VREvent_DashboardDeactivated","value": "503"} - ,{"name": "VREvent_DashboardThumbSelected","value": "504"} - ,{"name": "VREvent_DashboardRequested","value": "505"} - ,{"name": "VREvent_ResetDashboard","value": "506"} - ,{"name": "VREvent_RenderToast","value": "507"} - ,{"name": "VREvent_ImageLoaded","value": "508"} - ,{"name": "VREvent_ShowKeyboard","value": "509"} - ,{"name": "VREvent_HideKeyboard","value": "510"} - ,{"name": "VREvent_OverlayGamepadFocusGained","value": "511"} - ,{"name": "VREvent_OverlayGamepadFocusLost","value": "512"} - ,{"name": "VREvent_OverlaySharedTextureChanged","value": "513"} - ,{"name": "VREvent_DashboardGuideButtonDown","value": "514"} - ,{"name": "VREvent_DashboardGuideButtonUp","value": "515"} - ,{"name": "VREvent_ScreenshotTriggered","value": "516"} - ,{"name": "VREvent_ImageFailed","value": "517"} - ,{"name": "VREvent_DashboardOverlayCreated","value": "518"} - ,{"name": "VREvent_RequestScreenshot","value": "520"} - ,{"name": "VREvent_ScreenshotTaken","value": "521"} - ,{"name": "VREvent_ScreenshotFailed","value": "522"} - ,{"name": "VREvent_SubmitScreenshotToDashboard","value": "523"} - ,{"name": "VREvent_ScreenshotProgressToDashboard","value": "524"} - ,{"name": "VREvent_PrimaryDashboardDeviceChanged","value": "525"} - ,{"name": "VREvent_Notification_Shown","value": "600"} - ,{"name": "VREvent_Notification_Hidden","value": "601"} - ,{"name": "VREvent_Notification_BeginInteraction","value": "602"} - ,{"name": "VREvent_Notification_Destroyed","value": "603"} - ,{"name": "VREvent_Quit","value": "700"} - ,{"name": "VREvent_ProcessQuit","value": "701"} - ,{"name": "VREvent_QuitAborted_UserPrompt","value": "702"} - ,{"name": "VREvent_QuitAcknowledged","value": "703"} - ,{"name": "VREvent_DriverRequestedQuit","value": "704"} - ,{"name": "VREvent_ChaperoneDataHasChanged","value": "800"} - ,{"name": "VREvent_ChaperoneUniverseHasChanged","value": "801"} - ,{"name": "VREvent_ChaperoneTempDataHasChanged","value": "802"} - ,{"name": "VREvent_ChaperoneSettingsHaveChanged","value": "803"} - ,{"name": "VREvent_SeatedZeroPoseReset","value": "804"} - ,{"name": "VREvent_AudioSettingsHaveChanged","value": "820"} - ,{"name": "VREvent_BackgroundSettingHasChanged","value": "850"} - ,{"name": "VREvent_CameraSettingsHaveChanged","value": "851"} - ,{"name": "VREvent_ReprojectionSettingHasChanged","value": "852"} - ,{"name": "VREvent_ModelSkinSettingsHaveChanged","value": "853"} - ,{"name": "VREvent_EnvironmentSettingsHaveChanged","value": "854"} - ,{"name": "VREvent_PowerSettingsHaveChanged","value": "855"} - ,{"name": "VREvent_EnableHomeAppSettingsHaveChanged","value": "856"} - ,{"name": "VREvent_StatusUpdate","value": "900"} - ,{"name": "VREvent_MCImageUpdated","value": "1000"} - ,{"name": "VREvent_FirmwareUpdateStarted","value": "1100"} - ,{"name": "VREvent_FirmwareUpdateFinished","value": "1101"} - ,{"name": "VREvent_KeyboardClosed","value": "1200"} - ,{"name": "VREvent_KeyboardCharInput","value": "1201"} - ,{"name": "VREvent_KeyboardDone","value": "1202"} - ,{"name": "VREvent_ApplicationTransitionStarted","value": "1300"} - ,{"name": "VREvent_ApplicationTransitionAborted","value": "1301"} - ,{"name": "VREvent_ApplicationTransitionNewAppStarted","value": "1302"} - ,{"name": "VREvent_ApplicationListUpdated","value": "1303"} - ,{"name": "VREvent_ApplicationMimeTypeLoad","value": "1304"} - ,{"name": "VREvent_ApplicationTransitionNewAppLaunchComplete","value": "1305"} - ,{"name": "VREvent_ProcessConnected","value": "1306"} - ,{"name": "VREvent_ProcessDisconnected","value": "1307"} - ,{"name": "VREvent_Compositor_MirrorWindowShown","value": "1400"} - ,{"name": "VREvent_Compositor_MirrorWindowHidden","value": "1401"} - ,{"name": "VREvent_Compositor_ChaperoneBoundsShown","value": "1410"} - ,{"name": "VREvent_Compositor_ChaperoneBoundsHidden","value": "1411"} - ,{"name": "VREvent_TrackedCamera_StartVideoStream","value": "1500"} - ,{"name": "VREvent_TrackedCamera_StopVideoStream","value": "1501"} - ,{"name": "VREvent_TrackedCamera_PauseVideoStream","value": "1502"} - ,{"name": "VREvent_TrackedCamera_ResumeVideoStream","value": "1503"} - ,{"name": "VREvent_TrackedCamera_EditingSurface","value": "1550"} - ,{"name": "VREvent_PerformanceTest_EnableCapture","value": "1600"} - ,{"name": "VREvent_PerformanceTest_DisableCapture","value": "1601"} - ,{"name": "VREvent_PerformanceTest_FidelityLevel","value": "1602"} - ,{"name": "VREvent_MessageOverlay_Closed","value": "1650"} - ,{"name": "VREvent_MessageOverlayCloseRequested","value": "1651"} - ,{"name": "VREvent_VendorSpecific_Reserved_Start","value": "10000"} - ,{"name": "VREvent_VendorSpecific_Reserved_End","value": "19999"} -]} -, {"enumname": "vr::EDeviceActivityLevel","values": [ - {"name": "k_EDeviceActivityLevel_Unknown","value": "-1"} - ,{"name": "k_EDeviceActivityLevel_Idle","value": "0"} - ,{"name": "k_EDeviceActivityLevel_UserInteraction","value": "1"} - ,{"name": "k_EDeviceActivityLevel_UserInteraction_Timeout","value": "2"} - ,{"name": "k_EDeviceActivityLevel_Standby","value": "3"} -]} -, {"enumname": "vr::EVRButtonId","values": [ - {"name": "k_EButton_System","value": "0"} - ,{"name": "k_EButton_ApplicationMenu","value": "1"} - ,{"name": "k_EButton_Grip","value": "2"} - ,{"name": "k_EButton_DPad_Left","value": "3"} - ,{"name": "k_EButton_DPad_Up","value": "4"} - ,{"name": "k_EButton_DPad_Right","value": "5"} - ,{"name": "k_EButton_DPad_Down","value": "6"} - ,{"name": "k_EButton_A","value": "7"} - ,{"name": "k_EButton_ProximitySensor","value": "31"} - ,{"name": "k_EButton_Axis0","value": "32"} - ,{"name": "k_EButton_Axis1","value": "33"} - ,{"name": "k_EButton_Axis2","value": "34"} - ,{"name": "k_EButton_Axis3","value": "35"} - ,{"name": "k_EButton_Axis4","value": "36"} - ,{"name": "k_EButton_SteamVR_Touchpad","value": "32"} - ,{"name": "k_EButton_SteamVR_Trigger","value": "33"} - ,{"name": "k_EButton_Dashboard_Back","value": "2"} - ,{"name": "k_EButton_Max","value": "64"} -]} -, {"enumname": "vr::EVRMouseButton","values": [ - {"name": "VRMouseButton_Left","value": "1"} - ,{"name": "VRMouseButton_Right","value": "2"} - ,{"name": "VRMouseButton_Middle","value": "4"} -]} -, {"enumname": "vr::EHiddenAreaMeshType","values": [ - {"name": "k_eHiddenAreaMesh_Standard","value": "0"} - ,{"name": "k_eHiddenAreaMesh_Inverse","value": "1"} - ,{"name": "k_eHiddenAreaMesh_LineLoop","value": "2"} - ,{"name": "k_eHiddenAreaMesh_Max","value": "3"} -]} -, {"enumname": "vr::EVRControllerAxisType","values": [ - {"name": "k_eControllerAxis_None","value": "0"} - ,{"name": "k_eControllerAxis_TrackPad","value": "1"} - ,{"name": "k_eControllerAxis_Joystick","value": "2"} - ,{"name": "k_eControllerAxis_Trigger","value": "3"} -]} -, {"enumname": "vr::EVRControllerEventOutputType","values": [ - {"name": "ControllerEventOutput_OSEvents","value": "0"} - ,{"name": "ControllerEventOutput_VREvents","value": "1"} -]} -, {"enumname": "vr::ECollisionBoundsStyle","values": [ - {"name": "COLLISION_BOUNDS_STYLE_BEGINNER","value": "0"} - ,{"name": "COLLISION_BOUNDS_STYLE_INTERMEDIATE","value": "1"} - ,{"name": "COLLISION_BOUNDS_STYLE_SQUARES","value": "2"} - ,{"name": "COLLISION_BOUNDS_STYLE_ADVANCED","value": "3"} - ,{"name": "COLLISION_BOUNDS_STYLE_NONE","value": "4"} - ,{"name": "COLLISION_BOUNDS_STYLE_COUNT","value": "5"} -]} -, {"enumname": "vr::EVROverlayError","values": [ - {"name": "VROverlayError_None","value": "0"} - ,{"name": "VROverlayError_UnknownOverlay","value": "10"} - ,{"name": "VROverlayError_InvalidHandle","value": "11"} - ,{"name": "VROverlayError_PermissionDenied","value": "12"} - ,{"name": "VROverlayError_OverlayLimitExceeded","value": "13"} - ,{"name": "VROverlayError_WrongVisibilityType","value": "14"} - ,{"name": "VROverlayError_KeyTooLong","value": "15"} - ,{"name": "VROverlayError_NameTooLong","value": "16"} - ,{"name": "VROverlayError_KeyInUse","value": "17"} - ,{"name": "VROverlayError_WrongTransformType","value": "18"} - ,{"name": "VROverlayError_InvalidTrackedDevice","value": "19"} - ,{"name": "VROverlayError_InvalidParameter","value": "20"} - ,{"name": "VROverlayError_ThumbnailCantBeDestroyed","value": "21"} - ,{"name": "VROverlayError_ArrayTooSmall","value": "22"} - ,{"name": "VROverlayError_RequestFailed","value": "23"} - ,{"name": "VROverlayError_InvalidTexture","value": "24"} - ,{"name": "VROverlayError_UnableToLoadFile","value": "25"} - ,{"name": "VROverlayError_KeyboardAlreadyInUse","value": "26"} - ,{"name": "VROverlayError_NoNeighbor","value": "27"} - ,{"name": "VROverlayError_TooManyMaskPrimitives","value": "29"} - ,{"name": "VROverlayError_BadMaskPrimitive","value": "30"} -]} -, {"enumname": "vr::EVRApplicationType","values": [ - {"name": "VRApplication_Other","value": "0"} - ,{"name": "VRApplication_Scene","value": "1"} - ,{"name": "VRApplication_Overlay","value": "2"} - ,{"name": "VRApplication_Background","value": "3"} - ,{"name": "VRApplication_Utility","value": "4"} - ,{"name": "VRApplication_VRMonitor","value": "5"} - ,{"name": "VRApplication_SteamWatchdog","value": "6"} - ,{"name": "VRApplication_Bootstrapper","value": "7"} - ,{"name": "VRApplication_Max","value": "8"} -]} -, {"enumname": "vr::EVRFirmwareError","values": [ - {"name": "VRFirmwareError_None","value": "0"} - ,{"name": "VRFirmwareError_Success","value": "1"} - ,{"name": "VRFirmwareError_Fail","value": "2"} -]} -, {"enumname": "vr::EVRNotificationError","values": [ - {"name": "VRNotificationError_OK","value": "0"} - ,{"name": "VRNotificationError_InvalidNotificationId","value": "100"} - ,{"name": "VRNotificationError_NotificationQueueFull","value": "101"} - ,{"name": "VRNotificationError_InvalidOverlayHandle","value": "102"} - ,{"name": "VRNotificationError_SystemWithUserValueAlreadyExists","value": "103"} -]} -, {"enumname": "vr::EVRInitError","values": [ - {"name": "VRInitError_None","value": "0"} - ,{"name": "VRInitError_Unknown","value": "1"} - ,{"name": "VRInitError_Init_InstallationNotFound","value": "100"} - ,{"name": "VRInitError_Init_InstallationCorrupt","value": "101"} - ,{"name": "VRInitError_Init_VRClientDLLNotFound","value": "102"} - ,{"name": "VRInitError_Init_FileNotFound","value": "103"} - ,{"name": "VRInitError_Init_FactoryNotFound","value": "104"} - ,{"name": "VRInitError_Init_InterfaceNotFound","value": "105"} - ,{"name": "VRInitError_Init_InvalidInterface","value": "106"} - ,{"name": "VRInitError_Init_UserConfigDirectoryInvalid","value": "107"} - ,{"name": "VRInitError_Init_HmdNotFound","value": "108"} - ,{"name": "VRInitError_Init_NotInitialized","value": "109"} - ,{"name": "VRInitError_Init_PathRegistryNotFound","value": "110"} - ,{"name": "VRInitError_Init_NoConfigPath","value": "111"} - ,{"name": "VRInitError_Init_NoLogPath","value": "112"} - ,{"name": "VRInitError_Init_PathRegistryNotWritable","value": "113"} - ,{"name": "VRInitError_Init_AppInfoInitFailed","value": "114"} - ,{"name": "VRInitError_Init_Retry","value": "115"} - ,{"name": "VRInitError_Init_InitCanceledByUser","value": "116"} - ,{"name": "VRInitError_Init_AnotherAppLaunching","value": "117"} - ,{"name": "VRInitError_Init_SettingsInitFailed","value": "118"} - ,{"name": "VRInitError_Init_ShuttingDown","value": "119"} - ,{"name": "VRInitError_Init_TooManyObjects","value": "120"} - ,{"name": "VRInitError_Init_NoServerForBackgroundApp","value": "121"} - ,{"name": "VRInitError_Init_NotSupportedWithCompositor","value": "122"} - ,{"name": "VRInitError_Init_NotAvailableToUtilityApps","value": "123"} - ,{"name": "VRInitError_Init_Internal","value": "124"} - ,{"name": "VRInitError_Init_HmdDriverIdIsNone","value": "125"} - ,{"name": "VRInitError_Init_HmdNotFoundPresenceFailed","value": "126"} - ,{"name": "VRInitError_Init_VRMonitorNotFound","value": "127"} - ,{"name": "VRInitError_Init_VRMonitorStartupFailed","value": "128"} - ,{"name": "VRInitError_Init_LowPowerWatchdogNotSupported","value": "129"} - ,{"name": "VRInitError_Init_InvalidApplicationType","value": "130"} - ,{"name": "VRInitError_Init_NotAvailableToWatchdogApps","value": "131"} - ,{"name": "VRInitError_Init_WatchdogDisabledInSettings","value": "132"} - ,{"name": "VRInitError_Init_VRDashboardNotFound","value": "133"} - ,{"name": "VRInitError_Init_VRDashboardStartupFailed","value": "134"} - ,{"name": "VRInitError_Init_VRHomeNotFound","value": "135"} - ,{"name": "VRInitError_Init_VRHomeStartupFailed","value": "136"} - ,{"name": "VRInitError_Init_RebootingBusy","value": "137"} - ,{"name": "VRInitError_Init_FirmwareUpdateBusy","value": "138"} - ,{"name": "VRInitError_Init_FirmwareRecoveryBusy","value": "139"} - ,{"name": "VRInitError_Driver_Failed","value": "200"} - ,{"name": "VRInitError_Driver_Unknown","value": "201"} - ,{"name": "VRInitError_Driver_HmdUnknown","value": "202"} - ,{"name": "VRInitError_Driver_NotLoaded","value": "203"} - ,{"name": "VRInitError_Driver_RuntimeOutOfDate","value": "204"} - ,{"name": "VRInitError_Driver_HmdInUse","value": "205"} - ,{"name": "VRInitError_Driver_NotCalibrated","value": "206"} - ,{"name": "VRInitError_Driver_CalibrationInvalid","value": "207"} - ,{"name": "VRInitError_Driver_HmdDisplayNotFound","value": "208"} - ,{"name": "VRInitError_Driver_TrackedDeviceInterfaceUnknown","value": "209"} - ,{"name": "VRInitError_Driver_HmdDriverIdOutOfBounds","value": "211"} - ,{"name": "VRInitError_Driver_HmdDisplayMirrored","value": "212"} - ,{"name": "VRInitError_IPC_ServerInitFailed","value": "300"} - ,{"name": "VRInitError_IPC_ConnectFailed","value": "301"} - ,{"name": "VRInitError_IPC_SharedStateInitFailed","value": "302"} - ,{"name": "VRInitError_IPC_CompositorInitFailed","value": "303"} - ,{"name": "VRInitError_IPC_MutexInitFailed","value": "304"} - ,{"name": "VRInitError_IPC_Failed","value": "305"} - ,{"name": "VRInitError_IPC_CompositorConnectFailed","value": "306"} - ,{"name": "VRInitError_IPC_CompositorInvalidConnectResponse","value": "307"} - ,{"name": "VRInitError_IPC_ConnectFailedAfterMultipleAttempts","value": "308"} - ,{"name": "VRInitError_Compositor_Failed","value": "400"} - ,{"name": "VRInitError_Compositor_D3D11HardwareRequired","value": "401"} - ,{"name": "VRInitError_Compositor_FirmwareRequiresUpdate","value": "402"} - ,{"name": "VRInitError_Compositor_OverlayInitFailed","value": "403"} - ,{"name": "VRInitError_Compositor_ScreenshotsInitFailed","value": "404"} - ,{"name": "VRInitError_Compositor_UnableToCreateDevice","value": "405"} - ,{"name": "VRInitError_VendorSpecific_UnableToConnectToOculusRuntime","value": "1000"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_CantOpenDevice","value": "1101"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart","value": "1102"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_NoStoredConfig","value": "1103"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_ConfigTooBig","value": "1104"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_ConfigTooSmall","value": "1105"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_UnableToInitZLib","value": "1106"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion","value": "1107"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart","value": "1108"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart","value": "1109"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext","value": "1110"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_UserDataAddressRange","value": "1111"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_UserDataError","value": "1112"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck","value": "1113"} - ,{"name": "VRInitError_Steam_SteamInstallationNotFound","value": "2000"} -]} -, {"enumname": "vr::EVRScreenshotType","values": [ - {"name": "VRScreenshotType_None","value": "0"} - ,{"name": "VRScreenshotType_Mono","value": "1"} - ,{"name": "VRScreenshotType_Stereo","value": "2"} - ,{"name": "VRScreenshotType_Cubemap","value": "3"} - ,{"name": "VRScreenshotType_MonoPanorama","value": "4"} - ,{"name": "VRScreenshotType_StereoPanorama","value": "5"} -]} -, {"enumname": "vr::EVRScreenshotPropertyFilenames","values": [ - {"name": "VRScreenshotPropertyFilenames_Preview","value": "0"} - ,{"name": "VRScreenshotPropertyFilenames_VR","value": "1"} -]} -, {"enumname": "vr::EVRTrackedCameraError","values": [ - {"name": "VRTrackedCameraError_None","value": "0"} - ,{"name": "VRTrackedCameraError_OperationFailed","value": "100"} - ,{"name": "VRTrackedCameraError_InvalidHandle","value": "101"} - ,{"name": "VRTrackedCameraError_InvalidFrameHeaderVersion","value": "102"} - ,{"name": "VRTrackedCameraError_OutOfHandles","value": "103"} - ,{"name": "VRTrackedCameraError_IPCFailure","value": "104"} - ,{"name": "VRTrackedCameraError_NotSupportedForThisDevice","value": "105"} - ,{"name": "VRTrackedCameraError_SharedMemoryFailure","value": "106"} - ,{"name": "VRTrackedCameraError_FrameBufferingFailure","value": "107"} - ,{"name": "VRTrackedCameraError_StreamSetupFailure","value": "108"} - ,{"name": "VRTrackedCameraError_InvalidGLTextureId","value": "109"} - ,{"name": "VRTrackedCameraError_InvalidSharedTextureHandle","value": "110"} - ,{"name": "VRTrackedCameraError_FailedToGetGLTextureId","value": "111"} - ,{"name": "VRTrackedCameraError_SharedTextureFailure","value": "112"} - ,{"name": "VRTrackedCameraError_NoFrameAvailable","value": "113"} - ,{"name": "VRTrackedCameraError_InvalidArgument","value": "114"} - ,{"name": "VRTrackedCameraError_InvalidFrameBufferSize","value": "115"} -]} -, {"enumname": "vr::EVRTrackedCameraFrameType","values": [ - {"name": "VRTrackedCameraFrameType_Distorted","value": "0"} - ,{"name": "VRTrackedCameraFrameType_Undistorted","value": "1"} - ,{"name": "VRTrackedCameraFrameType_MaximumUndistorted","value": "2"} - ,{"name": "MAX_CAMERA_FRAME_TYPES","value": "3"} -]} -, {"enumname": "vr::EVRApplicationError","values": [ - {"name": "VRApplicationError_None","value": "0"} - ,{"name": "VRApplicationError_AppKeyAlreadyExists","value": "100"} - ,{"name": "VRApplicationError_NoManifest","value": "101"} - ,{"name": "VRApplicationError_NoApplication","value": "102"} - ,{"name": "VRApplicationError_InvalidIndex","value": "103"} - ,{"name": "VRApplicationError_UnknownApplication","value": "104"} - ,{"name": "VRApplicationError_IPCFailed","value": "105"} - ,{"name": "VRApplicationError_ApplicationAlreadyRunning","value": "106"} - ,{"name": "VRApplicationError_InvalidManifest","value": "107"} - ,{"name": "VRApplicationError_InvalidApplication","value": "108"} - ,{"name": "VRApplicationError_LaunchFailed","value": "109"} - ,{"name": "VRApplicationError_ApplicationAlreadyStarting","value": "110"} - ,{"name": "VRApplicationError_LaunchInProgress","value": "111"} - ,{"name": "VRApplicationError_OldApplicationQuitting","value": "112"} - ,{"name": "VRApplicationError_TransitionAborted","value": "113"} - ,{"name": "VRApplicationError_IsTemplate","value": "114"} - ,{"name": "VRApplicationError_SteamVRIsExiting","value": "115"} - ,{"name": "VRApplicationError_BufferTooSmall","value": "200"} - ,{"name": "VRApplicationError_PropertyNotSet","value": "201"} - ,{"name": "VRApplicationError_UnknownProperty","value": "202"} - ,{"name": "VRApplicationError_InvalidParameter","value": "203"} -]} -, {"enumname": "vr::EVRApplicationProperty","values": [ - {"name": "VRApplicationProperty_Name_String","value": "0"} - ,{"name": "VRApplicationProperty_LaunchType_String","value": "11"} - ,{"name": "VRApplicationProperty_WorkingDirectory_String","value": "12"} - ,{"name": "VRApplicationProperty_BinaryPath_String","value": "13"} - ,{"name": "VRApplicationProperty_Arguments_String","value": "14"} - ,{"name": "VRApplicationProperty_URL_String","value": "15"} - ,{"name": "VRApplicationProperty_Description_String","value": "50"} - ,{"name": "VRApplicationProperty_NewsURL_String","value": "51"} - ,{"name": "VRApplicationProperty_ImagePath_String","value": "52"} - ,{"name": "VRApplicationProperty_Source_String","value": "53"} - ,{"name": "VRApplicationProperty_IsDashboardOverlay_Bool","value": "60"} - ,{"name": "VRApplicationProperty_IsTemplate_Bool","value": "61"} - ,{"name": "VRApplicationProperty_IsInstanced_Bool","value": "62"} - ,{"name": "VRApplicationProperty_IsInternal_Bool","value": "63"} - ,{"name": "VRApplicationProperty_WantsCompositorPauseInStandby_Bool","value": "64"} - ,{"name": "VRApplicationProperty_LastLaunchTime_Uint64","value": "70"} -]} -, {"enumname": "vr::EVRApplicationTransitionState","values": [ - {"name": "VRApplicationTransition_None","value": "0"} - ,{"name": "VRApplicationTransition_OldAppQuitSent","value": "10"} - ,{"name": "VRApplicationTransition_WaitingForExternalLaunch","value": "11"} - ,{"name": "VRApplicationTransition_NewAppLaunched","value": "20"} -]} -, {"enumname": "vr::ChaperoneCalibrationState","values": [ - {"name": "ChaperoneCalibrationState_OK","value": "1"} - ,{"name": "ChaperoneCalibrationState_Warning","value": "100"} - ,{"name": "ChaperoneCalibrationState_Warning_BaseStationMayHaveMoved","value": "101"} - ,{"name": "ChaperoneCalibrationState_Warning_BaseStationRemoved","value": "102"} - ,{"name": "ChaperoneCalibrationState_Warning_SeatedBoundsInvalid","value": "103"} - ,{"name": "ChaperoneCalibrationState_Error","value": "200"} - ,{"name": "ChaperoneCalibrationState_Error_BaseStationUninitialized","value": "201"} - ,{"name": "ChaperoneCalibrationState_Error_BaseStationConflict","value": "202"} - ,{"name": "ChaperoneCalibrationState_Error_PlayAreaInvalid","value": "203"} - ,{"name": "ChaperoneCalibrationState_Error_CollisionBoundsInvalid","value": "204"} -]} -, {"enumname": "vr::EChaperoneConfigFile","values": [ - {"name": "EChaperoneConfigFile_Live","value": "1"} - ,{"name": "EChaperoneConfigFile_Temp","value": "2"} -]} -, {"enumname": "vr::EChaperoneImportFlags","values": [ - {"name": "EChaperoneImport_BoundsOnly","value": "1"} -]} -, {"enumname": "vr::EVRCompositorError","values": [ - {"name": "VRCompositorError_None","value": "0"} - ,{"name": "VRCompositorError_RequestFailed","value": "1"} - ,{"name": "VRCompositorError_IncompatibleVersion","value": "100"} - ,{"name": "VRCompositorError_DoNotHaveFocus","value": "101"} - ,{"name": "VRCompositorError_InvalidTexture","value": "102"} - ,{"name": "VRCompositorError_IsNotSceneApplication","value": "103"} - ,{"name": "VRCompositorError_TextureIsOnWrongDevice","value": "104"} - ,{"name": "VRCompositorError_TextureUsesUnsupportedFormat","value": "105"} - ,{"name": "VRCompositorError_SharedTexturesNotSupported","value": "106"} - ,{"name": "VRCompositorError_IndexOutOfRange","value": "107"} - ,{"name": "VRCompositorError_AlreadySubmitted","value": "108"} - ,{"name": "VRCompositorError_InvalidBounds","value": "109"} -]} -, {"enumname": "vr::VROverlayInputMethod","values": [ - {"name": "VROverlayInputMethod_None","value": "0"} - ,{"name": "VROverlayInputMethod_Mouse","value": "1"} -]} -, {"enumname": "vr::VROverlayTransformType","values": [ - {"name": "VROverlayTransform_Absolute","value": "0"} - ,{"name": "VROverlayTransform_TrackedDeviceRelative","value": "1"} - ,{"name": "VROverlayTransform_SystemOverlay","value": "2"} - ,{"name": "VROverlayTransform_TrackedComponent","value": "3"} -]} -, {"enumname": "vr::VROverlayFlags","values": [ - {"name": "VROverlayFlags_None","value": "0"} - ,{"name": "VROverlayFlags_Curved","value": "1"} - ,{"name": "VROverlayFlags_RGSS4X","value": "2"} - ,{"name": "VROverlayFlags_NoDashboardTab","value": "3"} - ,{"name": "VROverlayFlags_AcceptsGamepadEvents","value": "4"} - ,{"name": "VROverlayFlags_ShowGamepadFocus","value": "5"} - ,{"name": "VROverlayFlags_SendVRScrollEvents","value": "6"} - ,{"name": "VROverlayFlags_SendVRTouchpadEvents","value": "7"} - ,{"name": "VROverlayFlags_ShowTouchPadScrollWheel","value": "8"} - ,{"name": "VROverlayFlags_TransferOwnershipToInternalProcess","value": "9"} - ,{"name": "VROverlayFlags_SideBySide_Parallel","value": "10"} - ,{"name": "VROverlayFlags_SideBySide_Crossed","value": "11"} - ,{"name": "VROverlayFlags_Panorama","value": "12"} - ,{"name": "VROverlayFlags_StereoPanorama","value": "13"} - ,{"name": "VROverlayFlags_SortWithNonSceneOverlays","value": "14"} - ,{"name": "VROverlayFlags_VisibleInDashboard","value": "15"} -]} -, {"enumname": "vr::VRMessageOverlayResponse","values": [ - {"name": "VRMessageOverlayResponse_ButtonPress_0","value": "0"} - ,{"name": "VRMessageOverlayResponse_ButtonPress_1","value": "1"} - ,{"name": "VRMessageOverlayResponse_ButtonPress_2","value": "2"} - ,{"name": "VRMessageOverlayResponse_ButtonPress_3","value": "3"} - ,{"name": "VRMessageOverlayResponse_CouldntFindSystemOverlay","value": "4"} - ,{"name": "VRMessageOverlayResponse_CouldntFindOrCreateClientOverlay","value": "5"} - ,{"name": "VRMessageOverlayResponse_ApplicationQuit","value": "6"} -]} -, {"enumname": "vr::EGamepadTextInputMode","values": [ - {"name": "k_EGamepadTextInputModeNormal","value": "0"} - ,{"name": "k_EGamepadTextInputModePassword","value": "1"} - ,{"name": "k_EGamepadTextInputModeSubmit","value": "2"} -]} -, {"enumname": "vr::EGamepadTextInputLineMode","values": [ - {"name": "k_EGamepadTextInputLineModeSingleLine","value": "0"} - ,{"name": "k_EGamepadTextInputLineModeMultipleLines","value": "1"} -]} -, {"enumname": "vr::EOverlayDirection","values": [ - {"name": "OverlayDirection_Up","value": "0"} - ,{"name": "OverlayDirection_Down","value": "1"} - ,{"name": "OverlayDirection_Left","value": "2"} - ,{"name": "OverlayDirection_Right","value": "3"} - ,{"name": "OverlayDirection_Count","value": "4"} -]} -, {"enumname": "vr::EVROverlayIntersectionMaskPrimitiveType","values": [ - {"name": "OverlayIntersectionPrimitiveType_Rectangle","value": "0"} - ,{"name": "OverlayIntersectionPrimitiveType_Circle","value": "1"} -]} -, {"enumname": "vr::EVRRenderModelError","values": [ - {"name": "VRRenderModelError_None","value": "0"} - ,{"name": "VRRenderModelError_Loading","value": "100"} - ,{"name": "VRRenderModelError_NotSupported","value": "200"} - ,{"name": "VRRenderModelError_InvalidArg","value": "300"} - ,{"name": "VRRenderModelError_InvalidModel","value": "301"} - ,{"name": "VRRenderModelError_NoShapes","value": "302"} - ,{"name": "VRRenderModelError_MultipleShapes","value": "303"} - ,{"name": "VRRenderModelError_TooManyVertices","value": "304"} - ,{"name": "VRRenderModelError_MultipleTextures","value": "305"} - ,{"name": "VRRenderModelError_BufferTooSmall","value": "306"} - ,{"name": "VRRenderModelError_NotEnoughNormals","value": "307"} - ,{"name": "VRRenderModelError_NotEnoughTexCoords","value": "308"} - ,{"name": "VRRenderModelError_InvalidTexture","value": "400"} -]} -, {"enumname": "vr::EVRComponentProperty","values": [ - {"name": "VRComponentProperty_IsStatic","value": "1"} - ,{"name": "VRComponentProperty_IsVisible","value": "2"} - ,{"name": "VRComponentProperty_IsTouched","value": "4"} - ,{"name": "VRComponentProperty_IsPressed","value": "8"} - ,{"name": "VRComponentProperty_IsScrolled","value": "16"} -]} -, {"enumname": "vr::EVRNotificationType","values": [ - {"name": "EVRNotificationType_Transient","value": "0"} - ,{"name": "EVRNotificationType_Persistent","value": "1"} - ,{"name": "EVRNotificationType_Transient_SystemWithUserValue","value": "2"} -]} -, {"enumname": "vr::EVRNotificationStyle","values": [ - {"name": "EVRNotificationStyle_None","value": "0"} - ,{"name": "EVRNotificationStyle_Application","value": "100"} - ,{"name": "EVRNotificationStyle_Contact_Disabled","value": "200"} - ,{"name": "EVRNotificationStyle_Contact_Enabled","value": "201"} - ,{"name": "EVRNotificationStyle_Contact_Active","value": "202"} -]} -, {"enumname": "vr::EVRSettingsError","values": [ - {"name": "VRSettingsError_None","value": "0"} - ,{"name": "VRSettingsError_IPCFailed","value": "1"} - ,{"name": "VRSettingsError_WriteFailed","value": "2"} - ,{"name": "VRSettingsError_ReadFailed","value": "3"} - ,{"name": "VRSettingsError_JsonParseFailed","value": "4"} - ,{"name": "VRSettingsError_UnsetSettingHasNoDefault","value": "5"} -]} -, {"enumname": "vr::EVRScreenshotError","values": [ - {"name": "VRScreenshotError_None","value": "0"} - ,{"name": "VRScreenshotError_RequestFailed","value": "1"} - ,{"name": "VRScreenshotError_IncompatibleVersion","value": "100"} - ,{"name": "VRScreenshotError_NotFound","value": "101"} - ,{"name": "VRScreenshotError_BufferTooSmall","value": "102"} - ,{"name": "VRScreenshotError_ScreenshotAlreadyInProgress","value": "108"} -]} -], -"consts":[{ - "constname": "k_nDriverNone","consttype": "const uint32_t", "constval": "4294967295"} -,{ - "constname": "k_unMaxDriverDebugResponseSize","consttype": "const uint32_t", "constval": "32768"} -,{ - "constname": "k_unTrackedDeviceIndex_Hmd","consttype": "const uint32_t", "constval": "0"} -,{ - "constname": "k_unMaxTrackedDeviceCount","consttype": "const uint32_t", "constval": "16"} -,{ - "constname": "k_unTrackedDeviceIndexOther","consttype": "const uint32_t", "constval": "4294967294"} -,{ - "constname": "k_unTrackedDeviceIndexInvalid","consttype": "const uint32_t", "constval": "4294967295"} -,{ - "constname": "k_ulInvalidPropertyContainer","consttype": "const PropertyContainerHandle_t", "constval": "0"} -,{ - "constname": "k_unInvalidPropertyTag","consttype": "const PropertyTypeTag_t", "constval": "0"} -,{ - "constname": "k_unFloatPropertyTag","consttype": "const PropertyTypeTag_t", "constval": "1"} -,{ - "constname": "k_unInt32PropertyTag","consttype": "const PropertyTypeTag_t", "constval": "2"} -,{ - "constname": "k_unUint64PropertyTag","consttype": "const PropertyTypeTag_t", "constval": "3"} -,{ - "constname": "k_unBoolPropertyTag","consttype": "const PropertyTypeTag_t", "constval": "4"} -,{ - "constname": "k_unStringPropertyTag","consttype": "const PropertyTypeTag_t", "constval": "5"} -,{ - "constname": "k_unHmdMatrix34PropertyTag","consttype": "const PropertyTypeTag_t", "constval": "20"} -,{ - "constname": "k_unHmdMatrix44PropertyTag","consttype": "const PropertyTypeTag_t", "constval": "21"} -,{ - "constname": "k_unHmdVector3PropertyTag","consttype": "const PropertyTypeTag_t", "constval": "22"} -,{ - "constname": "k_unHmdVector4PropertyTag","consttype": "const PropertyTypeTag_t", "constval": "23"} -,{ - "constname": "k_unHiddenAreaPropertyTag","consttype": "const PropertyTypeTag_t", "constval": "30"} -,{ - "constname": "k_unOpenVRInternalReserved_Start","consttype": "const PropertyTypeTag_t", "constval": "1000"} -,{ - "constname": "k_unOpenVRInternalReserved_End","consttype": "const PropertyTypeTag_t", "constval": "10000"} -,{ - "constname": "k_unMaxPropertyStringSize","consttype": "const uint32_t", "constval": "32768"} -,{ - "constname": "k_unControllerStateAxisCount","consttype": "const uint32_t", "constval": "5"} -,{ - "constname": "k_ulOverlayHandleInvalid","consttype": "const VROverlayHandle_t", "constval": "0"} -,{ - "constname": "k_unScreenshotHandleInvalid","consttype": "const uint32_t", "constval": "0"} -,{ - "constname": "IVRSystem_Version","consttype": "const char *const", "constval": "IVRSystem_017"} -,{ - "constname": "IVRExtendedDisplay_Version","consttype": "const char *const", "constval": "IVRExtendedDisplay_001"} -,{ - "constname": "IVRTrackedCamera_Version","consttype": "const char *const", "constval": "IVRTrackedCamera_003"} -,{ - "constname": "k_unMaxApplicationKeyLength","consttype": "const uint32_t", "constval": "128"} -,{ - "constname": "k_pch_MimeType_HomeApp","consttype": "const char *const", "constval": "vr/home"} -,{ - "constname": "k_pch_MimeType_GameTheater","consttype": "const char *const", "constval": "vr/game_theater"} -,{ - "constname": "IVRApplications_Version","consttype": "const char *const", "constval": "IVRApplications_006"} -,{ - "constname": "IVRChaperone_Version","consttype": "const char *const", "constval": "IVRChaperone_003"} -,{ - "constname": "IVRChaperoneSetup_Version","consttype": "const char *const", "constval": "IVRChaperoneSetup_005"} -,{ - "constname": "IVRCompositor_Version","consttype": "const char *const", "constval": "IVRCompositor_021"} -,{ - "constname": "k_unVROverlayMaxKeyLength","consttype": "const uint32_t", "constval": "128"} -,{ - "constname": "k_unVROverlayMaxNameLength","consttype": "const uint32_t", "constval": "128"} -,{ - "constname": "k_unMaxOverlayCount","consttype": "const uint32_t", "constval": "64"} -,{ - "constname": "k_unMaxOverlayIntersectionMaskPrimitivesCount","consttype": "const uint32_t", "constval": "32"} -,{ - "constname": "IVROverlay_Version","consttype": "const char *const", "constval": "IVROverlay_016"} -,{ - "constname": "k_pch_Controller_Component_GDC2015","consttype": "const char *const", "constval": "gdc2015"} -,{ - "constname": "k_pch_Controller_Component_Base","consttype": "const char *const", "constval": "base"} -,{ - "constname": "k_pch_Controller_Component_Tip","consttype": "const char *const", "constval": "tip"} -,{ - "constname": "k_pch_Controller_Component_HandGrip","consttype": "const char *const", "constval": "handgrip"} -,{ - "constname": "k_pch_Controller_Component_Status","consttype": "const char *const", "constval": "status"} -,{ - "constname": "IVRRenderModels_Version","consttype": "const char *const", "constval": "IVRRenderModels_005"} -,{ - "constname": "k_unNotificationTextMaxSize","consttype": "const uint32_t", "constval": "256"} -,{ - "constname": "IVRNotifications_Version","consttype": "const char *const", "constval": "IVRNotifications_002"} -,{ - "constname": "k_unMaxSettingsKeyLength","consttype": "const uint32_t", "constval": "128"} -,{ - "constname": "IVRSettings_Version","consttype": "const char *const", "constval": "IVRSettings_002"} -,{ - "constname": "k_pch_SteamVR_Section","consttype": "const char *const", "constval": "steamvr"} -,{ - "constname": "k_pch_SteamVR_RequireHmd_String","consttype": "const char *const", "constval": "requireHmd"} -,{ - "constname": "k_pch_SteamVR_ForcedDriverKey_String","consttype": "const char *const", "constval": "forcedDriver"} -,{ - "constname": "k_pch_SteamVR_ForcedHmdKey_String","consttype": "const char *const", "constval": "forcedHmd"} -,{ - "constname": "k_pch_SteamVR_DisplayDebug_Bool","consttype": "const char *const", "constval": "displayDebug"} -,{ - "constname": "k_pch_SteamVR_DebugProcessPipe_String","consttype": "const char *const", "constval": "debugProcessPipe"} -,{ - "constname": "k_pch_SteamVR_DisplayDebugX_Int32","consttype": "const char *const", "constval": "displayDebugX"} -,{ - "constname": "k_pch_SteamVR_DisplayDebugY_Int32","consttype": "const char *const", "constval": "displayDebugY"} -,{ - "constname": "k_pch_SteamVR_SendSystemButtonToAllApps_Bool","consttype": "const char *const", "constval": "sendSystemButtonToAllApps"} -,{ - "constname": "k_pch_SteamVR_LogLevel_Int32","consttype": "const char *const", "constval": "loglevel"} -,{ - "constname": "k_pch_SteamVR_IPD_Float","consttype": "const char *const", "constval": "ipd"} -,{ - "constname": "k_pch_SteamVR_Background_String","consttype": "const char *const", "constval": "background"} -,{ - "constname": "k_pch_SteamVR_BackgroundUseDomeProjection_Bool","consttype": "const char *const", "constval": "backgroundUseDomeProjection"} -,{ - "constname": "k_pch_SteamVR_BackgroundCameraHeight_Float","consttype": "const char *const", "constval": "backgroundCameraHeight"} -,{ - "constname": "k_pch_SteamVR_BackgroundDomeRadius_Float","consttype": "const char *const", "constval": "backgroundDomeRadius"} -,{ - "constname": "k_pch_SteamVR_GridColor_String","consttype": "const char *const", "constval": "gridColor"} -,{ - "constname": "k_pch_SteamVR_PlayAreaColor_String","consttype": "const char *const", "constval": "playAreaColor"} -,{ - "constname": "k_pch_SteamVR_ShowStage_Bool","consttype": "const char *const", "constval": "showStage"} -,{ - "constname": "k_pch_SteamVR_ActivateMultipleDrivers_Bool","consttype": "const char *const", "constval": "activateMultipleDrivers"} -,{ - "constname": "k_pch_SteamVR_DirectMode_Bool","consttype": "const char *const", "constval": "directMode"} -,{ - "constname": "k_pch_SteamVR_DirectModeEdidVid_Int32","consttype": "const char *const", "constval": "directModeEdidVid"} -,{ - "constname": "k_pch_SteamVR_DirectModeEdidPid_Int32","consttype": "const char *const", "constval": "directModeEdidPid"} -,{ - "constname": "k_pch_SteamVR_UsingSpeakers_Bool","consttype": "const char *const", "constval": "usingSpeakers"} -,{ - "constname": "k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float","consttype": "const char *const", "constval": "speakersForwardYawOffsetDegrees"} -,{ - "constname": "k_pch_SteamVR_BaseStationPowerManagement_Bool","consttype": "const char *const", "constval": "basestationPowerManagement"} -,{ - "constname": "k_pch_SteamVR_NeverKillProcesses_Bool","consttype": "const char *const", "constval": "neverKillProcesses"} -,{ - "constname": "k_pch_SteamVR_SupersampleScale_Float","consttype": "const char *const", "constval": "supersampleScale"} -,{ - "constname": "k_pch_SteamVR_AllowAsyncReprojection_Bool","consttype": "const char *const", "constval": "allowAsyncReprojection"} -,{ - "constname": "k_pch_SteamVR_AllowReprojection_Bool","consttype": "const char *const", "constval": "allowInterleavedReprojection"} -,{ - "constname": "k_pch_SteamVR_ForceReprojection_Bool","consttype": "const char *const", "constval": "forceReprojection"} -,{ - "constname": "k_pch_SteamVR_ForceFadeOnBadTracking_Bool","consttype": "const char *const", "constval": "forceFadeOnBadTracking"} -,{ - "constname": "k_pch_SteamVR_DefaultMirrorView_Int32","consttype": "const char *const", "constval": "defaultMirrorView"} -,{ - "constname": "k_pch_SteamVR_ShowMirrorView_Bool","consttype": "const char *const", "constval": "showMirrorView"} -,{ - "constname": "k_pch_SteamVR_MirrorViewGeometry_String","consttype": "const char *const", "constval": "mirrorViewGeometry"} -,{ - "constname": "k_pch_SteamVR_StartMonitorFromAppLaunch","consttype": "const char *const", "constval": "startMonitorFromAppLaunch"} -,{ - "constname": "k_pch_SteamVR_StartCompositorFromAppLaunch_Bool","consttype": "const char *const", "constval": "startCompositorFromAppLaunch"} -,{ - "constname": "k_pch_SteamVR_StartDashboardFromAppLaunch_Bool","consttype": "const char *const", "constval": "startDashboardFromAppLaunch"} -,{ - "constname": "k_pch_SteamVR_StartOverlayAppsFromDashboard_Bool","consttype": "const char *const", "constval": "startOverlayAppsFromDashboard"} -,{ - "constname": "k_pch_SteamVR_EnableHomeApp","consttype": "const char *const", "constval": "enableHomeApp"} -,{ - "constname": "k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32","consttype": "const char *const", "constval": "CycleBackgroundImageTimeSec"} -,{ - "constname": "k_pch_SteamVR_RetailDemo_Bool","consttype": "const char *const", "constval": "retailDemo"} -,{ - "constname": "k_pch_SteamVR_IpdOffset_Float","consttype": "const char *const", "constval": "ipdOffset"} -,{ - "constname": "k_pch_SteamVR_AllowSupersampleFiltering_Bool","consttype": "const char *const", "constval": "allowSupersampleFiltering"} -,{ - "constname": "k_pch_SteamVR_EnableLinuxVulkanAsync_Bool","consttype": "const char *const", "constval": "enableLinuxVulkanAsync"} -,{ - "constname": "k_pch_Lighthouse_Section","consttype": "const char *const", "constval": "driver_lighthouse"} -,{ - "constname": "k_pch_Lighthouse_DisableIMU_Bool","consttype": "const char *const", "constval": "disableimu"} -,{ - "constname": "k_pch_Lighthouse_UseDisambiguation_String","consttype": "const char *const", "constval": "usedisambiguation"} -,{ - "constname": "k_pch_Lighthouse_DisambiguationDebug_Int32","consttype": "const char *const", "constval": "disambiguationdebug"} -,{ - "constname": "k_pch_Lighthouse_PrimaryBasestation_Int32","consttype": "const char *const", "constval": "primarybasestation"} -,{ - "constname": "k_pch_Lighthouse_DBHistory_Bool","consttype": "const char *const", "constval": "dbhistory"} -,{ - "constname": "k_pch_Null_Section","consttype": "const char *const", "constval": "driver_null"} -,{ - "constname": "k_pch_Null_SerialNumber_String","consttype": "const char *const", "constval": "serialNumber"} -,{ - "constname": "k_pch_Null_ModelNumber_String","consttype": "const char *const", "constval": "modelNumber"} -,{ - "constname": "k_pch_Null_WindowX_Int32","consttype": "const char *const", "constval": "windowX"} -,{ - "constname": "k_pch_Null_WindowY_Int32","consttype": "const char *const", "constval": "windowY"} -,{ - "constname": "k_pch_Null_WindowWidth_Int32","consttype": "const char *const", "constval": "windowWidth"} -,{ - "constname": "k_pch_Null_WindowHeight_Int32","consttype": "const char *const", "constval": "windowHeight"} -,{ - "constname": "k_pch_Null_RenderWidth_Int32","consttype": "const char *const", "constval": "renderWidth"} -,{ - "constname": "k_pch_Null_RenderHeight_Int32","consttype": "const char *const", "constval": "renderHeight"} -,{ - "constname": "k_pch_Null_SecondsFromVsyncToPhotons_Float","consttype": "const char *const", "constval": "secondsFromVsyncToPhotons"} -,{ - "constname": "k_pch_Null_DisplayFrequency_Float","consttype": "const char *const", "constval": "displayFrequency"} -,{ - "constname": "k_pch_UserInterface_Section","consttype": "const char *const", "constval": "userinterface"} -,{ - "constname": "k_pch_UserInterface_StatusAlwaysOnTop_Bool","consttype": "const char *const", "constval": "StatusAlwaysOnTop"} -,{ - "constname": "k_pch_UserInterface_MinimizeToTray_Bool","consttype": "const char *const", "constval": "MinimizeToTray"} -,{ - "constname": "k_pch_UserInterface_Screenshots_Bool","consttype": "const char *const", "constval": "screenshots"} -,{ - "constname": "k_pch_UserInterface_ScreenshotType_Int","consttype": "const char *const", "constval": "screenshotType"} -,{ - "constname": "k_pch_Notifications_Section","consttype": "const char *const", "constval": "notifications"} -,{ - "constname": "k_pch_Notifications_DoNotDisturb_Bool","consttype": "const char *const", "constval": "DoNotDisturb"} -,{ - "constname": "k_pch_Keyboard_Section","consttype": "const char *const", "constval": "keyboard"} -,{ - "constname": "k_pch_Keyboard_TutorialCompletions","consttype": "const char *const", "constval": "TutorialCompletions"} -,{ - "constname": "k_pch_Keyboard_ScaleX","consttype": "const char *const", "constval": "ScaleX"} -,{ - "constname": "k_pch_Keyboard_ScaleY","consttype": "const char *const", "constval": "ScaleY"} -,{ - "constname": "k_pch_Keyboard_OffsetLeftX","consttype": "const char *const", "constval": "OffsetLeftX"} -,{ - "constname": "k_pch_Keyboard_OffsetRightX","consttype": "const char *const", "constval": "OffsetRightX"} -,{ - "constname": "k_pch_Keyboard_OffsetY","consttype": "const char *const", "constval": "OffsetY"} -,{ - "constname": "k_pch_Keyboard_Smoothing","consttype": "const char *const", "constval": "Smoothing"} -,{ - "constname": "k_pch_Perf_Section","consttype": "const char *const", "constval": "perfcheck"} -,{ - "constname": "k_pch_Perf_HeuristicActive_Bool","consttype": "const char *const", "constval": "heuristicActive"} -,{ - "constname": "k_pch_Perf_NotifyInHMD_Bool","consttype": "const char *const", "constval": "warnInHMD"} -,{ - "constname": "k_pch_Perf_NotifyOnlyOnce_Bool","consttype": "const char *const", "constval": "warnOnlyOnce"} -,{ - "constname": "k_pch_Perf_AllowTimingStore_Bool","consttype": "const char *const", "constval": "allowTimingStore"} -,{ - "constname": "k_pch_Perf_SaveTimingsOnExit_Bool","consttype": "const char *const", "constval": "saveTimingsOnExit"} -,{ - "constname": "k_pch_Perf_TestData_Float","consttype": "const char *const", "constval": "perfTestData"} -,{ - "constname": "k_pch_Perf_LinuxGPUProfiling_Bool","consttype": "const char *const", "constval": "linuxGPUProfiling"} -,{ - "constname": "k_pch_CollisionBounds_Section","consttype": "const char *const", "constval": "collisionBounds"} -,{ - "constname": "k_pch_CollisionBounds_Style_Int32","consttype": "const char *const", "constval": "CollisionBoundsStyle"} -,{ - "constname": "k_pch_CollisionBounds_GroundPerimeterOn_Bool","consttype": "const char *const", "constval": "CollisionBoundsGroundPerimeterOn"} -,{ - "constname": "k_pch_CollisionBounds_CenterMarkerOn_Bool","consttype": "const char *const", "constval": "CollisionBoundsCenterMarkerOn"} -,{ - "constname": "k_pch_CollisionBounds_PlaySpaceOn_Bool","consttype": "const char *const", "constval": "CollisionBoundsPlaySpaceOn"} -,{ - "constname": "k_pch_CollisionBounds_FadeDistance_Float","consttype": "const char *const", "constval": "CollisionBoundsFadeDistance"} -,{ - "constname": "k_pch_CollisionBounds_ColorGammaR_Int32","consttype": "const char *const", "constval": "CollisionBoundsColorGammaR"} -,{ - "constname": "k_pch_CollisionBounds_ColorGammaG_Int32","consttype": "const char *const", "constval": "CollisionBoundsColorGammaG"} -,{ - "constname": "k_pch_CollisionBounds_ColorGammaB_Int32","consttype": "const char *const", "constval": "CollisionBoundsColorGammaB"} -,{ - "constname": "k_pch_CollisionBounds_ColorGammaA_Int32","consttype": "const char *const", "constval": "CollisionBoundsColorGammaA"} -,{ - "constname": "k_pch_Camera_Section","consttype": "const char *const", "constval": "camera"} -,{ - "constname": "k_pch_Camera_EnableCamera_Bool","consttype": "const char *const", "constval": "enableCamera"} -,{ - "constname": "k_pch_Camera_EnableCameraInDashboard_Bool","consttype": "const char *const", "constval": "enableCameraInDashboard"} -,{ - "constname": "k_pch_Camera_EnableCameraForCollisionBounds_Bool","consttype": "const char *const", "constval": "enableCameraForCollisionBounds"} -,{ - "constname": "k_pch_Camera_EnableCameraForRoomView_Bool","consttype": "const char *const", "constval": "enableCameraForRoomView"} -,{ - "constname": "k_pch_Camera_BoundsColorGammaR_Int32","consttype": "const char *const", "constval": "cameraBoundsColorGammaR"} -,{ - "constname": "k_pch_Camera_BoundsColorGammaG_Int32","consttype": "const char *const", "constval": "cameraBoundsColorGammaG"} -,{ - "constname": "k_pch_Camera_BoundsColorGammaB_Int32","consttype": "const char *const", "constval": "cameraBoundsColorGammaB"} -,{ - "constname": "k_pch_Camera_BoundsColorGammaA_Int32","consttype": "const char *const", "constval": "cameraBoundsColorGammaA"} -,{ - "constname": "k_pch_Camera_BoundsStrength_Int32","consttype": "const char *const", "constval": "cameraBoundsStrength"} -,{ - "constname": "k_pch_audio_Section","consttype": "const char *const", "constval": "audio"} -,{ - "constname": "k_pch_audio_OnPlaybackDevice_String","consttype": "const char *const", "constval": "onPlaybackDevice"} -,{ - "constname": "k_pch_audio_OnRecordDevice_String","consttype": "const char *const", "constval": "onRecordDevice"} -,{ - "constname": "k_pch_audio_OnPlaybackMirrorDevice_String","consttype": "const char *const", "constval": "onPlaybackMirrorDevice"} -,{ - "constname": "k_pch_audio_OffPlaybackDevice_String","consttype": "const char *const", "constval": "offPlaybackDevice"} -,{ - "constname": "k_pch_audio_OffRecordDevice_String","consttype": "const char *const", "constval": "offRecordDevice"} -,{ - "constname": "k_pch_audio_VIVEHDMIGain","consttype": "const char *const", "constval": "viveHDMIGain"} -,{ - "constname": "k_pch_Power_Section","consttype": "const char *const", "constval": "power"} -,{ - "constname": "k_pch_Power_PowerOffOnExit_Bool","consttype": "const char *const", "constval": "powerOffOnExit"} -,{ - "constname": "k_pch_Power_TurnOffScreensTimeout_Float","consttype": "const char *const", "constval": "turnOffScreensTimeout"} -,{ - "constname": "k_pch_Power_TurnOffControllersTimeout_Float","consttype": "const char *const", "constval": "turnOffControllersTimeout"} -,{ - "constname": "k_pch_Power_ReturnToWatchdogTimeout_Float","consttype": "const char *const", "constval": "returnToWatchdogTimeout"} -,{ - "constname": "k_pch_Power_AutoLaunchSteamVROnButtonPress","consttype": "const char *const", "constval": "autoLaunchSteamVROnButtonPress"} -,{ - "constname": "k_pch_Power_PauseCompositorOnStandby_Bool","consttype": "const char *const", "constval": "pauseCompositorOnStandby"} -,{ - "constname": "k_pch_Dashboard_Section","consttype": "const char *const", "constval": "dashboard"} -,{ - "constname": "k_pch_Dashboard_EnableDashboard_Bool","consttype": "const char *const", "constval": "enableDashboard"} -,{ - "constname": "k_pch_Dashboard_ArcadeMode_Bool","consttype": "const char *const", "constval": "arcadeMode"} -,{ - "constname": "k_pch_modelskin_Section","consttype": "const char *const", "constval": "modelskins"} -,{ - "constname": "k_pch_Driver_Enable_Bool","consttype": "const char *const", "constval": "enable"} -,{ - "constname": "IVRScreenshots_Version","consttype": "const char *const", "constval": "IVRScreenshots_001"} -,{ - "constname": "IVRResources_Version","consttype": "const char *const", "constval": "IVRResources_001"} -,{ - "constname": "IVRDriverManager_Version","consttype": "const char *const", "constval": "IVRDriverManager_001"} -], -"structs":[{"struct": "vr::HmdMatrix34_t","fields": [ -{ "fieldname": "m", "fieldtype": "float [3][4]"}]} -,{"struct": "vr::HmdMatrix44_t","fields": [ -{ "fieldname": "m", "fieldtype": "float [4][4]"}]} -,{"struct": "vr::HmdVector3_t","fields": [ -{ "fieldname": "v", "fieldtype": "float [3]"}]} -,{"struct": "vr::HmdVector4_t","fields": [ -{ "fieldname": "v", "fieldtype": "float [4]"}]} -,{"struct": "vr::HmdVector3d_t","fields": [ -{ "fieldname": "v", "fieldtype": "double [3]"}]} -,{"struct": "vr::HmdVector2_t","fields": [ -{ "fieldname": "v", "fieldtype": "float [2]"}]} -,{"struct": "vr::HmdQuaternion_t","fields": [ -{ "fieldname": "w", "fieldtype": "double"}, -{ "fieldname": "x", "fieldtype": "double"}, -{ "fieldname": "y", "fieldtype": "double"}, -{ "fieldname": "z", "fieldtype": "double"}]} -,{"struct": "vr::HmdColor_t","fields": [ -{ "fieldname": "r", "fieldtype": "float"}, -{ "fieldname": "g", "fieldtype": "float"}, -{ "fieldname": "b", "fieldtype": "float"}, -{ "fieldname": "a", "fieldtype": "float"}]} -,{"struct": "vr::HmdQuad_t","fields": [ -{ "fieldname": "vCorners", "fieldtype": "struct vr::HmdVector3_t [4]"}]} -,{"struct": "vr::HmdRect2_t","fields": [ -{ "fieldname": "vTopLeft", "fieldtype": "struct vr::HmdVector2_t"}, -{ "fieldname": "vBottomRight", "fieldtype": "struct vr::HmdVector2_t"}]} -,{"struct": "vr::DistortionCoordinates_t","fields": [ -{ "fieldname": "rfRed", "fieldtype": "float [2]"}, -{ "fieldname": "rfGreen", "fieldtype": "float [2]"}, -{ "fieldname": "rfBlue", "fieldtype": "float [2]"}]} -,{"struct": "vr::Texture_t","fields": [ -{ "fieldname": "handle", "fieldtype": "void *"}, -{ "fieldname": "eType", "fieldtype": "enum vr::ETextureType"}, -{ "fieldname": "eColorSpace", "fieldtype": "enum vr::EColorSpace"}]} -,{"struct": "vr::TrackedDevicePose_t","fields": [ -{ "fieldname": "mDeviceToAbsoluteTracking", "fieldtype": "struct vr::HmdMatrix34_t"}, -{ "fieldname": "vVelocity", "fieldtype": "struct vr::HmdVector3_t"}, -{ "fieldname": "vAngularVelocity", "fieldtype": "struct vr::HmdVector3_t"}, -{ "fieldname": "eTrackingResult", "fieldtype": "enum vr::ETrackingResult"}, -{ "fieldname": "bPoseIsValid", "fieldtype": "_Bool"}, -{ "fieldname": "bDeviceIsConnected", "fieldtype": "_Bool"}]} -,{"struct": "vr::VRTextureBounds_t","fields": [ -{ "fieldname": "uMin", "fieldtype": "float"}, -{ "fieldname": "vMin", "fieldtype": "float"}, -{ "fieldname": "uMax", "fieldtype": "float"}, -{ "fieldname": "vMax", "fieldtype": "float"}]} -,{"struct": "vr::VRTextureWithPose_t","fields": [ -{ "fieldname": "mDeviceToAbsoluteTracking", "fieldtype": "struct vr::HmdMatrix34_t"}]} -,{"struct": "vr::VRVulkanTextureData_t","fields": [ -{ "fieldname": "m_nImage", "fieldtype": "uint64_t"}, -{ "fieldname": "m_pDevice", "fieldtype": "struct VkDevice_T *"}, -{ "fieldname": "m_pPhysicalDevice", "fieldtype": "struct VkPhysicalDevice_T *"}, -{ "fieldname": "m_pInstance", "fieldtype": "struct VkInstance_T *"}, -{ "fieldname": "m_pQueue", "fieldtype": "struct VkQueue_T *"}, -{ "fieldname": "m_nQueueFamilyIndex", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nWidth", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nHeight", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nFormat", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nSampleCount", "fieldtype": "uint32_t"}]} -,{"struct": "vr::D3D12TextureData_t","fields": [ -{ "fieldname": "m_pResource", "fieldtype": "struct ID3D12Resource *"}, -{ "fieldname": "m_pCommandQueue", "fieldtype": "struct ID3D12CommandQueue *"}, -{ "fieldname": "m_nNodeMask", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_Controller_t","fields": [ -{ "fieldname": "button", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_Mouse_t","fields": [ -{ "fieldname": "x", "fieldtype": "float"}, -{ "fieldname": "y", "fieldtype": "float"}, -{ "fieldname": "button", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_Scroll_t","fields": [ -{ "fieldname": "xdelta", "fieldtype": "float"}, -{ "fieldname": "ydelta", "fieldtype": "float"}, -{ "fieldname": "repeatCount", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_TouchPadMove_t","fields": [ -{ "fieldname": "bFingerDown", "fieldtype": "_Bool"}, -{ "fieldname": "flSecondsFingerDown", "fieldtype": "float"}, -{ "fieldname": "fValueXFirst", "fieldtype": "float"}, -{ "fieldname": "fValueYFirst", "fieldtype": "float"}, -{ "fieldname": "fValueXRaw", "fieldtype": "float"}, -{ "fieldname": "fValueYRaw", "fieldtype": "float"}]} -,{"struct": "vr::VREvent_Notification_t","fields": [ -{ "fieldname": "ulUserValue", "fieldtype": "uint64_t"}, -{ "fieldname": "notificationId", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_Process_t","fields": [ -{ "fieldname": "pid", "fieldtype": "uint32_t"}, -{ "fieldname": "oldPid", "fieldtype": "uint32_t"}, -{ "fieldname": "bForced", "fieldtype": "_Bool"}]} -,{"struct": "vr::VREvent_Overlay_t","fields": [ -{ "fieldname": "overlayHandle", "fieldtype": "uint64_t"}]} -,{"struct": "vr::VREvent_Status_t","fields": [ -{ "fieldname": "statusState", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_Keyboard_t","fields": [ -{ "fieldname": "cNewInput", "fieldtype": "char [8]"}, -{ "fieldname": "uUserValue", "fieldtype": "uint64_t"}]} -,{"struct": "vr::VREvent_Ipd_t","fields": [ -{ "fieldname": "ipdMeters", "fieldtype": "float"}]} -,{"struct": "vr::VREvent_Chaperone_t","fields": [ -{ "fieldname": "m_nPreviousUniverse", "fieldtype": "uint64_t"}, -{ "fieldname": "m_nCurrentUniverse", "fieldtype": "uint64_t"}]} -,{"struct": "vr::VREvent_Reserved_t","fields": [ -{ "fieldname": "reserved0", "fieldtype": "uint64_t"}, -{ "fieldname": "reserved1", "fieldtype": "uint64_t"}]} -,{"struct": "vr::VREvent_PerformanceTest_t","fields": [ -{ "fieldname": "m_nFidelityLevel", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_SeatedZeroPoseReset_t","fields": [ -{ "fieldname": "bResetBySystemMenu", "fieldtype": "_Bool"}]} -,{"struct": "vr::VREvent_Screenshot_t","fields": [ -{ "fieldname": "handle", "fieldtype": "uint32_t"}, -{ "fieldname": "type", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_ScreenshotProgress_t","fields": [ -{ "fieldname": "progress", "fieldtype": "float"}]} -,{"struct": "vr::VREvent_ApplicationLaunch_t","fields": [ -{ "fieldname": "pid", "fieldtype": "uint32_t"}, -{ "fieldname": "unArgsHandle", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_EditingCameraSurface_t","fields": [ -{ "fieldname": "overlayHandle", "fieldtype": "uint64_t"}, -{ "fieldname": "nVisualMode", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_MessageOverlay_t","fields": [ -{ "fieldname": "unVRMessageOverlayResponse", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_Property_t","fields": [ -{ "fieldname": "container", "fieldtype": "PropertyContainerHandle_t"}, -{ "fieldname": "prop", "fieldtype": "enum vr::ETrackedDeviceProperty"}]} -,{"struct": "vr::(anonymous)","fields": [ -{ "fieldname": "reserved", "fieldtype": "struct vr::VREvent_Reserved_t"}, -{ "fieldname": "controller", "fieldtype": "struct vr::VREvent_Controller_t"}, -{ "fieldname": "mouse", "fieldtype": "struct vr::VREvent_Mouse_t"}, -{ "fieldname": "scroll", "fieldtype": "struct vr::VREvent_Scroll_t"}, -{ "fieldname": "process", "fieldtype": "struct vr::VREvent_Process_t"}, -{ "fieldname": "notification", "fieldtype": "struct vr::VREvent_Notification_t"}, -{ "fieldname": "overlay", "fieldtype": "struct vr::VREvent_Overlay_t"}, -{ "fieldname": "status", "fieldtype": "struct vr::VREvent_Status_t"}, -{ "fieldname": "keyboard", "fieldtype": "struct vr::VREvent_Keyboard_t"}, -{ "fieldname": "ipd", "fieldtype": "struct vr::VREvent_Ipd_t"}, -{ "fieldname": "chaperone", "fieldtype": "struct vr::VREvent_Chaperone_t"}, -{ "fieldname": "performanceTest", "fieldtype": "struct vr::VREvent_PerformanceTest_t"}, -{ "fieldname": "touchPadMove", "fieldtype": "struct vr::VREvent_TouchPadMove_t"}, -{ "fieldname": "seatedZeroPoseReset", "fieldtype": "struct vr::VREvent_SeatedZeroPoseReset_t"}, -{ "fieldname": "screenshot", "fieldtype": "struct vr::VREvent_Screenshot_t"}, -{ "fieldname": "screenshotProgress", "fieldtype": "struct vr::VREvent_ScreenshotProgress_t"}, -{ "fieldname": "applicationLaunch", "fieldtype": "struct vr::VREvent_ApplicationLaunch_t"}, -{ "fieldname": "cameraSurface", "fieldtype": "struct vr::VREvent_EditingCameraSurface_t"}, -{ "fieldname": "messageOverlay", "fieldtype": "struct vr::VREvent_MessageOverlay_t"}, -{ "fieldname": "property", "fieldtype": "struct vr::VREvent_Property_t"}]} -,{"struct": "vr::VREvent_t","fields": [ -{ "fieldname": "eventType", "fieldtype": "uint32_t"}, -{ "fieldname": "trackedDeviceIndex", "fieldtype": "TrackedDeviceIndex_t"}, -{ "fieldname": "eventAgeSeconds", "fieldtype": "float"}, -{ "fieldname": "data", "fieldtype": "VREvent_Data_t"}]} -,{"struct": "vr::HiddenAreaMesh_t","fields": [ -{ "fieldname": "pVertexData", "fieldtype": "const struct vr::HmdVector2_t *"}, -{ "fieldname": "unTriangleCount", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VRControllerAxis_t","fields": [ -{ "fieldname": "x", "fieldtype": "float"}, -{ "fieldname": "y", "fieldtype": "float"}]} -,{"struct": "vr::VRControllerState001_t","fields": [ -{ "fieldname": "unPacketNum", "fieldtype": "uint32_t"}, -{ "fieldname": "ulButtonPressed", "fieldtype": "uint64_t"}, -{ "fieldname": "ulButtonTouched", "fieldtype": "uint64_t"}, -{ "fieldname": "rAxis", "fieldtype": "struct vr::VRControllerAxis_t [5]"}]} -,{"struct": "vr::Compositor_OverlaySettings","fields": [ -{ "fieldname": "size", "fieldtype": "uint32_t"}, -{ "fieldname": "curved", "fieldtype": "_Bool"}, -{ "fieldname": "antialias", "fieldtype": "_Bool"}, -{ "fieldname": "scale", "fieldtype": "float"}, -{ "fieldname": "distance", "fieldtype": "float"}, -{ "fieldname": "alpha", "fieldtype": "float"}, -{ "fieldname": "uOffset", "fieldtype": "float"}, -{ "fieldname": "vOffset", "fieldtype": "float"}, -{ "fieldname": "uScale", "fieldtype": "float"}, -{ "fieldname": "vScale", "fieldtype": "float"}, -{ "fieldname": "gridDivs", "fieldtype": "float"}, -{ "fieldname": "gridWidth", "fieldtype": "float"}, -{ "fieldname": "gridScale", "fieldtype": "float"}, -{ "fieldname": "transform", "fieldtype": "struct vr::HmdMatrix44_t"}]} -,{"struct": "vr::CameraVideoStreamFrameHeader_t","fields": [ -{ "fieldname": "eFrameType", "fieldtype": "enum vr::EVRTrackedCameraFrameType"}, -{ "fieldname": "nWidth", "fieldtype": "uint32_t"}, -{ "fieldname": "nHeight", "fieldtype": "uint32_t"}, -{ "fieldname": "nBytesPerPixel", "fieldtype": "uint32_t"}, -{ "fieldname": "nFrameSequence", "fieldtype": "uint32_t"}, -{ "fieldname": "standingTrackedDevicePose", "fieldtype": "struct vr::TrackedDevicePose_t"}]} -,{"struct": "vr::AppOverrideKeys_t","fields": [ -{ "fieldname": "pchKey", "fieldtype": "const char *"}, -{ "fieldname": "pchValue", "fieldtype": "const char *"}]} -,{"struct": "vr::Compositor_FrameTiming","fields": [ -{ "fieldname": "m_nSize", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nFrameIndex", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumFramePresents", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumMisPresented", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumDroppedFrames", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nReprojectionFlags", "fieldtype": "uint32_t"}, -{ "fieldname": "m_flSystemTimeInSeconds", "fieldtype": "double"}, -{ "fieldname": "m_flPreSubmitGpuMs", "fieldtype": "float"}, -{ "fieldname": "m_flPostSubmitGpuMs", "fieldtype": "float"}, -{ "fieldname": "m_flTotalRenderGpuMs", "fieldtype": "float"}, -{ "fieldname": "m_flCompositorRenderGpuMs", "fieldtype": "float"}, -{ "fieldname": "m_flCompositorRenderCpuMs", "fieldtype": "float"}, -{ "fieldname": "m_flCompositorIdleCpuMs", "fieldtype": "float"}, -{ "fieldname": "m_flClientFrameIntervalMs", "fieldtype": "float"}, -{ "fieldname": "m_flPresentCallCpuMs", "fieldtype": "float"}, -{ "fieldname": "m_flWaitForPresentCpuMs", "fieldtype": "float"}, -{ "fieldname": "m_flSubmitFrameMs", "fieldtype": "float"}, -{ "fieldname": "m_flWaitGetPosesCalledMs", "fieldtype": "float"}, -{ "fieldname": "m_flNewPosesReadyMs", "fieldtype": "float"}, -{ "fieldname": "m_flNewFrameReadyMs", "fieldtype": "float"}, -{ "fieldname": "m_flCompositorUpdateStartMs", "fieldtype": "float"}, -{ "fieldname": "m_flCompositorUpdateEndMs", "fieldtype": "float"}, -{ "fieldname": "m_flCompositorRenderStartMs", "fieldtype": "float"}, -{ "fieldname": "m_HmdPose", "fieldtype": "vr::TrackedDevicePose_t"}]} -,{"struct": "vr::Compositor_CumulativeStats","fields": [ -{ "fieldname": "m_nPid", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumFramePresents", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumDroppedFrames", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumReprojectedFrames", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumFramePresentsOnStartup", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumDroppedFramesOnStartup", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumReprojectedFramesOnStartup", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumLoading", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumFramePresentsLoading", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumDroppedFramesLoading", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumReprojectedFramesLoading", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumTimedOut", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumFramePresentsTimedOut", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumDroppedFramesTimedOut", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumReprojectedFramesTimedOut", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VROverlayIntersectionParams_t","fields": [ -{ "fieldname": "vSource", "fieldtype": "struct vr::HmdVector3_t"}, -{ "fieldname": "vDirection", "fieldtype": "struct vr::HmdVector3_t"}, -{ "fieldname": "eOrigin", "fieldtype": "enum vr::ETrackingUniverseOrigin"}]} -,{"struct": "vr::VROverlayIntersectionResults_t","fields": [ -{ "fieldname": "vPoint", "fieldtype": "struct vr::HmdVector3_t"}, -{ "fieldname": "vNormal", "fieldtype": "struct vr::HmdVector3_t"}, -{ "fieldname": "vUVs", "fieldtype": "struct vr::HmdVector2_t"}, -{ "fieldname": "fDistance", "fieldtype": "float"}]} -,{"struct": "vr::IntersectionMaskRectangle_t","fields": [ -{ "fieldname": "m_flTopLeftX", "fieldtype": "float"}, -{ "fieldname": "m_flTopLeftY", "fieldtype": "float"}, -{ "fieldname": "m_flWidth", "fieldtype": "float"}, -{ "fieldname": "m_flHeight", "fieldtype": "float"}]} -,{"struct": "vr::IntersectionMaskCircle_t","fields": [ -{ "fieldname": "m_flCenterX", "fieldtype": "float"}, -{ "fieldname": "m_flCenterY", "fieldtype": "float"}, -{ "fieldname": "m_flRadius", "fieldtype": "float"}]} -,{"struct": "vr::(anonymous)","fields": [ -{ "fieldname": "m_Rectangle", "fieldtype": "struct vr::IntersectionMaskRectangle_t"}, -{ "fieldname": "m_Circle", "fieldtype": "struct vr::IntersectionMaskCircle_t"}]} -,{"struct": "vr::VROverlayIntersectionMaskPrimitive_t","fields": [ -{ "fieldname": "m_nPrimitiveType", "fieldtype": "enum vr::EVROverlayIntersectionMaskPrimitiveType"}, -{ "fieldname": "m_Primitive", "fieldtype": "VROverlayIntersectionMaskPrimitive_Data_t"}]} -,{"struct": "vr::RenderModel_ComponentState_t","fields": [ -{ "fieldname": "mTrackingToComponentRenderModel", "fieldtype": "struct vr::HmdMatrix34_t"}, -{ "fieldname": "mTrackingToComponentLocal", "fieldtype": "struct vr::HmdMatrix34_t"}, -{ "fieldname": "uProperties", "fieldtype": "VRComponentProperties"}]} -,{"struct": "vr::RenderModel_Vertex_t","fields": [ -{ "fieldname": "vPosition", "fieldtype": "struct vr::HmdVector3_t"}, -{ "fieldname": "vNormal", "fieldtype": "struct vr::HmdVector3_t"}, -{ "fieldname": "rfTextureCoord", "fieldtype": "float [2]"}]} -,{"struct": "vr::RenderModel_TextureMap_t","fields": [ -{ "fieldname": "unWidth", "fieldtype": "uint16_t"}, -{ "fieldname": "unHeight", "fieldtype": "uint16_t"}, -{ "fieldname": "rubTextureMapData", "fieldtype": "const uint8_t *"}]} -,{"struct": "vr::RenderModel_t","fields": [ -{ "fieldname": "rVertexData", "fieldtype": "const struct vr::RenderModel_Vertex_t *"}, -{ "fieldname": "unVertexCount", "fieldtype": "uint32_t"}, -{ "fieldname": "rIndexData", "fieldtype": "const uint16_t *"}, -{ "fieldname": "unTriangleCount", "fieldtype": "uint32_t"}, -{ "fieldname": "diffuseTextureId", "fieldtype": "TextureID_t"}]} -,{"struct": "vr::RenderModel_ControllerMode_State_t","fields": [ -{ "fieldname": "bScrollWheelVisible", "fieldtype": "_Bool"}]} -,{"struct": "vr::NotificationBitmap_t","fields": [ -{ "fieldname": "m_pImageData", "fieldtype": "void *"}, -{ "fieldname": "m_nWidth", "fieldtype": "int32_t"}, -{ "fieldname": "m_nHeight", "fieldtype": "int32_t"}, -{ "fieldname": "m_nBytesPerPixel", "fieldtype": "int32_t"}]} -,{"struct": "vr::COpenVRContext","fields": [ -{ "fieldname": "m_pVRSystem", "fieldtype": "class vr::IVRSystem *"}, -{ "fieldname": "m_pVRChaperone", "fieldtype": "class vr::IVRChaperone *"}, -{ "fieldname": "m_pVRChaperoneSetup", "fieldtype": "class vr::IVRChaperoneSetup *"}, -{ "fieldname": "m_pVRCompositor", "fieldtype": "class vr::IVRCompositor *"}, -{ "fieldname": "m_pVROverlay", "fieldtype": "class vr::IVROverlay *"}, -{ "fieldname": "m_pVRResources", "fieldtype": "class vr::IVRResources *"}, -{ "fieldname": "m_pVRRenderModels", "fieldtype": "class vr::IVRRenderModels *"}, -{ "fieldname": "m_pVRExtendedDisplay", "fieldtype": "class vr::IVRExtendedDisplay *"}, -{ "fieldname": "m_pVRSettings", "fieldtype": "class vr::IVRSettings *"}, -{ "fieldname": "m_pVRApplications", "fieldtype": "class vr::IVRApplications *"}, -{ "fieldname": "m_pVRTrackedCamera", "fieldtype": "class vr::IVRTrackedCamera *"}, -{ "fieldname": "m_pVRScreenshots", "fieldtype": "class vr::IVRScreenshots *"}, -{ "fieldname": "m_pVRDriverManager", "fieldtype": "class vr::IVRDriverManager *"}]} -], -"methods":[{ - "classname": "vr::IVRSystem", - "methodname": "GetRecommendedRenderTargetSize", - "returntype": "void", - "params": [ -{ "paramname": "pnWidth" ,"paramtype": "uint32_t *"}, -{ "paramname": "pnHeight" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetProjectionMatrix", - "returntype": "struct vr::HmdMatrix44_t", - "params": [ -{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, -{ "paramname": "fNearZ" ,"paramtype": "float"}, -{ "paramname": "fFarZ" ,"paramtype": "float"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetProjectionRaw", - "returntype": "void", - "params": [ -{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, -{ "paramname": "pfLeft" ,"paramtype": "float *"}, -{ "paramname": "pfRight" ,"paramtype": "float *"}, -{ "paramname": "pfTop" ,"paramtype": "float *"}, -{ "paramname": "pfBottom" ,"paramtype": "float *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "ComputeDistortion", - "returntype": "bool", - "params": [ -{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, -{ "paramname": "fU" ,"paramtype": "float"}, -{ "paramname": "fV" ,"paramtype": "float"}, -{ "paramname": "pDistortionCoordinates" ,"paramtype": "struct vr::DistortionCoordinates_t *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetEyeToHeadTransform", - "returntype": "struct vr::HmdMatrix34_t", - "params": [ -{ "paramname": "eEye" ,"paramtype": "vr::EVREye"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetTimeSinceLastVsync", - "returntype": "bool", - "params": [ -{ "paramname": "pfSecondsSinceLastVsync" ,"paramtype": "float *"}, -{ "paramname": "pulFrameCounter" ,"paramtype": "uint64_t *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetD3D9AdapterIndex", - "returntype": "int32_t" -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetDXGIOutputInfo", - "returntype": "void", - "params": [ -{ "paramname": "pnAdapterIndex" ,"paramtype": "int32_t *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetOutputDevice", - "returntype": "void", - "params": [ -{ "paramname": "pnDevice" ,"paramtype": "uint64_t *"}, -{ "paramname": "textureType" ,"paramtype": "vr::ETextureType"}, -{ "paramname": "pInstance" ,"paramtype": "struct VkInstance_T *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "IsDisplayOnDesktop", - "returntype": "bool" -} -,{ - "classname": "vr::IVRSystem", - "methodname": "SetDisplayVisibility", - "returntype": "bool", - "params": [ -{ "paramname": "bIsVisibleOnDesktop" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetDeviceToAbsoluteTrackingPose", - "returntype": "void", - "params": [ -{ "paramname": "eOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"}, -{ "paramname": "fPredictedSecondsToPhotonsFromNow" ,"paramtype": "float"}, -{ "paramname": "pTrackedDevicePoseArray" ,"array_count": "unTrackedDevicePoseArrayCount" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, -{ "paramname": "unTrackedDevicePoseArrayCount" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "ResetSeatedZeroPose", - "returntype": "void" -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetSeatedZeroPoseToStandingAbsoluteTrackingPose", - "returntype": "struct vr::HmdMatrix34_t" -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetRawZeroPoseToStandingAbsoluteTrackingPose", - "returntype": "struct vr::HmdMatrix34_t" -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetSortedTrackedDeviceIndicesOfClass", - "returntype": "uint32_t", - "params": [ -{ "paramname": "eTrackedDeviceClass" ,"paramtype": "vr::ETrackedDeviceClass"}, -{ "paramname": "punTrackedDeviceIndexArray" ,"array_count": "unTrackedDeviceIndexArrayCount" ,"paramtype": "vr::TrackedDeviceIndex_t *"}, -{ "paramname": "unTrackedDeviceIndexArrayCount" ,"paramtype": "uint32_t"}, -{ "paramname": "unRelativeToTrackedDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetTrackedDeviceActivityLevel", - "returntype": "vr::EDeviceActivityLevel", - "params": [ -{ "paramname": "unDeviceId" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "ApplyTransform", - "returntype": "void", - "params": [ -{ "paramname": "pOutputPose" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, -{ "paramname": "pTrackedDevicePose" ,"paramtype": "const struct vr::TrackedDevicePose_t *"}, -{ "paramname": "pTransform" ,"paramtype": "const struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetTrackedDeviceIndexForControllerRole", - "returntype": "vr::TrackedDeviceIndex_t", - "params": [ -{ "paramname": "unDeviceType" ,"paramtype": "vr::ETrackedControllerRole"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetControllerRoleForTrackedDeviceIndex", - "returntype": "vr::ETrackedControllerRole", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetTrackedDeviceClass", - "returntype": "vr::ETrackedDeviceClass", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "IsTrackedDeviceConnected", - "returntype": "bool", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetBoolTrackedDeviceProperty", - "returntype": "bool", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "prop" ,"paramtype": "vr::ETrackedDeviceProperty"}, -{ "paramname": "pError" ,"paramtype": "vr::ETrackedPropertyError *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetFloatTrackedDeviceProperty", - "returntype": "float", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "prop" ,"paramtype": "vr::ETrackedDeviceProperty"}, -{ "paramname": "pError" ,"paramtype": "vr::ETrackedPropertyError *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetInt32TrackedDeviceProperty", - "returntype": "int32_t", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "prop" ,"paramtype": "vr::ETrackedDeviceProperty"}, -{ "paramname": "pError" ,"paramtype": "vr::ETrackedPropertyError *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetUint64TrackedDeviceProperty", - "returntype": "uint64_t", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "prop" ,"paramtype": "vr::ETrackedDeviceProperty"}, -{ "paramname": "pError" ,"paramtype": "vr::ETrackedPropertyError *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetMatrix34TrackedDeviceProperty", - "returntype": "struct vr::HmdMatrix34_t", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "prop" ,"paramtype": "vr::ETrackedDeviceProperty"}, -{ "paramname": "pError" ,"paramtype": "vr::ETrackedPropertyError *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetStringTrackedDeviceProperty", - "returntype": "uint32_t", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "prop" ,"paramtype": "vr::ETrackedDeviceProperty"}, -{ "paramname": "pchValue" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"}, -{ "paramname": "pError" ,"paramtype": "vr::ETrackedPropertyError *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetPropErrorNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "error" ,"paramtype": "vr::ETrackedPropertyError"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "PollNextEvent", - "returntype": "bool", - "params": [ -{ "paramname": "pEvent" ,"paramtype": "struct vr::VREvent_t *"}, -{ "paramname": "uncbVREvent" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "PollNextEventWithPose", - "returntype": "bool", - "params": [ -{ "paramname": "eOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"}, -{ "paramname": "pEvent" ,"paramtype": "struct vr::VREvent_t *"}, -{ "paramname": "uncbVREvent" ,"paramtype": "uint32_t"}, -{ "paramname": "pTrackedDevicePose" ,"paramtype": "vr::TrackedDevicePose_t *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetEventTypeNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "eType" ,"paramtype": "vr::EVREventType"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetHiddenAreaMesh", - "returntype": "struct vr::HiddenAreaMesh_t", - "params": [ -{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, -{ "paramname": "type" ,"paramtype": "vr::EHiddenAreaMeshType"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetControllerState", - "returntype": "bool", - "params": [ -{ "paramname": "unControllerDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pControllerState" ,"paramtype": "vr::VRControllerState_t *"}, -{ "paramname": "unControllerStateSize" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetControllerStateWithPose", - "returntype": "bool", - "params": [ -{ "paramname": "eOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"}, -{ "paramname": "unControllerDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pControllerState" ,"paramtype": "vr::VRControllerState_t *"}, -{ "paramname": "unControllerStateSize" ,"paramtype": "uint32_t"}, -{ "paramname": "pTrackedDevicePose" ,"paramtype": "struct vr::TrackedDevicePose_t *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "TriggerHapticPulse", - "returntype": "void", - "params": [ -{ "paramname": "unControllerDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "unAxisId" ,"paramtype": "uint32_t"}, -{ "paramname": "usDurationMicroSec" ,"paramtype": "unsigned short"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetButtonIdNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "eButtonId" ,"paramtype": "vr::EVRButtonId"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetControllerAxisTypeNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "eAxisType" ,"paramtype": "vr::EVRControllerAxisType"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "CaptureInputFocus", - "returntype": "bool" -} -,{ - "classname": "vr::IVRSystem", - "methodname": "ReleaseInputFocus", - "returntype": "void" -} -,{ - "classname": "vr::IVRSystem", - "methodname": "IsInputFocusCapturedByAnotherProcess", - "returntype": "bool" -} -,{ - "classname": "vr::IVRSystem", - "methodname": "DriverDebugRequest", - "returntype": "uint32_t", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pchRequest" ,"paramtype": "const char *"}, -{ "paramname": "pchResponseBuffer" ,"paramtype": "char *"}, -{ "paramname": "unResponseBufferSize" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "PerformFirmwareUpdate", - "returntype": "vr::EVRFirmwareError", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "AcknowledgeQuit_Exiting", - "returntype": "void" -} -,{ - "classname": "vr::IVRSystem", - "methodname": "AcknowledgeQuit_UserPrompt", - "returntype": "void" -} -,{ - "classname": "vr::IVRExtendedDisplay", - "methodname": "GetWindowBounds", - "returntype": "void", - "params": [ -{ "paramname": "pnX" ,"paramtype": "int32_t *"}, -{ "paramname": "pnY" ,"paramtype": "int32_t *"}, -{ "paramname": "pnWidth" ,"paramtype": "uint32_t *"}, -{ "paramname": "pnHeight" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRExtendedDisplay", - "methodname": "GetEyeOutputViewport", - "returntype": "void", - "params": [ -{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, -{ "paramname": "pnX" ,"paramtype": "uint32_t *"}, -{ "paramname": "pnY" ,"paramtype": "uint32_t *"}, -{ "paramname": "pnWidth" ,"paramtype": "uint32_t *"}, -{ "paramname": "pnHeight" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRExtendedDisplay", - "methodname": "GetDXGIOutputInfo", - "returntype": "void", - "params": [ -{ "paramname": "pnAdapterIndex" ,"paramtype": "int32_t *"}, -{ "paramname": "pnAdapterOutputIndex" ,"paramtype": "int32_t *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetCameraErrorNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "eCameraError" ,"paramtype": "vr::EVRTrackedCameraError"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "HasCamera", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pHasCamera" ,"paramtype": "bool *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetCameraFrameSize", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "eFrameType" ,"paramtype": "vr::EVRTrackedCameraFrameType"}, -{ "paramname": "pnWidth" ,"paramtype": "uint32_t *"}, -{ "paramname": "pnHeight" ,"paramtype": "uint32_t *"}, -{ "paramname": "pnFrameBufferSize" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetCameraIntrinsics", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "eFrameType" ,"paramtype": "vr::EVRTrackedCameraFrameType"}, -{ "paramname": "pFocalLength" ,"paramtype": "vr::HmdVector2_t *"}, -{ "paramname": "pCenter" ,"paramtype": "vr::HmdVector2_t *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetCameraProjection", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "eFrameType" ,"paramtype": "vr::EVRTrackedCameraFrameType"}, -{ "paramname": "flZNear" ,"paramtype": "float"}, -{ "paramname": "flZFar" ,"paramtype": "float"}, -{ "paramname": "pProjection" ,"paramtype": "vr::HmdMatrix44_t *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "AcquireVideoStreamingService", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pHandle" ,"paramtype": "vr::TrackedCameraHandle_t *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "ReleaseVideoStreamingService", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "hTrackedCamera" ,"paramtype": "vr::TrackedCameraHandle_t"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetVideoStreamFrameBuffer", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "hTrackedCamera" ,"paramtype": "vr::TrackedCameraHandle_t"}, -{ "paramname": "eFrameType" ,"paramtype": "vr::EVRTrackedCameraFrameType"}, -{ "paramname": "pFrameBuffer" ,"paramtype": "void *"}, -{ "paramname": "nFrameBufferSize" ,"paramtype": "uint32_t"}, -{ "paramname": "pFrameHeader" ,"paramtype": "vr::CameraVideoStreamFrameHeader_t *"}, -{ "paramname": "nFrameHeaderSize" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetVideoStreamTextureSize", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "eFrameType" ,"paramtype": "vr::EVRTrackedCameraFrameType"}, -{ "paramname": "pTextureBounds" ,"paramtype": "vr::VRTextureBounds_t *"}, -{ "paramname": "pnWidth" ,"paramtype": "uint32_t *"}, -{ "paramname": "pnHeight" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetVideoStreamTextureD3D11", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "hTrackedCamera" ,"paramtype": "vr::TrackedCameraHandle_t"}, -{ "paramname": "eFrameType" ,"paramtype": "vr::EVRTrackedCameraFrameType"}, -{ "paramname": "pD3D11DeviceOrResource" ,"paramtype": "void *"}, -{ "paramname": "ppD3D11ShaderResourceView" ,"paramtype": "void **"}, -{ "paramname": "pFrameHeader" ,"paramtype": "vr::CameraVideoStreamFrameHeader_t *"}, -{ "paramname": "nFrameHeaderSize" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetVideoStreamTextureGL", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "hTrackedCamera" ,"paramtype": "vr::TrackedCameraHandle_t"}, -{ "paramname": "eFrameType" ,"paramtype": "vr::EVRTrackedCameraFrameType"}, -{ "paramname": "pglTextureId" ,"paramtype": "vr::glUInt_t *"}, -{ "paramname": "pFrameHeader" ,"paramtype": "vr::CameraVideoStreamFrameHeader_t *"}, -{ "paramname": "nFrameHeaderSize" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "ReleaseVideoStreamTextureGL", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "hTrackedCamera" ,"paramtype": "vr::TrackedCameraHandle_t"}, -{ "paramname": "glTextureId" ,"paramtype": "vr::glUInt_t"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "AddApplicationManifest", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchApplicationManifestFullPath" ,"paramtype": "const char *"}, -{ "paramname": "bTemporary" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "RemoveApplicationManifest", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchApplicationManifestFullPath" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "IsApplicationInstalled", - "returntype": "bool", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationCount", - "returntype": "uint32_t" -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationKeyByIndex", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "unApplicationIndex" ,"paramtype": "uint32_t"}, -{ "paramname": "pchAppKeyBuffer" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unAppKeyBufferLen" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationKeyByProcessId", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "unProcessId" ,"paramtype": "uint32_t"}, -{ "paramname": "pchAppKeyBuffer" ,"paramtype": "char *"}, -{ "paramname": "unAppKeyBufferLen" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "LaunchApplication", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "LaunchTemplateApplication", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchTemplateAppKey" ,"paramtype": "const char *"}, -{ "paramname": "pchNewAppKey" ,"paramtype": "const char *"}, -{ "paramname": "pKeys" ,"array_count": "unKeys" ,"paramtype": "const struct vr::AppOverrideKeys_t *"}, -{ "paramname": "unKeys" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "LaunchApplicationFromMimeType", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchMimeType" ,"paramtype": "const char *"}, -{ "paramname": "pchArgs" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "LaunchDashboardOverlay", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "CancelApplicationLaunch", - "returntype": "bool", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "IdentifyApplication", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "unProcessId" ,"paramtype": "uint32_t"}, -{ "paramname": "pchAppKey" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationProcessId", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationsErrorNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "error" ,"paramtype": "vr::EVRApplicationError"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationPropertyString", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"}, -{ "paramname": "eProperty" ,"paramtype": "vr::EVRApplicationProperty"}, -{ "paramname": "pchPropertyValueBuffer" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unPropertyValueBufferLen" ,"paramtype": "uint32_t"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRApplicationError *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationPropertyBool", - "returntype": "bool", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"}, -{ "paramname": "eProperty" ,"paramtype": "vr::EVRApplicationProperty"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRApplicationError *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationPropertyUint64", - "returntype": "uint64_t", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"}, -{ "paramname": "eProperty" ,"paramtype": "vr::EVRApplicationProperty"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRApplicationError *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "SetApplicationAutoLaunch", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"}, -{ "paramname": "bAutoLaunch" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationAutoLaunch", - "returntype": "bool", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "SetDefaultApplicationForMimeType", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"}, -{ "paramname": "pchMimeType" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetDefaultApplicationForMimeType", - "returntype": "bool", - "params": [ -{ "paramname": "pchMimeType" ,"paramtype": "const char *"}, -{ "paramname": "pchAppKeyBuffer" ,"paramtype": "char *"}, -{ "paramname": "unAppKeyBufferLen" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationSupportedMimeTypes", - "returntype": "bool", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"}, -{ "paramname": "pchMimeTypesBuffer" ,"paramtype": "char *"}, -{ "paramname": "unMimeTypesBuffer" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationsThatSupportMimeType", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchMimeType" ,"paramtype": "const char *"}, -{ "paramname": "pchAppKeysThatSupportBuffer" ,"paramtype": "char *"}, -{ "paramname": "unAppKeysThatSupportBuffer" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationLaunchArguments", - "returntype": "uint32_t", - "params": [ -{ "paramname": "unHandle" ,"paramtype": "uint32_t"}, -{ "paramname": "pchArgs" ,"paramtype": "char *"}, -{ "paramname": "unArgs" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetStartingApplication", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchAppKeyBuffer" ,"paramtype": "char *"}, -{ "paramname": "unAppKeyBufferLen" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetTransitionState", - "returntype": "vr::EVRApplicationTransitionState" -} -,{ - "classname": "vr::IVRApplications", - "methodname": "PerformApplicationPrelaunchCheck", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationsTransitionStateNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "state" ,"paramtype": "vr::EVRApplicationTransitionState"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "IsQuitUserPromptRequested", - "returntype": "bool" -} -,{ - "classname": "vr::IVRApplications", - "methodname": "LaunchInternalProcess", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchBinaryPath" ,"paramtype": "const char *"}, -{ "paramname": "pchArguments" ,"paramtype": "const char *"}, -{ "paramname": "pchWorkingDirectory" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetCurrentSceneProcessId", - "returntype": "uint32_t" -} -,{ - "classname": "vr::IVRChaperone", - "methodname": "GetCalibrationState", - "returntype": "vr::ChaperoneCalibrationState" -} -,{ - "classname": "vr::IVRChaperone", - "methodname": "GetPlayAreaSize", - "returntype": "bool", - "params": [ -{ "paramname": "pSizeX" ,"paramtype": "float *"}, -{ "paramname": "pSizeZ" ,"paramtype": "float *"} - ] -} -,{ - "classname": "vr::IVRChaperone", - "methodname": "GetPlayAreaRect", - "returntype": "bool", - "params": [ -{ "paramname": "rect" ,"paramtype": "struct vr::HmdQuad_t *"} - ] -} -,{ - "classname": "vr::IVRChaperone", - "methodname": "ReloadInfo", - "returntype": "void" -} -,{ - "classname": "vr::IVRChaperone", - "methodname": "SetSceneColor", - "returntype": "void", - "params": [ -{ "paramname": "color" ,"paramtype": "struct vr::HmdColor_t"} - ] -} -,{ - "classname": "vr::IVRChaperone", - "methodname": "GetBoundsColor", - "returntype": "void", - "params": [ -{ "paramname": "pOutputColorArray" ,"paramtype": "struct vr::HmdColor_t *"}, -{ "paramname": "nNumOutputColors" ,"paramtype": "int"}, -{ "paramname": "flCollisionBoundsFadeDistance" ,"paramtype": "float"}, -{ "paramname": "pOutputCameraColor" ,"paramtype": "struct vr::HmdColor_t *"} - ] -} -,{ - "classname": "vr::IVRChaperone", - "methodname": "AreBoundsVisible", - "returntype": "bool" -} -,{ - "classname": "vr::IVRChaperone", - "methodname": "ForceBoundsVisible", - "returntype": "void", - "params": [ -{ "paramname": "bForce" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "CommitWorkingCopy", - "returntype": "bool", - "params": [ -{ "paramname": "configFile" ,"paramtype": "vr::EChaperoneConfigFile"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "RevertWorkingCopy", - "returntype": "void" -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "GetWorkingPlayAreaSize", - "returntype": "bool", - "params": [ -{ "paramname": "pSizeX" ,"paramtype": "float *"}, -{ "paramname": "pSizeZ" ,"paramtype": "float *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "GetWorkingPlayAreaRect", - "returntype": "bool", - "params": [ -{ "paramname": "rect" ,"paramtype": "struct vr::HmdQuad_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "GetWorkingCollisionBoundsInfo", - "returntype": "bool", - "params": [ -{ "paramname": "pQuadsBuffer" ,"out_array_count": "punQuadsCount" ,"paramtype": "struct vr::HmdQuad_t *"}, -{ "paramname": "punQuadsCount" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "GetLiveCollisionBoundsInfo", - "returntype": "bool", - "params": [ -{ "paramname": "pQuadsBuffer" ,"out_array_count": "punQuadsCount" ,"paramtype": "struct vr::HmdQuad_t *"}, -{ "paramname": "punQuadsCount" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "GetWorkingSeatedZeroPoseToRawTrackingPose", - "returntype": "bool", - "params": [ -{ "paramname": "pmatSeatedZeroPoseToRawTrackingPose" ,"paramtype": "struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "GetWorkingStandingZeroPoseToRawTrackingPose", - "returntype": "bool", - "params": [ -{ "paramname": "pmatStandingZeroPoseToRawTrackingPose" ,"paramtype": "struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "SetWorkingPlayAreaSize", - "returntype": "void", - "params": [ -{ "paramname": "sizeX" ,"paramtype": "float"}, -{ "paramname": "sizeZ" ,"paramtype": "float"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "SetWorkingCollisionBoundsInfo", - "returntype": "void", - "params": [ -{ "paramname": "pQuadsBuffer" ,"array_count": "unQuadsCount" ,"paramtype": "struct vr::HmdQuad_t *"}, -{ "paramname": "unQuadsCount" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "SetWorkingSeatedZeroPoseToRawTrackingPose", - "returntype": "void", - "params": [ -{ "paramname": "pMatSeatedZeroPoseToRawTrackingPose" ,"paramtype": "const struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "SetWorkingStandingZeroPoseToRawTrackingPose", - "returntype": "void", - "params": [ -{ "paramname": "pMatStandingZeroPoseToRawTrackingPose" ,"paramtype": "const struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "ReloadFromDisk", - "returntype": "void", - "params": [ -{ "paramname": "configFile" ,"paramtype": "vr::EChaperoneConfigFile"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "GetLiveSeatedZeroPoseToRawTrackingPose", - "returntype": "bool", - "params": [ -{ "paramname": "pmatSeatedZeroPoseToRawTrackingPose" ,"paramtype": "struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "SetWorkingCollisionBoundsTagsInfo", - "returntype": "void", - "params": [ -{ "paramname": "pTagsBuffer" ,"array_count": "unTagCount" ,"paramtype": "uint8_t *"}, -{ "paramname": "unTagCount" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "GetLiveCollisionBoundsTagsInfo", - "returntype": "bool", - "params": [ -{ "paramname": "pTagsBuffer" ,"out_array_count": "punTagCount" ,"paramtype": "uint8_t *"}, -{ "paramname": "punTagCount" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "SetWorkingPhysicalBoundsInfo", - "returntype": "bool", - "params": [ -{ "paramname": "pQuadsBuffer" ,"array_count": "unQuadsCount" ,"paramtype": "struct vr::HmdQuad_t *"}, -{ "paramname": "unQuadsCount" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "GetLivePhysicalBoundsInfo", - "returntype": "bool", - "params": [ -{ "paramname": "pQuadsBuffer" ,"out_array_count": "punQuadsCount" ,"paramtype": "struct vr::HmdQuad_t *"}, -{ "paramname": "punQuadsCount" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "ExportLiveToBuffer", - "returntype": "bool", - "params": [ -{ "paramname": "pBuffer" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "pnBufferLength" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "ImportFromBufferToWorking", - "returntype": "bool", - "params": [ -{ "paramname": "pBuffer" ,"paramtype": "const char *"}, -{ "paramname": "nImportFlags" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "SetTrackingSpace", - "returntype": "void", - "params": [ -{ "paramname": "eOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetTrackingSpace", - "returntype": "vr::ETrackingUniverseOrigin" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "WaitGetPoses", - "returntype": "vr::EVRCompositorError", - "params": [ -{ "paramname": "pRenderPoseArray" ,"array_count": "unRenderPoseArrayCount" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, -{ "paramname": "unRenderPoseArrayCount" ,"paramtype": "uint32_t"}, -{ "paramname": "pGamePoseArray" ,"array_count": "unGamePoseArrayCount" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, -{ "paramname": "unGamePoseArrayCount" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetLastPoses", - "returntype": "vr::EVRCompositorError", - "params": [ -{ "paramname": "pRenderPoseArray" ,"array_count": "unRenderPoseArrayCount" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, -{ "paramname": "unRenderPoseArrayCount" ,"paramtype": "uint32_t"}, -{ "paramname": "pGamePoseArray" ,"array_count": "unGamePoseArrayCount" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, -{ "paramname": "unGamePoseArrayCount" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetLastPoseForTrackedDeviceIndex", - "returntype": "vr::EVRCompositorError", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pOutputPose" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, -{ "paramname": "pOutputGamePose" ,"paramtype": "struct vr::TrackedDevicePose_t *"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "Submit", - "returntype": "vr::EVRCompositorError", - "params": [ -{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, -{ "paramname": "pTexture" ,"paramtype": "const struct vr::Texture_t *"}, -{ "paramname": "pBounds" ,"paramtype": "const struct vr::VRTextureBounds_t *"}, -{ "paramname": "nSubmitFlags" ,"paramtype": "vr::EVRSubmitFlags"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "ClearLastSubmittedFrame", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "PostPresentHandoff", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetFrameTiming", - "returntype": "bool", - "params": [ -{ "paramname": "pTiming" ,"paramtype": "struct vr::Compositor_FrameTiming *"}, -{ "paramname": "unFramesAgo" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetFrameTimings", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pTiming" ,"paramtype": "struct vr::Compositor_FrameTiming *"}, -{ "paramname": "nFrames" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetFrameTimeRemaining", - "returntype": "float" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetCumulativeStats", - "returntype": "void", - "params": [ -{ "paramname": "pStats" ,"paramtype": "struct vr::Compositor_CumulativeStats *"}, -{ "paramname": "nStatsSizeInBytes" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "FadeToColor", - "returntype": "void", - "params": [ -{ "paramname": "fSeconds" ,"paramtype": "float"}, -{ "paramname": "fRed" ,"paramtype": "float"}, -{ "paramname": "fGreen" ,"paramtype": "float"}, -{ "paramname": "fBlue" ,"paramtype": "float"}, -{ "paramname": "fAlpha" ,"paramtype": "float"}, -{ "paramname": "bBackground" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetCurrentFadeColor", - "returntype": "struct vr::HmdColor_t", - "params": [ -{ "paramname": "bBackground" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "FadeGrid", - "returntype": "void", - "params": [ -{ "paramname": "fSeconds" ,"paramtype": "float"}, -{ "paramname": "bFadeIn" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetCurrentGridAlpha", - "returntype": "float" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "SetSkyboxOverride", - "returntype": "vr::EVRCompositorError", - "params": [ -{ "paramname": "pTextures" ,"array_count": "unTextureCount" ,"paramtype": "const struct vr::Texture_t *"}, -{ "paramname": "unTextureCount" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "ClearSkyboxOverride", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "CompositorBringToFront", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "CompositorGoToBack", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "CompositorQuit", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "IsFullscreen", - "returntype": "bool" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetCurrentSceneFocusProcess", - "returntype": "uint32_t" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetLastFrameRenderer", - "returntype": "uint32_t" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "CanRenderScene", - "returntype": "bool" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "ShowMirrorWindow", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "HideMirrorWindow", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "IsMirrorWindowVisible", - "returntype": "bool" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "CompositorDumpImages", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "ShouldAppRenderWithLowResources", - "returntype": "bool" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "ForceInterleavedReprojectionOn", - "returntype": "void", - "params": [ -{ "paramname": "bOverride" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "ForceReconnectProcess", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "SuspendRendering", - "returntype": "void", - "params": [ -{ "paramname": "bSuspend" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetMirrorTextureD3D11", - "returntype": "vr::EVRCompositorError", - "params": [ -{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, -{ "paramname": "pD3D11DeviceOrResource" ,"paramtype": "void *"}, -{ "paramname": "ppD3D11ShaderResourceView" ,"paramtype": "void **"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "ReleaseMirrorTextureD3D11", - "returntype": "void", - "params": [ -{ "paramname": "pD3D11ShaderResourceView" ,"paramtype": "void *"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetMirrorTextureGL", - "returntype": "vr::EVRCompositorError", - "params": [ -{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, -{ "paramname": "pglTextureId" ,"paramtype": "vr::glUInt_t *"}, -{ "paramname": "pglSharedTextureHandle" ,"paramtype": "vr::glSharedTextureHandle_t *"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "ReleaseSharedGLTexture", - "returntype": "bool", - "params": [ -{ "paramname": "glTextureId" ,"paramtype": "vr::glUInt_t"}, -{ "paramname": "glSharedTextureHandle" ,"paramtype": "vr::glSharedTextureHandle_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "LockGLSharedTextureForAccess", - "returntype": "void", - "params": [ -{ "paramname": "glSharedTextureHandle" ,"paramtype": "vr::glSharedTextureHandle_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "UnlockGLSharedTextureForAccess", - "returntype": "void", - "params": [ -{ "paramname": "glSharedTextureHandle" ,"paramtype": "vr::glSharedTextureHandle_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetVulkanInstanceExtensionsRequired", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchValue" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetVulkanDeviceExtensionsRequired", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pPhysicalDevice" ,"paramtype": "struct VkPhysicalDevice_T *"}, -{ "paramname": "pchValue" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "SetExplicitTimingMode", - "returntype": "void", - "params": [ -{ "paramname": "bExplicitTimingMode" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "SubmitExplicitTimingData", - "returntype": "vr::EVRCompositorError" -} -,{ - "classname": "vr::IVROverlay", - "methodname": "FindOverlay", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "pchOverlayKey" ,"paramtype": "const char *"}, -{ "paramname": "pOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "CreateOverlay", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "pchOverlayKey" ,"paramtype": "const char *"}, -{ "paramname": "pchOverlayName" ,"paramtype": "const char *"}, -{ "paramname": "pOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "DestroyOverlay", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetHighQualityOverlay", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetHighQualityOverlay", - "returntype": "vr::VROverlayHandle_t" -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayKey", - "returntype": "uint32_t", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pchValue" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"}, -{ "paramname": "pError" ,"paramtype": "vr::EVROverlayError *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayName", - "returntype": "uint32_t", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pchValue" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"}, -{ "paramname": "pError" ,"paramtype": "vr::EVROverlayError *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayName", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pchName" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayImageData", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pvBuffer" ,"paramtype": "void *"}, -{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"}, -{ "paramname": "punWidth" ,"paramtype": "uint32_t *"}, -{ "paramname": "punHeight" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayErrorNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "error" ,"paramtype": "vr::EVROverlayError"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayRenderingPid", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "unPID" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayRenderingPid", - "returntype": "uint32_t", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayFlag", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "eOverlayFlag" ,"paramtype": "vr::VROverlayFlags"}, -{ "paramname": "bEnabled" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayFlag", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "eOverlayFlag" ,"paramtype": "vr::VROverlayFlags"}, -{ "paramname": "pbEnabled" ,"paramtype": "bool *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayColor", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "fRed" ,"paramtype": "float"}, -{ "paramname": "fGreen" ,"paramtype": "float"}, -{ "paramname": "fBlue" ,"paramtype": "float"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayColor", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pfRed" ,"paramtype": "float *"}, -{ "paramname": "pfGreen" ,"paramtype": "float *"}, -{ "paramname": "pfBlue" ,"paramtype": "float *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayAlpha", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "fAlpha" ,"paramtype": "float"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayAlpha", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pfAlpha" ,"paramtype": "float *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayTexelAspect", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "fTexelAspect" ,"paramtype": "float"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTexelAspect", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pfTexelAspect" ,"paramtype": "float *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlaySortOrder", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "unSortOrder" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlaySortOrder", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "punSortOrder" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayWidthInMeters", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "fWidthInMeters" ,"paramtype": "float"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayWidthInMeters", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pfWidthInMeters" ,"paramtype": "float *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayAutoCurveDistanceRangeInMeters", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "fMinDistanceInMeters" ,"paramtype": "float"}, -{ "paramname": "fMaxDistanceInMeters" ,"paramtype": "float"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayAutoCurveDistanceRangeInMeters", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pfMinDistanceInMeters" ,"paramtype": "float *"}, -{ "paramname": "pfMaxDistanceInMeters" ,"paramtype": "float *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayTextureColorSpace", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "eTextureColorSpace" ,"paramtype": "vr::EColorSpace"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTextureColorSpace", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "peTextureColorSpace" ,"paramtype": "vr::EColorSpace *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayTextureBounds", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pOverlayTextureBounds" ,"paramtype": "const struct vr::VRTextureBounds_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTextureBounds", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pOverlayTextureBounds" ,"paramtype": "struct vr::VRTextureBounds_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayRenderModel", - "returntype": "uint32_t", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pchValue" ,"paramtype": "char *"}, -{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"}, -{ "paramname": "pColor" ,"paramtype": "struct vr::HmdColor_t *"}, -{ "paramname": "pError" ,"paramtype": "vr::EVROverlayError *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayRenderModel", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pchRenderModel" ,"paramtype": "const char *"}, -{ "paramname": "pColor" ,"paramtype": "const struct vr::HmdColor_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTransformType", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "peTransformType" ,"paramtype": "vr::VROverlayTransformType *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayTransformAbsolute", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "eTrackingOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"}, -{ "paramname": "pmatTrackingOriginToOverlayTransform" ,"paramtype": "const struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTransformAbsolute", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "peTrackingOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin *"}, -{ "paramname": "pmatTrackingOriginToOverlayTransform" ,"paramtype": "struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayTransformTrackedDeviceRelative", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "unTrackedDevice" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pmatTrackedDeviceToOverlayTransform" ,"paramtype": "const struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTransformTrackedDeviceRelative", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "punTrackedDevice" ,"paramtype": "vr::TrackedDeviceIndex_t *"}, -{ "paramname": "pmatTrackedDeviceToOverlayTransform" ,"paramtype": "struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayTransformTrackedDeviceComponent", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pchComponentName" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTransformTrackedDeviceComponent", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "punDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t *"}, -{ "paramname": "pchComponentName" ,"paramtype": "char *"}, -{ "paramname": "unComponentNameSize" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTransformOverlayRelative", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "ulOverlayHandleParent" ,"paramtype": "vr::VROverlayHandle_t *"}, -{ "paramname": "pmatParentOverlayToOverlayTransform" ,"paramtype": "struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayTransformOverlayRelative", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "ulOverlayHandleParent" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pmatParentOverlayToOverlayTransform" ,"paramtype": "const struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "ShowOverlay", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "HideOverlay", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "IsOverlayVisible", - "returntype": "bool", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetTransformForOverlayCoordinates", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "eTrackingOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"}, -{ "paramname": "coordinatesInOverlay" ,"paramtype": "struct vr::HmdVector2_t"}, -{ "paramname": "pmatTransform" ,"paramtype": "struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "PollNextOverlayEvent", - "returntype": "bool", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pEvent" ,"paramtype": "struct vr::VREvent_t *"}, -{ "paramname": "uncbVREvent" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayInputMethod", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "peInputMethod" ,"paramtype": "vr::VROverlayInputMethod *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayInputMethod", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "eInputMethod" ,"paramtype": "vr::VROverlayInputMethod"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayMouseScale", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pvecMouseScale" ,"paramtype": "struct vr::HmdVector2_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayMouseScale", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pvecMouseScale" ,"paramtype": "const struct vr::HmdVector2_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "ComputeOverlayIntersection", - "returntype": "bool", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pParams" ,"paramtype": "const struct vr::VROverlayIntersectionParams_t *"}, -{ "paramname": "pResults" ,"paramtype": "struct vr::VROverlayIntersectionResults_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "HandleControllerOverlayInteractionAsMouse", - "returntype": "bool", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "unControllerDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "IsHoverTargetOverlay", - "returntype": "bool", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetGamepadFocusOverlay", - "returntype": "vr::VROverlayHandle_t" -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetGamepadFocusOverlay", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulNewFocusOverlay" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayNeighbor", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "eDirection" ,"paramtype": "vr::EOverlayDirection"}, -{ "paramname": "ulFrom" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "ulTo" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "MoveGamepadFocusToNeighbor", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "eDirection" ,"paramtype": "vr::EOverlayDirection"}, -{ "paramname": "ulFrom" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayTexture", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pTexture" ,"paramtype": "const struct vr::Texture_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "ClearOverlayTexture", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayRaw", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pvBuffer" ,"paramtype": "void *"}, -{ "paramname": "unWidth" ,"paramtype": "uint32_t"}, -{ "paramname": "unHeight" ,"paramtype": "uint32_t"}, -{ "paramname": "unDepth" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayFromFile", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pchFilePath" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTexture", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pNativeTextureHandle" ,"paramtype": "void **"}, -{ "paramname": "pNativeTextureRef" ,"paramtype": "void *"}, -{ "paramname": "pWidth" ,"paramtype": "uint32_t *"}, -{ "paramname": "pHeight" ,"paramtype": "uint32_t *"}, -{ "paramname": "pNativeFormat" ,"paramtype": "uint32_t *"}, -{ "paramname": "pAPIType" ,"paramtype": "vr::ETextureType *"}, -{ "paramname": "pColorSpace" ,"paramtype": "vr::EColorSpace *"}, -{ "paramname": "pTextureBounds" ,"paramtype": "struct vr::VRTextureBounds_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "ReleaseNativeOverlayHandle", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pNativeTextureHandle" ,"paramtype": "void *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTextureSize", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pWidth" ,"paramtype": "uint32_t *"}, -{ "paramname": "pHeight" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "CreateDashboardOverlay", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "pchOverlayKey" ,"paramtype": "const char *"}, -{ "paramname": "pchOverlayFriendlyName" ,"paramtype": "const char *"}, -{ "paramname": "pMainHandle" ,"paramtype": "vr::VROverlayHandle_t *"}, -{ "paramname": "pThumbnailHandle" ,"paramtype": "vr::VROverlayHandle_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "IsDashboardVisible", - "returntype": "bool" -} -,{ - "classname": "vr::IVROverlay", - "methodname": "IsActiveDashboardOverlay", - "returntype": "bool", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetDashboardOverlaySceneProcess", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "unProcessId" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetDashboardOverlaySceneProcess", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "punProcessId" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "ShowDashboard", - "returntype": "void", - "params": [ -{ "paramname": "pchOverlayToShow" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetPrimaryDashboardDevice", - "returntype": "vr::TrackedDeviceIndex_t" -} -,{ - "classname": "vr::IVROverlay", - "methodname": "ShowKeyboard", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "eInputMode" ,"paramtype": "vr::EGamepadTextInputMode"}, -{ "paramname": "eLineInputMode" ,"paramtype": "vr::EGamepadTextInputLineMode"}, -{ "paramname": "pchDescription" ,"paramtype": "const char *"}, -{ "paramname": "unCharMax" ,"paramtype": "uint32_t"}, -{ "paramname": "pchExistingText" ,"paramtype": "const char *"}, -{ "paramname": "bUseMinimalMode" ,"paramtype": "bool"}, -{ "paramname": "uUserValue" ,"paramtype": "uint64_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "ShowKeyboardForOverlay", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "eInputMode" ,"paramtype": "vr::EGamepadTextInputMode"}, -{ "paramname": "eLineInputMode" ,"paramtype": "vr::EGamepadTextInputLineMode"}, -{ "paramname": "pchDescription" ,"paramtype": "const char *"}, -{ "paramname": "unCharMax" ,"paramtype": "uint32_t"}, -{ "paramname": "pchExistingText" ,"paramtype": "const char *"}, -{ "paramname": "bUseMinimalMode" ,"paramtype": "bool"}, -{ "paramname": "uUserValue" ,"paramtype": "uint64_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetKeyboardText", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchText" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "cchText" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "HideKeyboard", - "returntype": "void" -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetKeyboardTransformAbsolute", - "returntype": "void", - "params": [ -{ "paramname": "eTrackingOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"}, -{ "paramname": "pmatTrackingOriginToKeyboardTransform" ,"paramtype": "const struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetKeyboardPositionForOverlay", - "returntype": "void", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "avoidRect" ,"paramtype": "struct vr::HmdRect2_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayIntersectionMask", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pMaskPrimitives" ,"paramtype": "struct vr::VROverlayIntersectionMaskPrimitive_t *"}, -{ "paramname": "unNumMaskPrimitives" ,"paramtype": "uint32_t"}, -{ "paramname": "unPrimitiveSize" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayFlags", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pFlags" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "ShowMessageOverlay", - "returntype": "vr::VRMessageOverlayResponse", - "params": [ -{ "paramname": "pchText" ,"paramtype": "const char *"}, -{ "paramname": "pchCaption" ,"paramtype": "const char *"}, -{ "paramname": "pchButton0Text" ,"paramtype": "const char *"}, -{ "paramname": "pchButton1Text" ,"paramtype": "const char *"}, -{ "paramname": "pchButton2Text" ,"paramtype": "const char *"}, -{ "paramname": "pchButton3Text" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "CloseMessageOverlay", - "returntype": "void" -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "LoadRenderModel_Async", - "returntype": "vr::EVRRenderModelError", - "params": [ -{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, -{ "paramname": "ppRenderModel" ,"paramtype": "struct vr::RenderModel_t **"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "FreeRenderModel", - "returntype": "void", - "params": [ -{ "paramname": "pRenderModel" ,"paramtype": "struct vr::RenderModel_t *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "LoadTexture_Async", - "returntype": "vr::EVRRenderModelError", - "params": [ -{ "paramname": "textureId" ,"paramtype": "vr::TextureID_t"}, -{ "paramname": "ppTexture" ,"paramtype": "struct vr::RenderModel_TextureMap_t **"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "FreeTexture", - "returntype": "void", - "params": [ -{ "paramname": "pTexture" ,"paramtype": "struct vr::RenderModel_TextureMap_t *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "LoadTextureD3D11_Async", - "returntype": "vr::EVRRenderModelError", - "params": [ -{ "paramname": "textureId" ,"paramtype": "vr::TextureID_t"}, -{ "paramname": "pD3D11Device" ,"paramtype": "void *"}, -{ "paramname": "ppD3D11Texture2D" ,"paramtype": "void **"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "LoadIntoTextureD3D11_Async", - "returntype": "vr::EVRRenderModelError", - "params": [ -{ "paramname": "textureId" ,"paramtype": "vr::TextureID_t"}, -{ "paramname": "pDstTexture" ,"paramtype": "void *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "FreeTextureD3D11", - "returntype": "void", - "params": [ -{ "paramname": "pD3D11Texture2D" ,"paramtype": "void *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetRenderModelName", - "returntype": "uint32_t", - "params": [ -{ "paramname": "unRenderModelIndex" ,"paramtype": "uint32_t"}, -{ "paramname": "pchRenderModelName" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unRenderModelNameLen" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetRenderModelCount", - "returntype": "uint32_t" -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetComponentCount", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetComponentName", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, -{ "paramname": "unComponentIndex" ,"paramtype": "uint32_t"}, -{ "paramname": "pchComponentName" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unComponentNameLen" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetComponentButtonMask", - "returntype": "uint64_t", - "params": [ -{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, -{ "paramname": "pchComponentName" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetComponentRenderModelName", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, -{ "paramname": "pchComponentName" ,"paramtype": "const char *"}, -{ "paramname": "pchComponentRenderModelName" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unComponentRenderModelNameLen" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetComponentState", - "returntype": "bool", - "params": [ -{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, -{ "paramname": "pchComponentName" ,"paramtype": "const char *"}, -{ "paramname": "pControllerState" ,"paramtype": "const vr::VRControllerState_t *"}, -{ "paramname": "pState" ,"paramtype": "const struct vr::RenderModel_ControllerMode_State_t *"}, -{ "paramname": "pComponentState" ,"paramtype": "struct vr::RenderModel_ComponentState_t *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "RenderModelHasComponent", - "returntype": "bool", - "params": [ -{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, -{ "paramname": "pchComponentName" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetRenderModelThumbnailURL", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, -{ "paramname": "pchThumbnailURL" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unThumbnailURLLen" ,"paramtype": "uint32_t"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRRenderModelError *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetRenderModelOriginalPath", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, -{ "paramname": "pchOriginalPath" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unOriginalPathLen" ,"paramtype": "uint32_t"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRRenderModelError *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetRenderModelErrorNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "error" ,"paramtype": "vr::EVRRenderModelError"} - ] -} -,{ - "classname": "vr::IVRNotifications", - "methodname": "CreateNotification", - "returntype": "vr::EVRNotificationError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "ulUserValue" ,"paramtype": "uint64_t"}, -{ "paramname": "type" ,"paramtype": "vr::EVRNotificationType"}, -{ "paramname": "pchText" ,"paramtype": "const char *"}, -{ "paramname": "style" ,"paramtype": "vr::EVRNotificationStyle"}, -{ "paramname": "pImage" ,"paramtype": "const struct vr::NotificationBitmap_t *"}, -{ "paramname": "pNotificationId" ,"paramtype": "vr::VRNotificationId *"} - ] -} -,{ - "classname": "vr::IVRNotifications", - "methodname": "RemoveNotification", - "returntype": "vr::EVRNotificationError", - "params": [ -{ "paramname": "notificationId" ,"paramtype": "vr::VRNotificationId"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "GetSettingsErrorNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "eError" ,"paramtype": "vr::EVRSettingsError"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "Sync", - "returntype": "bool", - "params": [ -{ "paramname": "bForce" ,"paramtype": "bool"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "SetBool", - "returntype": "void", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, -{ "paramname": "bValue" ,"paramtype": "bool"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "SetInt32", - "returntype": "void", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, -{ "paramname": "nValue" ,"paramtype": "int32_t"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "SetFloat", - "returntype": "void", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, -{ "paramname": "flValue" ,"paramtype": "float"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "SetString", - "returntype": "void", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, -{ "paramname": "pchValue" ,"paramtype": "const char *"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "GetBool", - "returntype": "bool", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "GetInt32", - "returntype": "int32_t", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "GetFloat", - "returntype": "float", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "GetString", - "returntype": "void", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, -{ "paramname": "pchValue" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unValueLen" ,"paramtype": "uint32_t"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "RemoveSection", - "returntype": "void", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "RemoveKeyInSection", - "returntype": "void", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRScreenshots", - "methodname": "RequestScreenshot", - "returntype": "vr::EVRScreenshotError", - "params": [ -{ "paramname": "pOutScreenshotHandle" ,"paramtype": "vr::ScreenshotHandle_t *"}, -{ "paramname": "type" ,"paramtype": "vr::EVRScreenshotType"}, -{ "paramname": "pchPreviewFilename" ,"paramtype": "const char *"}, -{ "paramname": "pchVRFilename" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRScreenshots", - "methodname": "HookScreenshot", - "returntype": "vr::EVRScreenshotError", - "params": [ -{ "paramname": "pSupportedTypes" ,"array_count": "numTypes" ,"paramtype": "const vr::EVRScreenshotType *"}, -{ "paramname": "numTypes" ,"paramtype": "int"} - ] -} -,{ - "classname": "vr::IVRScreenshots", - "methodname": "GetScreenshotPropertyType", - "returntype": "vr::EVRScreenshotType", - "params": [ -{ "paramname": "screenshotHandle" ,"paramtype": "vr::ScreenshotHandle_t"}, -{ "paramname": "pError" ,"paramtype": "vr::EVRScreenshotError *"} - ] -} -,{ - "classname": "vr::IVRScreenshots", - "methodname": "GetScreenshotPropertyFilename", - "returntype": "uint32_t", - "params": [ -{ "paramname": "screenshotHandle" ,"paramtype": "vr::ScreenshotHandle_t"}, -{ "paramname": "filenameType" ,"paramtype": "vr::EVRScreenshotPropertyFilenames"}, -{ "paramname": "pchFilename" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "cchFilename" ,"paramtype": "uint32_t"}, -{ "paramname": "pError" ,"paramtype": "vr::EVRScreenshotError *"} - ] -} -,{ - "classname": "vr::IVRScreenshots", - "methodname": "UpdateScreenshotProgress", - "returntype": "vr::EVRScreenshotError", - "params": [ -{ "paramname": "screenshotHandle" ,"paramtype": "vr::ScreenshotHandle_t"}, -{ "paramname": "flProgress" ,"paramtype": "float"} - ] -} -,{ - "classname": "vr::IVRScreenshots", - "methodname": "TakeStereoScreenshot", - "returntype": "vr::EVRScreenshotError", - "params": [ -{ "paramname": "pOutScreenshotHandle" ,"paramtype": "vr::ScreenshotHandle_t *"}, -{ "paramname": "pchPreviewFilename" ,"paramtype": "const char *"}, -{ "paramname": "pchVRFilename" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRScreenshots", - "methodname": "SubmitScreenshot", - "returntype": "vr::EVRScreenshotError", - "params": [ -{ "paramname": "screenshotHandle" ,"paramtype": "vr::ScreenshotHandle_t"}, -{ "paramname": "type" ,"paramtype": "vr::EVRScreenshotType"}, -{ "paramname": "pchSourcePreviewFilename" ,"paramtype": "const char *"}, -{ "paramname": "pchSourceVRFilename" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRResources", - "methodname": "LoadSharedResource", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchResourceName" ,"paramtype": "const char *"}, -{ "paramname": "pchBuffer" ,"paramtype": "char *"}, -{ "paramname": "unBufferLen" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRResources", - "methodname": "GetResourceFullPath", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchResourceName" ,"paramtype": "const char *"}, -{ "paramname": "pchResourceTypeDirectory" ,"paramtype": "const char *"}, -{ "paramname": "pchPathBuffer" ,"paramtype": "char *"}, -{ "paramname": "unBufferLen" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRDriverManager", - "methodname": "GetDriverCount", - "returntype": "uint32_t" -} -,{ - "classname": "vr::IVRDriverManager", - "methodname": "GetDriverName", - "returntype": "uint32_t", - "params": [ -{ "paramname": "nDriver" ,"paramtype": "vr::DriverId_t"}, -{ "paramname": "pchValue" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"} - ] -} -] -} diff --git a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_capi.h b/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_capi.h deleted file mode 100644 index 50f8958..0000000 --- a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_capi.h +++ /dev/null @@ -1,1942 +0,0 @@ -//======= Copyright (c) Valve Corporation, All rights reserved. =============== -// -// Purpose: Header for flatted SteamAPI. Use this for binding to other languages. -// This file is auto-generated, do not edit it. -// -//============================================================================= - -#ifndef __OPENVR_API_FLAT_H__ -#define __OPENVR_API_FLAT_H__ -#if defined( _WIN32 ) || defined( __clang__ ) -#pragma once -#endif - -#ifdef __cplusplus -#define EXTERN_C extern "C" -#else -#define EXTERN_C -#endif - -#if defined( _WIN32 ) -#define OPENVR_FNTABLE_CALLTYPE __stdcall -#else -#define OPENVR_FNTABLE_CALLTYPE -#endif - -// OPENVR API export macro -#if defined( _WIN32 ) && !defined( _X360 ) - #if defined( OPENVR_API_EXPORTS ) - #define S_API EXTERN_C __declspec( dllexport ) - #elif defined( OPENVR_API_NODLL ) - #define S_API EXTERN_C - #else - #define S_API extern "C" __declspec( dllimport ) - #endif // OPENVR_API_EXPORTS -#elif defined( __GNUC__ ) - #if defined( OPENVR_API_EXPORTS ) - #define S_API EXTERN_C __attribute__ ((visibility("default"))) - #else - #define S_API EXTERN_C - #endif // OPENVR_API_EXPORTS -#else // !WIN32 - #if defined( OPENVR_API_EXPORTS ) - #define S_API EXTERN_C - #else - #define S_API EXTERN_C - #endif // OPENVR_API_EXPORTS -#endif - -#include - -#if defined( __WIN32 ) -typedef char bool; -#else -#include -#endif - -typedef uint64_t PropertyContainerHandle_t; -typedef uint32_t PropertyTypeTag_t; -typedef uint64_t VRActionHandle_t; -typedef uint64_t VRActionSetHandle_t; -typedef uint64_t VRInputOriginHandle_t; - - -// OpenVR Constants - -static const unsigned int k_nDriverNone = 4294967295; -static const unsigned int k_unMaxDriverDebugResponseSize = 32768; -static const unsigned int k_unTrackedDeviceIndex_Hmd = 0; -static const unsigned int k_unMaxTrackedDeviceCount = 16; -static const unsigned int k_unTrackedDeviceIndexOther = 4294967294; -static const unsigned int k_unTrackedDeviceIndexInvalid = 4294967295; -static const unsigned long k_ulInvalidPropertyContainer = 0; -static const unsigned int k_unInvalidPropertyTag = 0; -static const unsigned int k_unFloatPropertyTag = 1; -static const unsigned int k_unInt32PropertyTag = 2; -static const unsigned int k_unUint64PropertyTag = 3; -static const unsigned int k_unBoolPropertyTag = 4; -static const unsigned int k_unStringPropertyTag = 5; -static const unsigned int k_unHmdMatrix34PropertyTag = 20; -static const unsigned int k_unHmdMatrix44PropertyTag = 21; -static const unsigned int k_unHmdVector3PropertyTag = 22; -static const unsigned int k_unHmdVector4PropertyTag = 23; -static const unsigned int k_unHiddenAreaPropertyTag = 30; -static const unsigned int k_unOpenVRInternalReserved_Start = 1000; -static const unsigned int k_unOpenVRInternalReserved_End = 10000; -static const unsigned int k_unMaxPropertyStringSize = 32768; -static const unsigned int k_unControllerStateAxisCount = 5; -static const unsigned long k_ulOverlayHandleInvalid = 0; -static const unsigned int k_unScreenshotHandleInvalid = 0; -static const char * IVRSystem_Version = "IVRSystem_017"; -static const char * IVRExtendedDisplay_Version = "IVRExtendedDisplay_001"; -static const char * IVRTrackedCamera_Version = "IVRTrackedCamera_003"; -static const unsigned int k_unMaxApplicationKeyLength = 128; -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_021"; -static const unsigned int k_unVROverlayMaxKeyLength = 128; -static const unsigned int k_unVROverlayMaxNameLength = 128; -static const unsigned int k_unMaxOverlayCount = 64; -static const unsigned int k_unMaxOverlayIntersectionMaskPrimitivesCount = 32; -static const char * IVROverlay_Version = "IVROverlay_016"; -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"; -static const char * k_pch_Controller_Component_HandGrip = "handgrip"; -static const char * k_pch_Controller_Component_Status = "status"; -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_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"; -static const char * k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd"; -static const char * k_pch_SteamVR_DisplayDebug_Bool = "displayDebug"; -static const char * k_pch_SteamVR_DebugProcessPipe_String = "debugProcessPipe"; -static const char * k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX"; -static const char * k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY"; -static const char * k_pch_SteamVR_SendSystemButtonToAllApps_Bool = "sendSystemButtonToAllApps"; -static const char * k_pch_SteamVR_LogLevel_Int32 = "loglevel"; -static const char * k_pch_SteamVR_IPD_Float = "ipd"; -static const char * k_pch_SteamVR_Background_String = "background"; -static const char * k_pch_SteamVR_BackgroundUseDomeProjection_Bool = "backgroundUseDomeProjection"; -static const char * k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCameraHeight"; -static const char * k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRadius"; -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_DirectMode_Bool = "directMode"; -static const char * k_pch_SteamVR_DirectModeEdidVid_Int32 = "directModeEdidVid"; -static const char * k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid"; -static const char * k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers"; -static const char * k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees"; -static const char * k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestationPowerManagement"; -static const char * k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses"; -static const char * k_pch_SteamVR_SupersampleScale_Float = "supersampleScale"; -static const char * k_pch_SteamVR_AllowAsyncReprojection_Bool = "allowAsyncReprojection"; -static const char * k_pch_SteamVR_AllowReprojection_Bool = "allowInterleavedReprojection"; -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_StartCompositorFromAppLaunch_Bool = "startCompositorFromAppLaunch"; -static const char * k_pch_SteamVR_StartDashboardFromAppLaunch_Bool = "startDashboardFromAppLaunch"; -static const char * k_pch_SteamVR_StartOverlayAppsFromDashboard_Bool = "startOverlayAppsFromDashboard"; -static const char * k_pch_SteamVR_EnableHomeApp = "enableHomeApp"; -static const char * k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32 = "CycleBackgroundImageTimeSec"; -static const char * k_pch_SteamVR_RetailDemo_Bool = "retailDemo"; -static const char * k_pch_SteamVR_IpdOffset_Float = "ipdOffset"; -static const char * k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering"; -static const char * k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync"; -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_DBHistory_Bool = "dbhistory"; -static const char * k_pch_Null_Section = "driver_null"; -static const char * k_pch_Null_SerialNumber_String = "serialNumber"; -static const char * k_pch_Null_ModelNumber_String = "modelNumber"; -static const char * k_pch_Null_WindowX_Int32 = "windowX"; -static const char * k_pch_Null_WindowY_Int32 = "windowY"; -static const char * k_pch_Null_WindowWidth_Int32 = "windowWidth"; -static const char * k_pch_Null_WindowHeight_Int32 = "windowHeight"; -static const char * k_pch_Null_RenderWidth_Int32 = "renderWidth"; -static const char * k_pch_Null_RenderHeight_Int32 = "renderHeight"; -static const char * k_pch_Null_SecondsFromVsyncToPhotons_Float = "secondsFromVsyncToPhotons"; -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_MinimizeToTray_Bool = "MinimizeToTray"; -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"; -static const char * k_pch_Keyboard_TutorialCompletions = "TutorialCompletions"; -static const char * k_pch_Keyboard_ScaleX = "ScaleX"; -static const char * k_pch_Keyboard_ScaleY = "ScaleY"; -static const char * k_pch_Keyboard_OffsetLeftX = "OffsetLeftX"; -static const char * k_pch_Keyboard_OffsetRightX = "OffsetRightX"; -static const char * k_pch_Keyboard_OffsetY = "OffsetY"; -static const char * k_pch_Keyboard_Smoothing = "Smoothing"; -static const char * k_pch_Perf_Section = "perfcheck"; -static const char * k_pch_Perf_HeuristicActive_Bool = "heuristicActive"; -static const char * k_pch_Perf_NotifyInHMD_Bool = "warnInHMD"; -static const char * k_pch_Perf_NotifyOnlyOnce_Bool = "warnOnlyOnce"; -static const char * k_pch_Perf_AllowTimingStore_Bool = "allowTimingStore"; -static const char * k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit"; -static const char * k_pch_Perf_TestData_Float = "perfTestData"; -static const char * k_pch_Perf_LinuxGPUProfiling_Bool = "linuxGPUProfiling"; -static const char * k_pch_CollisionBounds_Section = "collisionBounds"; -static const char * k_pch_CollisionBounds_Style_Int32 = "CollisionBoundsStyle"; -static const char * k_pch_CollisionBounds_GroundPerimeterOn_Bool = "CollisionBoundsGroundPerimeterOn"; -static const char * k_pch_CollisionBounds_CenterMarkerOn_Bool = "CollisionBoundsCenterMarkerOn"; -static const char * k_pch_CollisionBounds_PlaySpaceOn_Bool = "CollisionBoundsPlaySpaceOn"; -static const char * k_pch_CollisionBounds_FadeDistance_Float = "CollisionBoundsFadeDistance"; -static const char * k_pch_CollisionBounds_ColorGammaR_Int32 = "CollisionBoundsColorGammaR"; -static const char * k_pch_CollisionBounds_ColorGammaG_Int32 = "CollisionBoundsColorGammaG"; -static const char * k_pch_CollisionBounds_ColorGammaB_Int32 = "CollisionBoundsColorGammaB"; -static const char * k_pch_CollisionBounds_ColorGammaA_Int32 = "CollisionBoundsColorGammaA"; -static const char * k_pch_Camera_Section = "camera"; -static const char * k_pch_Camera_EnableCamera_Bool = "enableCamera"; -static const char * k_pch_Camera_EnableCameraInDashboard_Bool = "enableCameraInDashboard"; -static const char * k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCameraForCollisionBounds"; -static const char * k_pch_Camera_EnableCameraForRoomView_Bool = "enableCameraForRoomView"; -static const char * k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGammaR"; -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"; -static const char * k_pch_audio_OnPlaybackMirrorDevice_String = "onPlaybackMirrorDevice"; -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_Power_PauseCompositorOnStandby_Bool = "pauseCompositorOnStandby"; -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 * k_pch_Driver_Enable_Bool = "enable"; -static const char * IVRScreenshots_Version = "IVRScreenshots_001"; -static const char * IVRResources_Version = "IVRResources_001"; -static const char * IVRDriverManager_Version = "IVRDriverManager_001"; - -// OpenVR Enums - -typedef enum EVREye -{ - EVREye_Eye_Left = 0, - EVREye_Eye_Right = 1, -} EVREye; - -typedef enum ETextureType -{ - ETextureType_TextureType_DirectX = 0, - ETextureType_TextureType_OpenGL = 1, - ETextureType_TextureType_Vulkan = 2, - ETextureType_TextureType_IOSurface = 3, - ETextureType_TextureType_DirectX12 = 4, -} ETextureType; - -typedef enum EColorSpace -{ - EColorSpace_ColorSpace_Auto = 0, - EColorSpace_ColorSpace_Gamma = 1, - EColorSpace_ColorSpace_Linear = 2, -} EColorSpace; - -typedef enum ETrackingResult -{ - ETrackingResult_TrackingResult_Uninitialized = 1, - ETrackingResult_TrackingResult_Calibrating_InProgress = 100, - ETrackingResult_TrackingResult_Calibrating_OutOfRange = 101, - ETrackingResult_TrackingResult_Running_OK = 200, - ETrackingResult_TrackingResult_Running_OutOfRange = 201, -} ETrackingResult; - -typedef enum ETrackedDeviceClass -{ - ETrackedDeviceClass_TrackedDeviceClass_Invalid = 0, - ETrackedDeviceClass_TrackedDeviceClass_HMD = 1, - ETrackedDeviceClass_TrackedDeviceClass_Controller = 2, - ETrackedDeviceClass_TrackedDeviceClass_GenericTracker = 3, - ETrackedDeviceClass_TrackedDeviceClass_TrackingReference = 4, - ETrackedDeviceClass_TrackedDeviceClass_DisplayRedirect = 5, -} ETrackedDeviceClass; - -typedef enum ETrackedControllerRole -{ - ETrackedControllerRole_TrackedControllerRole_Invalid = 0, - ETrackedControllerRole_TrackedControllerRole_LeftHand = 1, - ETrackedControllerRole_TrackedControllerRole_RightHand = 2, -} ETrackedControllerRole; - -typedef enum ETrackingUniverseOrigin -{ - ETrackingUniverseOrigin_TrackingUniverseSeated = 0, - ETrackingUniverseOrigin_TrackingUniverseStanding = 1, - ETrackingUniverseOrigin_TrackingUniverseRawAndUncalibrated = 2, -} ETrackingUniverseOrigin; - -typedef enum ETrackedDeviceProperty -{ - ETrackedDeviceProperty_Prop_Invalid = 0, - ETrackedDeviceProperty_Prop_TrackingSystemName_String = 1000, - ETrackedDeviceProperty_Prop_ModelNumber_String = 1001, - ETrackedDeviceProperty_Prop_SerialNumber_String = 1002, - ETrackedDeviceProperty_Prop_RenderModelName_String = 1003, - ETrackedDeviceProperty_Prop_WillDriftInYaw_Bool = 1004, - ETrackedDeviceProperty_Prop_ManufacturerName_String = 1005, - ETrackedDeviceProperty_Prop_TrackingFirmwareVersion_String = 1006, - ETrackedDeviceProperty_Prop_HardwareRevision_String = 1007, - ETrackedDeviceProperty_Prop_AllWirelessDongleDescriptions_String = 1008, - ETrackedDeviceProperty_Prop_ConnectedWirelessDongle_String = 1009, - ETrackedDeviceProperty_Prop_DeviceIsWireless_Bool = 1010, - ETrackedDeviceProperty_Prop_DeviceIsCharging_Bool = 1011, - ETrackedDeviceProperty_Prop_DeviceBatteryPercentage_Float = 1012, - ETrackedDeviceProperty_Prop_StatusDisplayTransform_Matrix34 = 1013, - ETrackedDeviceProperty_Prop_Firmware_UpdateAvailable_Bool = 1014, - ETrackedDeviceProperty_Prop_Firmware_ManualUpdate_Bool = 1015, - ETrackedDeviceProperty_Prop_Firmware_ManualUpdateURL_String = 1016, - ETrackedDeviceProperty_Prop_HardwareRevision_Uint64 = 1017, - ETrackedDeviceProperty_Prop_FirmwareVersion_Uint64 = 1018, - ETrackedDeviceProperty_Prop_FPGAVersion_Uint64 = 1019, - ETrackedDeviceProperty_Prop_VRCVersion_Uint64 = 1020, - ETrackedDeviceProperty_Prop_RadioVersion_Uint64 = 1021, - ETrackedDeviceProperty_Prop_DongleVersion_Uint64 = 1022, - ETrackedDeviceProperty_Prop_BlockServerShutdown_Bool = 1023, - ETrackedDeviceProperty_Prop_CanUnifyCoordinateSystemWithHmd_Bool = 1024, - ETrackedDeviceProperty_Prop_ContainsProximitySensor_Bool = 1025, - ETrackedDeviceProperty_Prop_DeviceProvidesBatteryStatus_Bool = 1026, - ETrackedDeviceProperty_Prop_DeviceCanPowerOff_Bool = 1027, - ETrackedDeviceProperty_Prop_Firmware_ProgrammingTarget_String = 1028, - ETrackedDeviceProperty_Prop_DeviceClass_Int32 = 1029, - ETrackedDeviceProperty_Prop_HasCamera_Bool = 1030, - ETrackedDeviceProperty_Prop_DriverVersion_String = 1031, - ETrackedDeviceProperty_Prop_Firmware_ForceUpdateRequired_Bool = 1032, - ETrackedDeviceProperty_Prop_ViveSystemButtonFixRequired_Bool = 1033, - ETrackedDeviceProperty_Prop_ParentDriver_Uint64 = 1034, - ETrackedDeviceProperty_Prop_ResourceRoot_String = 1035, - ETrackedDeviceProperty_Prop_ReportsTimeSinceVSync_Bool = 2000, - ETrackedDeviceProperty_Prop_SecondsFromVsyncToPhotons_Float = 2001, - ETrackedDeviceProperty_Prop_DisplayFrequency_Float = 2002, - ETrackedDeviceProperty_Prop_UserIpdMeters_Float = 2003, - ETrackedDeviceProperty_Prop_CurrentUniverseId_Uint64 = 2004, - ETrackedDeviceProperty_Prop_PreviousUniverseId_Uint64 = 2005, - ETrackedDeviceProperty_Prop_DisplayFirmwareVersion_Uint64 = 2006, - ETrackedDeviceProperty_Prop_IsOnDesktop_Bool = 2007, - ETrackedDeviceProperty_Prop_DisplayMCType_Int32 = 2008, - ETrackedDeviceProperty_Prop_DisplayMCOffset_Float = 2009, - ETrackedDeviceProperty_Prop_DisplayMCScale_Float = 2010, - ETrackedDeviceProperty_Prop_EdidVendorID_Int32 = 2011, - ETrackedDeviceProperty_Prop_DisplayMCImageLeft_String = 2012, - ETrackedDeviceProperty_Prop_DisplayMCImageRight_String = 2013, - ETrackedDeviceProperty_Prop_DisplayGCBlackClamp_Float = 2014, - ETrackedDeviceProperty_Prop_EdidProductID_Int32 = 2015, - ETrackedDeviceProperty_Prop_CameraToHeadTransform_Matrix34 = 2016, - ETrackedDeviceProperty_Prop_DisplayGCType_Int32 = 2017, - ETrackedDeviceProperty_Prop_DisplayGCOffset_Float = 2018, - ETrackedDeviceProperty_Prop_DisplayGCScale_Float = 2019, - ETrackedDeviceProperty_Prop_DisplayGCPrescale_Float = 2020, - ETrackedDeviceProperty_Prop_DisplayGCImage_String = 2021, - ETrackedDeviceProperty_Prop_LensCenterLeftU_Float = 2022, - ETrackedDeviceProperty_Prop_LensCenterLeftV_Float = 2023, - ETrackedDeviceProperty_Prop_LensCenterRightU_Float = 2024, - ETrackedDeviceProperty_Prop_LensCenterRightV_Float = 2025, - ETrackedDeviceProperty_Prop_UserHeadToEyeDepthMeters_Float = 2026, - ETrackedDeviceProperty_Prop_CameraFirmwareVersion_Uint64 = 2027, - ETrackedDeviceProperty_Prop_CameraFirmwareDescription_String = 2028, - ETrackedDeviceProperty_Prop_DisplayFPGAVersion_Uint64 = 2029, - ETrackedDeviceProperty_Prop_DisplayBootloaderVersion_Uint64 = 2030, - ETrackedDeviceProperty_Prop_DisplayHardwareVersion_Uint64 = 2031, - ETrackedDeviceProperty_Prop_AudioFirmwareVersion_Uint64 = 2032, - ETrackedDeviceProperty_Prop_CameraCompatibilityMode_Int32 = 2033, - ETrackedDeviceProperty_Prop_ScreenshotHorizontalFieldOfViewDegrees_Float = 2034, - ETrackedDeviceProperty_Prop_ScreenshotVerticalFieldOfViewDegrees_Float = 2035, - ETrackedDeviceProperty_Prop_DisplaySuppressed_Bool = 2036, - ETrackedDeviceProperty_Prop_DisplayAllowNightMode_Bool = 2037, - ETrackedDeviceProperty_Prop_DisplayMCImageWidth_Int32 = 2038, - ETrackedDeviceProperty_Prop_DisplayMCImageHeight_Int32 = 2039, - ETrackedDeviceProperty_Prop_DisplayMCImageNumChannels_Int32 = 2040, - ETrackedDeviceProperty_Prop_DisplayMCImageData_Binary = 2041, - ETrackedDeviceProperty_Prop_SecondsFromPhotonsToVblank_Float = 2042, - ETrackedDeviceProperty_Prop_DriverDirectModeSendsVsyncEvents_Bool = 2043, - ETrackedDeviceProperty_Prop_DisplayDebugMode_Bool = 2044, - ETrackedDeviceProperty_Prop_GraphicsAdapterLuid_Uint64 = 2045, - ETrackedDeviceProperty_Prop_DriverProvidedChaperonePath_String = 2048, - ETrackedDeviceProperty_Prop_AttachedDeviceId_String = 3000, - ETrackedDeviceProperty_Prop_SupportedButtons_Uint64 = 3001, - ETrackedDeviceProperty_Prop_Axis0Type_Int32 = 3002, - ETrackedDeviceProperty_Prop_Axis1Type_Int32 = 3003, - 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, - ETrackedDeviceProperty_Prop_FieldOfViewBottomDegrees_Float = 4003, - 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_DisplayHiddenArea_Binary_Start = 5100, - ETrackedDeviceProperty_Prop_DisplayHiddenArea_Binary_End = 5150, - ETrackedDeviceProperty_Prop_UserConfigPath_String = 6000, - ETrackedDeviceProperty_Prop_InstallPath_String = 6001, - ETrackedDeviceProperty_Prop_HasDisplayComponent_Bool = 6002, - ETrackedDeviceProperty_Prop_HasControllerComponent_Bool = 6003, - ETrackedDeviceProperty_Prop_HasCameraComponent_Bool = 6004, - ETrackedDeviceProperty_Prop_HasDriverDirectModeComponent_Bool = 6005, - ETrackedDeviceProperty_Prop_HasVirtualDisplayComponent_Bool = 6006, - ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_Start = 10000, - ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_End = 10999, -} ETrackedDeviceProperty; - -typedef enum ETrackedPropertyError -{ - ETrackedPropertyError_TrackedProp_Success = 0, - ETrackedPropertyError_TrackedProp_WrongDataType = 1, - ETrackedPropertyError_TrackedProp_WrongDeviceClass = 2, - ETrackedPropertyError_TrackedProp_BufferTooSmall = 3, - ETrackedPropertyError_TrackedProp_UnknownProperty = 4, - ETrackedPropertyError_TrackedProp_InvalidDevice = 5, - ETrackedPropertyError_TrackedProp_CouldNotContactServer = 6, - ETrackedPropertyError_TrackedProp_ValueNotProvidedByDevice = 7, - ETrackedPropertyError_TrackedProp_StringExceedsMaximumLength = 8, - ETrackedPropertyError_TrackedProp_NotYetAvailable = 9, - ETrackedPropertyError_TrackedProp_PermissionDenied = 10, - ETrackedPropertyError_TrackedProp_InvalidOperation = 11, -} ETrackedPropertyError; - -typedef enum EVRSubmitFlags -{ - EVRSubmitFlags_Submit_Default = 0, - EVRSubmitFlags_Submit_LensDistortionAlreadyApplied = 1, - EVRSubmitFlags_Submit_GlRenderBuffer = 2, - EVRSubmitFlags_Submit_Reserved = 4, - EVRSubmitFlags_Submit_TextureWithPose = 8, -} EVRSubmitFlags; - -typedef enum EVRState -{ - EVRState_VRState_Undefined = -1, - EVRState_VRState_Off = 0, - EVRState_VRState_Searching = 1, - EVRState_VRState_Searching_Alert = 2, - EVRState_VRState_Ready = 3, - EVRState_VRState_Ready_Alert = 4, - EVRState_VRState_NotReady = 5, - EVRState_VRState_Standby = 6, - EVRState_VRState_Ready_Alert_Low = 7, -} EVRState; - -typedef enum EVREventType -{ - EVREventType_VREvent_None = 0, - EVREventType_VREvent_TrackedDeviceActivated = 100, - EVREventType_VREvent_TrackedDeviceDeactivated = 101, - EVREventType_VREvent_TrackedDeviceUpdated = 102, - EVREventType_VREvent_TrackedDeviceUserInteractionStarted = 103, - EVREventType_VREvent_TrackedDeviceUserInteractionEnded = 104, - EVREventType_VREvent_IpdChanged = 105, - EVREventType_VREvent_EnterStandbyMode = 106, - EVREventType_VREvent_LeaveStandbyMode = 107, - EVREventType_VREvent_TrackedDeviceRoleChanged = 108, - EVREventType_VREvent_WatchdogWakeUpRequested = 109, - EVREventType_VREvent_LensDistortionChanged = 110, - EVREventType_VREvent_PropertyChanged = 111, - EVREventType_VREvent_WirelessDisconnect = 112, - EVREventType_VREvent_WirelessReconnect = 113, - EVREventType_VREvent_ButtonPress = 200, - EVREventType_VREvent_ButtonUnpress = 201, - EVREventType_VREvent_ButtonTouch = 202, - EVREventType_VREvent_ButtonUntouch = 203, - EVREventType_VREvent_MouseMove = 300, - EVREventType_VREvent_MouseButtonDown = 301, - EVREventType_VREvent_MouseButtonUp = 302, - EVREventType_VREvent_FocusEnter = 303, - 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, - EVREventType_VREvent_SceneFocusGained = 403, - EVREventType_VREvent_SceneApplicationChanged = 404, - EVREventType_VREvent_SceneFocusChanged = 405, - EVREventType_VREvent_InputFocusChanged = 406, - EVREventType_VREvent_SceneApplicationSecondaryRenderingStarted = 407, - EVREventType_VREvent_HideRenderModels = 410, - EVREventType_VREvent_ShowRenderModels = 411, - EVREventType_VREvent_OverlayShown = 500, - EVREventType_VREvent_OverlayHidden = 501, - EVREventType_VREvent_DashboardActivated = 502, - EVREventType_VREvent_DashboardDeactivated = 503, - EVREventType_VREvent_DashboardThumbSelected = 504, - EVREventType_VREvent_DashboardRequested = 505, - EVREventType_VREvent_ResetDashboard = 506, - EVREventType_VREvent_RenderToast = 507, - EVREventType_VREvent_ImageLoaded = 508, - EVREventType_VREvent_ShowKeyboard = 509, - EVREventType_VREvent_HideKeyboard = 510, - EVREventType_VREvent_OverlayGamepadFocusGained = 511, - EVREventType_VREvent_OverlayGamepadFocusLost = 512, - EVREventType_VREvent_OverlaySharedTextureChanged = 513, - EVREventType_VREvent_DashboardGuideButtonDown = 514, - 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_PrimaryDashboardDeviceChanged = 525, - EVREventType_VREvent_Notification_Shown = 600, - EVREventType_VREvent_Notification_Hidden = 601, - EVREventType_VREvent_Notification_BeginInteraction = 602, - EVREventType_VREvent_Notification_Destroyed = 603, - EVREventType_VREvent_Quit = 700, - EVREventType_VREvent_ProcessQuit = 701, - EVREventType_VREvent_QuitAborted_UserPrompt = 702, - EVREventType_VREvent_QuitAcknowledged = 703, - EVREventType_VREvent_DriverRequestedQuit = 704, - EVREventType_VREvent_ChaperoneDataHasChanged = 800, - EVREventType_VREvent_ChaperoneUniverseHasChanged = 801, - EVREventType_VREvent_ChaperoneTempDataHasChanged = 802, - EVREventType_VREvent_ChaperoneSettingsHaveChanged = 803, - EVREventType_VREvent_SeatedZeroPoseReset = 804, - EVREventType_VREvent_AudioSettingsHaveChanged = 820, - EVREventType_VREvent_BackgroundSettingHasChanged = 850, - EVREventType_VREvent_CameraSettingsHaveChanged = 851, - EVREventType_VREvent_ReprojectionSettingHasChanged = 852, - EVREventType_VREvent_ModelSkinSettingsHaveChanged = 853, - EVREventType_VREvent_EnvironmentSettingsHaveChanged = 854, - EVREventType_VREvent_PowerSettingsHaveChanged = 855, - EVREventType_VREvent_EnableHomeAppSettingsHaveChanged = 856, - EVREventType_VREvent_StatusUpdate = 900, - EVREventType_VREvent_MCImageUpdated = 1000, - EVREventType_VREvent_FirmwareUpdateStarted = 1100, - EVREventType_VREvent_FirmwareUpdateFinished = 1101, - EVREventType_VREvent_KeyboardClosed = 1200, - EVREventType_VREvent_KeyboardCharInput = 1201, - EVREventType_VREvent_KeyboardDone = 1202, - EVREventType_VREvent_ApplicationTransitionStarted = 1300, - EVREventType_VREvent_ApplicationTransitionAborted = 1301, - EVREventType_VREvent_ApplicationTransitionNewAppStarted = 1302, - EVREventType_VREvent_ApplicationListUpdated = 1303, - EVREventType_VREvent_ApplicationMimeTypeLoad = 1304, - EVREventType_VREvent_ApplicationTransitionNewAppLaunchComplete = 1305, - EVREventType_VREvent_ProcessConnected = 1306, - EVREventType_VREvent_ProcessDisconnected = 1307, - EVREventType_VREvent_Compositor_MirrorWindowShown = 1400, - EVREventType_VREvent_Compositor_MirrorWindowHidden = 1401, - EVREventType_VREvent_Compositor_ChaperoneBoundsShown = 1410, - EVREventType_VREvent_Compositor_ChaperoneBoundsHidden = 1411, - EVREventType_VREvent_TrackedCamera_StartVideoStream = 1500, - 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, - EVREventType_VREvent_MessageOverlay_Closed = 1650, - EVREventType_VREvent_MessageOverlayCloseRequested = 1651, - EVREventType_VREvent_VendorSpecific_Reserved_Start = 10000, - EVREventType_VREvent_VendorSpecific_Reserved_End = 19999, -} EVREventType; - -typedef enum EDeviceActivityLevel -{ - EDeviceActivityLevel_k_EDeviceActivityLevel_Unknown = -1, - EDeviceActivityLevel_k_EDeviceActivityLevel_Idle = 0, - EDeviceActivityLevel_k_EDeviceActivityLevel_UserInteraction = 1, - EDeviceActivityLevel_k_EDeviceActivityLevel_UserInteraction_Timeout = 2, - EDeviceActivityLevel_k_EDeviceActivityLevel_Standby = 3, -} EDeviceActivityLevel; - -typedef enum EVRButtonId -{ - EVRButtonId_k_EButton_System = 0, - EVRButtonId_k_EButton_ApplicationMenu = 1, - EVRButtonId_k_EButton_Grip = 2, - EVRButtonId_k_EButton_DPad_Left = 3, - EVRButtonId_k_EButton_DPad_Up = 4, - 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, - EVRButtonId_k_EButton_Axis3 = 35, - EVRButtonId_k_EButton_Axis4 = 36, - EVRButtonId_k_EButton_SteamVR_Touchpad = 32, - EVRButtonId_k_EButton_SteamVR_Trigger = 33, - EVRButtonId_k_EButton_Dashboard_Back = 2, - EVRButtonId_k_EButton_Max = 64, -} EVRButtonId; - -typedef enum EVRMouseButton -{ - EVRMouseButton_VRMouseButton_Left = 1, - EVRMouseButton_VRMouseButton_Right = 2, - EVRMouseButton_VRMouseButton_Middle = 4, -} EVRMouseButton; - -typedef enum EHiddenAreaMeshType -{ - EHiddenAreaMeshType_k_eHiddenAreaMesh_Standard = 0, - EHiddenAreaMeshType_k_eHiddenAreaMesh_Inverse = 1, - EHiddenAreaMeshType_k_eHiddenAreaMesh_LineLoop = 2, - EHiddenAreaMeshType_k_eHiddenAreaMesh_Max = 3, -} EHiddenAreaMeshType; - -typedef enum EVRControllerAxisType -{ - EVRControllerAxisType_k_eControllerAxis_None = 0, - EVRControllerAxisType_k_eControllerAxis_TrackPad = 1, - EVRControllerAxisType_k_eControllerAxis_Joystick = 2, - EVRControllerAxisType_k_eControllerAxis_Trigger = 3, -} EVRControllerAxisType; - -typedef enum EVRControllerEventOutputType -{ - EVRControllerEventOutputType_ControllerEventOutput_OSEvents = 0, - EVRControllerEventOutputType_ControllerEventOutput_VREvents = 1, -} EVRControllerEventOutputType; - -typedef enum ECollisionBoundsStyle -{ - ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_BEGINNER = 0, - ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_INTERMEDIATE = 1, - ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_SQUARES = 2, - ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_ADVANCED = 3, - ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_NONE = 4, - ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_COUNT = 5, -} ECollisionBoundsStyle; - -typedef enum EVROverlayError -{ - EVROverlayError_VROverlayError_None = 0, - EVROverlayError_VROverlayError_UnknownOverlay = 10, - EVROverlayError_VROverlayError_InvalidHandle = 11, - EVROverlayError_VROverlayError_PermissionDenied = 12, - EVROverlayError_VROverlayError_OverlayLimitExceeded = 13, - EVROverlayError_VROverlayError_WrongVisibilityType = 14, - EVROverlayError_VROverlayError_KeyTooLong = 15, - EVROverlayError_VROverlayError_NameTooLong = 16, - EVROverlayError_VROverlayError_KeyInUse = 17, - EVROverlayError_VROverlayError_WrongTransformType = 18, - EVROverlayError_VROverlayError_InvalidTrackedDevice = 19, - EVROverlayError_VROverlayError_InvalidParameter = 20, - EVROverlayError_VROverlayError_ThumbnailCantBeDestroyed = 21, - EVROverlayError_VROverlayError_ArrayTooSmall = 22, - EVROverlayError_VROverlayError_RequestFailed = 23, - EVROverlayError_VROverlayError_InvalidTexture = 24, - EVROverlayError_VROverlayError_UnableToLoadFile = 25, - EVROverlayError_VROverlayError_KeyboardAlreadyInUse = 26, - EVROverlayError_VROverlayError_NoNeighbor = 27, - EVROverlayError_VROverlayError_TooManyMaskPrimitives = 29, - EVROverlayError_VROverlayError_BadMaskPrimitive = 30, -} EVROverlayError; - -typedef enum EVRApplicationType -{ - EVRApplicationType_VRApplication_Other = 0, - EVRApplicationType_VRApplication_Scene = 1, - EVRApplicationType_VRApplication_Overlay = 2, - EVRApplicationType_VRApplication_Background = 3, - EVRApplicationType_VRApplication_Utility = 4, - EVRApplicationType_VRApplication_VRMonitor = 5, - EVRApplicationType_VRApplication_SteamWatchdog = 6, - EVRApplicationType_VRApplication_Bootstrapper = 7, - EVRApplicationType_VRApplication_Max = 8, -} EVRApplicationType; - -typedef enum EVRFirmwareError -{ - EVRFirmwareError_VRFirmwareError_None = 0, - EVRFirmwareError_VRFirmwareError_Success = 1, - EVRFirmwareError_VRFirmwareError_Fail = 2, -} EVRFirmwareError; - -typedef enum EVRNotificationError -{ - EVRNotificationError_VRNotificationError_OK = 0, - EVRNotificationError_VRNotificationError_InvalidNotificationId = 100, - EVRNotificationError_VRNotificationError_NotificationQueueFull = 101, - EVRNotificationError_VRNotificationError_InvalidOverlayHandle = 102, - EVRNotificationError_VRNotificationError_SystemWithUserValueAlreadyExists = 103, -} EVRNotificationError; - -typedef enum EVRInitError -{ - EVRInitError_VRInitError_None = 0, - EVRInitError_VRInitError_Unknown = 1, - EVRInitError_VRInitError_Init_InstallationNotFound = 100, - EVRInitError_VRInitError_Init_InstallationCorrupt = 101, - EVRInitError_VRInitError_Init_VRClientDLLNotFound = 102, - EVRInitError_VRInitError_Init_FileNotFound = 103, - EVRInitError_VRInitError_Init_FactoryNotFound = 104, - EVRInitError_VRInitError_Init_InterfaceNotFound = 105, - EVRInitError_VRInitError_Init_InvalidInterface = 106, - EVRInitError_VRInitError_Init_UserConfigDirectoryInvalid = 107, - EVRInitError_VRInitError_Init_HmdNotFound = 108, - EVRInitError_VRInitError_Init_NotInitialized = 109, - EVRInitError_VRInitError_Init_PathRegistryNotFound = 110, - EVRInitError_VRInitError_Init_NoConfigPath = 111, - EVRInitError_VRInitError_Init_NoLogPath = 112, - EVRInitError_VRInitError_Init_PathRegistryNotWritable = 113, - EVRInitError_VRInitError_Init_AppInfoInitFailed = 114, - EVRInitError_VRInitError_Init_Retry = 115, - EVRInitError_VRInitError_Init_InitCanceledByUser = 116, - EVRInitError_VRInitError_Init_AnotherAppLaunching = 117, - EVRInitError_VRInitError_Init_SettingsInitFailed = 118, - EVRInitError_VRInitError_Init_ShuttingDown = 119, - EVRInitError_VRInitError_Init_TooManyObjects = 120, - EVRInitError_VRInitError_Init_NoServerForBackgroundApp = 121, - 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_Init_VRDashboardNotFound = 133, - EVRInitError_VRInitError_Init_VRDashboardStartupFailed = 134, - EVRInitError_VRInitError_Init_VRHomeNotFound = 135, - EVRInitError_VRInitError_Init_VRHomeStartupFailed = 136, - EVRInitError_VRInitError_Init_RebootingBusy = 137, - EVRInitError_VRInitError_Init_FirmwareUpdateBusy = 138, - EVRInitError_VRInitError_Init_FirmwareRecoveryBusy = 139, - EVRInitError_VRInitError_Driver_Failed = 200, - EVRInitError_VRInitError_Driver_Unknown = 201, - EVRInitError_VRInitError_Driver_HmdUnknown = 202, - EVRInitError_VRInitError_Driver_NotLoaded = 203, - EVRInitError_VRInitError_Driver_RuntimeOutOfDate = 204, - EVRInitError_VRInitError_Driver_HmdInUse = 205, - 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, - EVRInitError_VRInitError_Compositor_OverlayInitFailed = 403, - EVRInitError_VRInitError_Compositor_ScreenshotsInitFailed = 404, - EVRInitError_VRInitError_Compositor_UnableToCreateDevice = 405, - EVRInitError_VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000, - EVRInitError_VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102, - EVRInitError_VRInitError_VendorSpecific_HmdFound_NoStoredConfig = 1103, - EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigTooBig = 1104, - EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigTooSmall = 1105, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToInitZLib = 1106, - EVRInitError_VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion = 1107, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart = 1108, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart = 1109, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext = 1110, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataAddressRange = 1111, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataError = 1112, - EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113, - EVRInitError_VRInitError_Steam_SteamInstallationNotFound = 2000, -} EVRInitError; - -typedef enum EVRScreenshotType -{ - EVRScreenshotType_VRScreenshotType_None = 0, - EVRScreenshotType_VRScreenshotType_Mono = 1, - EVRScreenshotType_VRScreenshotType_Stereo = 2, - EVRScreenshotType_VRScreenshotType_Cubemap = 3, - EVRScreenshotType_VRScreenshotType_MonoPanorama = 4, - EVRScreenshotType_VRScreenshotType_StereoPanorama = 5, -} EVRScreenshotType; - -typedef enum EVRScreenshotPropertyFilenames -{ - EVRScreenshotPropertyFilenames_VRScreenshotPropertyFilenames_Preview = 0, - EVRScreenshotPropertyFilenames_VRScreenshotPropertyFilenames_VR = 1, -} EVRScreenshotPropertyFilenames; - -typedef enum EVRTrackedCameraError -{ - EVRTrackedCameraError_VRTrackedCameraError_None = 0, - EVRTrackedCameraError_VRTrackedCameraError_OperationFailed = 100, - EVRTrackedCameraError_VRTrackedCameraError_InvalidHandle = 101, - EVRTrackedCameraError_VRTrackedCameraError_InvalidFrameHeaderVersion = 102, - EVRTrackedCameraError_VRTrackedCameraError_OutOfHandles = 103, - EVRTrackedCameraError_VRTrackedCameraError_IPCFailure = 104, - EVRTrackedCameraError_VRTrackedCameraError_NotSupportedForThisDevice = 105, - EVRTrackedCameraError_VRTrackedCameraError_SharedMemoryFailure = 106, - EVRTrackedCameraError_VRTrackedCameraError_FrameBufferingFailure = 107, - EVRTrackedCameraError_VRTrackedCameraError_StreamSetupFailure = 108, - EVRTrackedCameraError_VRTrackedCameraError_InvalidGLTextureId = 109, - EVRTrackedCameraError_VRTrackedCameraError_InvalidSharedTextureHandle = 110, - EVRTrackedCameraError_VRTrackedCameraError_FailedToGetGLTextureId = 111, - EVRTrackedCameraError_VRTrackedCameraError_SharedTextureFailure = 112, - EVRTrackedCameraError_VRTrackedCameraError_NoFrameAvailable = 113, - EVRTrackedCameraError_VRTrackedCameraError_InvalidArgument = 114, - EVRTrackedCameraError_VRTrackedCameraError_InvalidFrameBufferSize = 115, -} EVRTrackedCameraError; - -typedef enum EVRTrackedCameraFrameType -{ - EVRTrackedCameraFrameType_VRTrackedCameraFrameType_Distorted = 0, - EVRTrackedCameraFrameType_VRTrackedCameraFrameType_Undistorted = 1, - EVRTrackedCameraFrameType_VRTrackedCameraFrameType_MaximumUndistorted = 2, - EVRTrackedCameraFrameType_MAX_CAMERA_FRAME_TYPES = 3, -} EVRTrackedCameraFrameType; - -typedef enum EVRApplicationError -{ - EVRApplicationError_VRApplicationError_None = 0, - EVRApplicationError_VRApplicationError_AppKeyAlreadyExists = 100, - EVRApplicationError_VRApplicationError_NoManifest = 101, - EVRApplicationError_VRApplicationError_NoApplication = 102, - EVRApplicationError_VRApplicationError_InvalidIndex = 103, - EVRApplicationError_VRApplicationError_UnknownApplication = 104, - EVRApplicationError_VRApplicationError_IPCFailed = 105, - EVRApplicationError_VRApplicationError_ApplicationAlreadyRunning = 106, - EVRApplicationError_VRApplicationError_InvalidManifest = 107, - EVRApplicationError_VRApplicationError_InvalidApplication = 108, - EVRApplicationError_VRApplicationError_LaunchFailed = 109, - EVRApplicationError_VRApplicationError_ApplicationAlreadyStarting = 110, - EVRApplicationError_VRApplicationError_LaunchInProgress = 111, - EVRApplicationError_VRApplicationError_OldApplicationQuitting = 112, - EVRApplicationError_VRApplicationError_TransitionAborted = 113, - EVRApplicationError_VRApplicationError_IsTemplate = 114, - EVRApplicationError_VRApplicationError_SteamVRIsExiting = 115, - EVRApplicationError_VRApplicationError_BufferTooSmall = 200, - EVRApplicationError_VRApplicationError_PropertyNotSet = 201, - EVRApplicationError_VRApplicationError_UnknownProperty = 202, - EVRApplicationError_VRApplicationError_InvalidParameter = 203, -} EVRApplicationError; - -typedef enum EVRApplicationProperty -{ - EVRApplicationProperty_VRApplicationProperty_Name_String = 0, - EVRApplicationProperty_VRApplicationProperty_LaunchType_String = 11, - EVRApplicationProperty_VRApplicationProperty_WorkingDirectory_String = 12, - EVRApplicationProperty_VRApplicationProperty_BinaryPath_String = 13, - EVRApplicationProperty_VRApplicationProperty_Arguments_String = 14, - EVRApplicationProperty_VRApplicationProperty_URL_String = 15, - EVRApplicationProperty_VRApplicationProperty_Description_String = 50, - EVRApplicationProperty_VRApplicationProperty_NewsURL_String = 51, - EVRApplicationProperty_VRApplicationProperty_ImagePath_String = 52, - EVRApplicationProperty_VRApplicationProperty_Source_String = 53, - EVRApplicationProperty_VRApplicationProperty_IsDashboardOverlay_Bool = 60, - EVRApplicationProperty_VRApplicationProperty_IsTemplate_Bool = 61, - EVRApplicationProperty_VRApplicationProperty_IsInstanced_Bool = 62, - EVRApplicationProperty_VRApplicationProperty_IsInternal_Bool = 63, - EVRApplicationProperty_VRApplicationProperty_WantsCompositorPauseInStandby_Bool = 64, - EVRApplicationProperty_VRApplicationProperty_LastLaunchTime_Uint64 = 70, -} EVRApplicationProperty; - -typedef enum EVRApplicationTransitionState -{ - EVRApplicationTransitionState_VRApplicationTransition_None = 0, - EVRApplicationTransitionState_VRApplicationTransition_OldAppQuitSent = 10, - EVRApplicationTransitionState_VRApplicationTransition_WaitingForExternalLaunch = 11, - EVRApplicationTransitionState_VRApplicationTransition_NewAppLaunched = 20, -} EVRApplicationTransitionState; - -typedef enum ChaperoneCalibrationState -{ - ChaperoneCalibrationState_OK = 1, - ChaperoneCalibrationState_Warning = 100, - ChaperoneCalibrationState_Warning_BaseStationMayHaveMoved = 101, - ChaperoneCalibrationState_Warning_BaseStationRemoved = 102, - ChaperoneCalibrationState_Warning_SeatedBoundsInvalid = 103, - ChaperoneCalibrationState_Error = 200, - ChaperoneCalibrationState_Error_BaseStationUninitialized = 201, - ChaperoneCalibrationState_Error_BaseStationConflict = 202, - ChaperoneCalibrationState_Error_PlayAreaInvalid = 203, - ChaperoneCalibrationState_Error_CollisionBoundsInvalid = 204, -} ChaperoneCalibrationState; - -typedef enum EChaperoneConfigFile -{ - EChaperoneConfigFile_Live = 1, - EChaperoneConfigFile_Temp = 2, -} EChaperoneConfigFile; - -typedef enum EChaperoneImportFlags -{ - EChaperoneImportFlags_EChaperoneImport_BoundsOnly = 1, -} EChaperoneImportFlags; - -typedef enum EVRCompositorError -{ - EVRCompositorError_VRCompositorError_None = 0, - EVRCompositorError_VRCompositorError_RequestFailed = 1, - EVRCompositorError_VRCompositorError_IncompatibleVersion = 100, - EVRCompositorError_VRCompositorError_DoNotHaveFocus = 101, - EVRCompositorError_VRCompositorError_InvalidTexture = 102, - EVRCompositorError_VRCompositorError_IsNotSceneApplication = 103, - EVRCompositorError_VRCompositorError_TextureIsOnWrongDevice = 104, - EVRCompositorError_VRCompositorError_TextureUsesUnsupportedFormat = 105, - EVRCompositorError_VRCompositorError_SharedTexturesNotSupported = 106, - EVRCompositorError_VRCompositorError_IndexOutOfRange = 107, - EVRCompositorError_VRCompositorError_AlreadySubmitted = 108, - EVRCompositorError_VRCompositorError_InvalidBounds = 109, -} EVRCompositorError; - -typedef enum VROverlayInputMethod -{ - VROverlayInputMethod_None = 0, - VROverlayInputMethod_Mouse = 1, -} VROverlayInputMethod; - -typedef enum VROverlayTransformType -{ - VROverlayTransformType_VROverlayTransform_Absolute = 0, - VROverlayTransformType_VROverlayTransform_TrackedDeviceRelative = 1, - VROverlayTransformType_VROverlayTransform_SystemOverlay = 2, - VROverlayTransformType_VROverlayTransform_TrackedComponent = 3, -} VROverlayTransformType; - -typedef enum VROverlayFlags -{ - VROverlayFlags_None = 0, - VROverlayFlags_Curved = 1, - VROverlayFlags_RGSS4X = 2, - VROverlayFlags_NoDashboardTab = 3, - VROverlayFlags_AcceptsGamepadEvents = 4, - VROverlayFlags_ShowGamepadFocus = 5, - VROverlayFlags_SendVRScrollEvents = 6, - VROverlayFlags_SendVRTouchpadEvents = 7, - VROverlayFlags_ShowTouchPadScrollWheel = 8, - VROverlayFlags_TransferOwnershipToInternalProcess = 9, - VROverlayFlags_SideBySide_Parallel = 10, - VROverlayFlags_SideBySide_Crossed = 11, - VROverlayFlags_Panorama = 12, - VROverlayFlags_StereoPanorama = 13, - VROverlayFlags_SortWithNonSceneOverlays = 14, - VROverlayFlags_VisibleInDashboard = 15, -} VROverlayFlags; - -typedef enum VRMessageOverlayResponse -{ - VRMessageOverlayResponse_ButtonPress_0 = 0, - VRMessageOverlayResponse_ButtonPress_1 = 1, - VRMessageOverlayResponse_ButtonPress_2 = 2, - VRMessageOverlayResponse_ButtonPress_3 = 3, - VRMessageOverlayResponse_CouldntFindSystemOverlay = 4, - VRMessageOverlayResponse_CouldntFindOrCreateClientOverlay = 5, - VRMessageOverlayResponse_ApplicationQuit = 6, -} VRMessageOverlayResponse; - -typedef enum EGamepadTextInputMode -{ - EGamepadTextInputMode_k_EGamepadTextInputModeNormal = 0, - EGamepadTextInputMode_k_EGamepadTextInputModePassword = 1, - EGamepadTextInputMode_k_EGamepadTextInputModeSubmit = 2, -} EGamepadTextInputMode; - -typedef enum EGamepadTextInputLineMode -{ - EGamepadTextInputLineMode_k_EGamepadTextInputLineModeSingleLine = 0, - EGamepadTextInputLineMode_k_EGamepadTextInputLineModeMultipleLines = 1, -} EGamepadTextInputLineMode; - -typedef enum EOverlayDirection -{ - EOverlayDirection_OverlayDirection_Up = 0, - EOverlayDirection_OverlayDirection_Down = 1, - EOverlayDirection_OverlayDirection_Left = 2, - EOverlayDirection_OverlayDirection_Right = 3, - EOverlayDirection_OverlayDirection_Count = 4, -} EOverlayDirection; - -typedef enum EVROverlayIntersectionMaskPrimitiveType -{ - EVROverlayIntersectionMaskPrimitiveType_OverlayIntersectionPrimitiveType_Rectangle = 0, - EVROverlayIntersectionMaskPrimitiveType_OverlayIntersectionPrimitiveType_Circle = 1, -} EVROverlayIntersectionMaskPrimitiveType; - -typedef enum EVRRenderModelError -{ - EVRRenderModelError_VRRenderModelError_None = 0, - EVRRenderModelError_VRRenderModelError_Loading = 100, - EVRRenderModelError_VRRenderModelError_NotSupported = 200, - EVRRenderModelError_VRRenderModelError_InvalidArg = 300, - EVRRenderModelError_VRRenderModelError_InvalidModel = 301, - EVRRenderModelError_VRRenderModelError_NoShapes = 302, - EVRRenderModelError_VRRenderModelError_MultipleShapes = 303, - EVRRenderModelError_VRRenderModelError_TooManyVertices = 304, - EVRRenderModelError_VRRenderModelError_MultipleTextures = 305, - EVRRenderModelError_VRRenderModelError_BufferTooSmall = 306, - EVRRenderModelError_VRRenderModelError_NotEnoughNormals = 307, - EVRRenderModelError_VRRenderModelError_NotEnoughTexCoords = 308, - EVRRenderModelError_VRRenderModelError_InvalidTexture = 400, -} EVRRenderModelError; - -typedef enum EVRComponentProperty -{ - EVRComponentProperty_VRComponentProperty_IsStatic = 1, - EVRComponentProperty_VRComponentProperty_IsVisible = 2, - EVRComponentProperty_VRComponentProperty_IsTouched = 4, - EVRComponentProperty_VRComponentProperty_IsPressed = 8, - EVRComponentProperty_VRComponentProperty_IsScrolled = 16, -} EVRComponentProperty; - -typedef enum EVRNotificationType -{ - EVRNotificationType_Transient = 0, - EVRNotificationType_Persistent = 1, - EVRNotificationType_Transient_SystemWithUserValue = 2, -} EVRNotificationType; - -typedef enum EVRNotificationStyle -{ - EVRNotificationStyle_None = 0, - EVRNotificationStyle_Application = 100, - EVRNotificationStyle_Contact_Disabled = 200, - EVRNotificationStyle_Contact_Enabled = 201, - EVRNotificationStyle_Contact_Active = 202, -} EVRNotificationStyle; - -typedef enum EVRSettingsError -{ - EVRSettingsError_VRSettingsError_None = 0, - EVRSettingsError_VRSettingsError_IPCFailed = 1, - EVRSettingsError_VRSettingsError_WriteFailed = 2, - EVRSettingsError_VRSettingsError_ReadFailed = 3, - EVRSettingsError_VRSettingsError_JsonParseFailed = 4, - EVRSettingsError_VRSettingsError_UnsetSettingHasNoDefault = 5, -} EVRSettingsError; - -typedef enum EVRScreenshotError -{ - EVRScreenshotError_VRScreenshotError_None = 0, - EVRScreenshotError_VRScreenshotError_RequestFailed = 1, - EVRScreenshotError_VRScreenshotError_IncompatibleVersion = 100, - EVRScreenshotError_VRScreenshotError_NotFound = 101, - EVRScreenshotError_VRScreenshotError_BufferTooSmall = 102, - EVRScreenshotError_VRScreenshotError_ScreenshotAlreadyInProgress = 108, -} EVRScreenshotError; - - -// OpenVR typedefs - -typedef uint32_t TrackedDeviceIndex_t; -typedef uint32_t VRNotificationId; -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 DriverId_t; -typedef uint32_t TrackedDeviceIndex_t; -typedef uint64_t PropertyContainerHandle_t; -typedef uint32_t PropertyTypeTag_t; -typedef uint64_t VROverlayHandle_t; -typedef uint64_t TrackedCameraHandle_t; -typedef uint32_t ScreenshotHandle_t; -typedef uint32_t VRComponentProperties; -typedef int32_t TextureID_t; -typedef uint32_t VRNotificationId; -typedef EVRInitError HmdError; -typedef EVREye Hmd_Eye; -typedef EColorSpace ColorSpace; -typedef ETrackingResult HmdTrackingResult; -typedef ETrackedDeviceClass TrackedDeviceClass; -typedef ETrackingUniverseOrigin TrackingUniverseOrigin; -typedef ETrackedDeviceProperty TrackedDeviceProperty; -typedef ETrackedPropertyError TrackedPropertyError; -typedef EVRSubmitFlags VRSubmitFlags_t; -typedef EVRState VRState_t; -typedef ECollisionBoundsStyle CollisionBoundsStyle_t; -typedef EVROverlayError VROverlayError; -typedef EVRFirmwareError VRFirmwareError; -typedef EVRCompositorError VRCompositorError; -typedef EVRScreenshotError VRScreenshotsError; - -// OpenVR Structs - -typedef struct HmdMatrix34_t -{ - float m[3][4]; //float[3][4] -} HmdMatrix34_t; - -typedef struct HmdMatrix44_t -{ - float m[4][4]; //float[4][4] -} HmdMatrix44_t; - -typedef struct HmdVector3_t -{ - float v[3]; //float[3] -} HmdVector3_t; - -typedef struct HmdVector4_t -{ - float v[4]; //float[4] -} HmdVector4_t; - -typedef struct HmdVector3d_t -{ - double v[3]; //double[3] -} HmdVector3d_t; - -typedef struct HmdVector2_t -{ - float v[2]; //float[2] -} HmdVector2_t; - -typedef struct HmdQuaternion_t -{ - double w; - double x; - double y; - double z; -} HmdQuaternion_t; - -typedef struct HmdColor_t -{ - float r; - float g; - float b; - float a; -} HmdColor_t; - -typedef struct HmdQuad_t -{ - struct HmdVector3_t vCorners[4]; //struct vr::HmdVector3_t[4] -} HmdQuad_t; - -typedef struct HmdRect2_t -{ - struct HmdVector2_t vTopLeft; - struct HmdVector2_t vBottomRight; -} HmdRect2_t; - -typedef struct DistortionCoordinates_t -{ - float rfRed[2]; //float[2] - float rfGreen[2]; //float[2] - float rfBlue[2]; //float[2] -} DistortionCoordinates_t; - -typedef struct Texture_t -{ - void * handle; // void * - enum ETextureType eType; - enum EColorSpace eColorSpace; -} Texture_t; - -typedef struct TrackedDevicePose_t -{ - struct HmdMatrix34_t mDeviceToAbsoluteTracking; - struct HmdVector3_t vVelocity; - struct HmdVector3_t vAngularVelocity; - enum ETrackingResult eTrackingResult; - bool bPoseIsValid; - bool bDeviceIsConnected; -} TrackedDevicePose_t; - -typedef struct VRTextureBounds_t -{ - float uMin; - float vMin; - float uMax; - float vMax; -} VRTextureBounds_t; - -typedef struct VRTextureWithPose_t -{ - struct HmdMatrix34_t mDeviceToAbsoluteTracking; -} VRTextureWithPose_t; - -typedef struct VRVulkanTextureData_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; -} VRVulkanTextureData_t; - -typedef struct D3D12TextureData_t -{ - struct ID3D12Resource * m_pResource; // struct ID3D12Resource * - struct ID3D12CommandQueue * m_pCommandQueue; // struct ID3D12CommandQueue * - uint32_t m_nNodeMask; -} D3D12TextureData_t; - -typedef struct VREvent_Controller_t -{ - uint32_t button; -} VREvent_Controller_t; - -typedef struct VREvent_Mouse_t -{ - float x; - float y; - uint32_t button; -} VREvent_Mouse_t; - -typedef struct VREvent_Scroll_t -{ - float xdelta; - float ydelta; - uint32_t repeatCount; -} VREvent_Scroll_t; - -typedef struct VREvent_TouchPadMove_t -{ - bool bFingerDown; - float flSecondsFingerDown; - float fValueXFirst; - float fValueYFirst; - float fValueXRaw; - float fValueYRaw; -} VREvent_TouchPadMove_t; - -typedef struct VREvent_Notification_t -{ - uint64_t ulUserValue; - uint32_t notificationId; -} VREvent_Notification_t; - -typedef struct VREvent_Process_t -{ - uint32_t pid; - uint32_t oldPid; - bool bForced; -} VREvent_Process_t; - -typedef struct VREvent_Overlay_t -{ - uint64_t overlayHandle; -} VREvent_Overlay_t; - -typedef struct VREvent_Status_t -{ - uint32_t statusState; -} VREvent_Status_t; - -typedef struct VREvent_Keyboard_t -{ - char * cNewInput[8]; //char[8] - uint64_t uUserValue; -} VREvent_Keyboard_t; - -typedef struct VREvent_Ipd_t -{ - float ipdMeters; -} VREvent_Ipd_t; - -typedef struct VREvent_Chaperone_t -{ - uint64_t m_nPreviousUniverse; - uint64_t m_nCurrentUniverse; -} VREvent_Chaperone_t; - -typedef struct VREvent_Reserved_t -{ - uint64_t reserved0; - uint64_t reserved1; -} VREvent_Reserved_t; - -typedef struct VREvent_PerformanceTest_t -{ - uint32_t m_nFidelityLevel; -} VREvent_PerformanceTest_t; - -typedef struct VREvent_SeatedZeroPoseReset_t -{ - bool bResetBySystemMenu; -} VREvent_SeatedZeroPoseReset_t; - -typedef struct VREvent_Screenshot_t -{ - uint32_t handle; - 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 VREvent_MessageOverlay_t -{ - uint32_t unVRMessageOverlayResponse; -} VREvent_MessageOverlay_t; - -typedef struct VREvent_Property_t -{ - PropertyContainerHandle_t container; - enum ETrackedDeviceProperty prop; -} VREvent_Property_t; - -typedef struct HiddenAreaMesh_t -{ - struct HmdVector2_t * pVertexData; // const struct vr::HmdVector2_t * - uint32_t unTriangleCount; -} HiddenAreaMesh_t; - -typedef struct VRControllerAxis_t -{ - float x; - float y; -} VRControllerAxis_t; - -typedef struct VRControllerState_t -{ - uint32_t unPacketNum; - uint64_t ulButtonPressed; - uint64_t ulButtonTouched; - struct VRControllerAxis_t rAxis[5]; //struct vr::VRControllerAxis_t[5] -} VRControllerState_t; - -typedef struct Compositor_OverlaySettings -{ - uint32_t size; - bool curved; - bool antialias; - float scale; - float distance; - float alpha; - float uOffset; - float vOffset; - float uScale; - float vScale; - float gridDivs; - float gridWidth; - float gridScale; - struct HmdMatrix44_t transform; -} Compositor_OverlaySettings; - -typedef struct CameraVideoStreamFrameHeader_t -{ - enum EVRTrackedCameraFrameType eFrameType; - uint32_t nWidth; - uint32_t nHeight; - uint32_t nBytesPerPixel; - uint32_t nFrameSequence; - struct TrackedDevicePose_t standingTrackedDevicePose; -} CameraVideoStreamFrameHeader_t; - -typedef struct AppOverrideKeys_t -{ - char * pchKey; // const char * - char * pchValue; // const char * -} AppOverrideKeys_t; - -typedef struct Compositor_FrameTiming -{ - uint32_t m_nSize; - uint32_t m_nFrameIndex; - uint32_t m_nNumFramePresents; - uint32_t m_nNumMisPresented; - uint32_t m_nNumDroppedFrames; - uint32_t m_nReprojectionFlags; - double m_flSystemTimeInSeconds; - float m_flPreSubmitGpuMs; - float m_flPostSubmitGpuMs; - float m_flTotalRenderGpuMs; - float m_flCompositorRenderGpuMs; - float m_flCompositorRenderCpuMs; - float m_flCompositorIdleCpuMs; - float m_flClientFrameIntervalMs; - float m_flPresentCallCpuMs; - float m_flWaitForPresentCpuMs; - float m_flSubmitFrameMs; - float m_flWaitGetPosesCalledMs; - float m_flNewPosesReadyMs; - float m_flNewFrameReadyMs; - float m_flCompositorUpdateStartMs; - float m_flCompositorUpdateEndMs; - float m_flCompositorRenderStartMs; - TrackedDevicePose_t m_HmdPose; -} Compositor_FrameTiming; - -typedef struct Compositor_CumulativeStats -{ - uint32_t m_nPid; - uint32_t m_nNumFramePresents; - uint32_t m_nNumDroppedFrames; - uint32_t m_nNumReprojectedFrames; - uint32_t m_nNumFramePresentsOnStartup; - uint32_t m_nNumDroppedFramesOnStartup; - uint32_t m_nNumReprojectedFramesOnStartup; - uint32_t m_nNumLoading; - uint32_t m_nNumFramePresentsLoading; - uint32_t m_nNumDroppedFramesLoading; - uint32_t m_nNumReprojectedFramesLoading; - uint32_t m_nNumTimedOut; - uint32_t m_nNumFramePresentsTimedOut; - uint32_t m_nNumDroppedFramesTimedOut; - uint32_t m_nNumReprojectedFramesTimedOut; -} Compositor_CumulativeStats; - -typedef struct VROverlayIntersectionParams_t -{ - struct HmdVector3_t vSource; - struct HmdVector3_t vDirection; - enum ETrackingUniverseOrigin eOrigin; -} VROverlayIntersectionParams_t; - -typedef struct VROverlayIntersectionResults_t -{ - struct HmdVector3_t vPoint; - struct HmdVector3_t vNormal; - struct HmdVector2_t vUVs; - float fDistance; -} VROverlayIntersectionResults_t; - -typedef struct IntersectionMaskRectangle_t -{ - float m_flTopLeftX; - float m_flTopLeftY; - float m_flWidth; - float m_flHeight; -} IntersectionMaskRectangle_t; - -typedef struct IntersectionMaskCircle_t -{ - float m_flCenterX; - float m_flCenterY; - float m_flRadius; -} IntersectionMaskCircle_t; - -typedef struct RenderModel_ComponentState_t -{ - struct HmdMatrix34_t mTrackingToComponentRenderModel; - struct HmdMatrix34_t mTrackingToComponentLocal; - VRComponentProperties uProperties; -} RenderModel_ComponentState_t; - -typedef struct RenderModel_Vertex_t -{ - struct HmdVector3_t vPosition; - struct HmdVector3_t vNormal; - float rfTextureCoord[2]; //float[2] -} RenderModel_Vertex_t; - -#if defined(__linux__) || defined(__APPLE__) -#pragma pack( push, 4 ) -#endif -typedef struct RenderModel_TextureMap_t -{ - uint16_t unWidth; - uint16_t unHeight; - uint8_t * rubTextureMapData; // const uint8_t * -} RenderModel_TextureMap_t; - -#if defined(__linux__) || defined(__APPLE__) -#pragma pack( pop ) -#endif -#if defined(__linux__) || defined(__APPLE__) -#pragma pack( push, 4 ) -#endif -typedef struct RenderModel_t -{ - struct RenderModel_Vertex_t * rVertexData; // const struct vr::RenderModel_Vertex_t * - uint32_t unVertexCount; - uint16_t * rIndexData; // const uint16_t * - uint32_t unTriangleCount; - TextureID_t diffuseTextureId; -} RenderModel_t; - -#if defined(__linux__) || defined(__APPLE__) -#pragma pack( pop ) -#endif -typedef struct RenderModel_ControllerMode_State_t -{ - bool bScrollWheelVisible; -} RenderModel_ControllerMode_State_t; - -typedef struct NotificationBitmap_t -{ - void * m_pImageData; // void * - int32_t m_nWidth; - int32_t m_nHeight; - int32_t m_nBytesPerPixel; -} NotificationBitmap_t; - -typedef struct COpenVRContext -{ - intptr_t m_pVRSystem; // class vr::IVRSystem * - intptr_t m_pVRChaperone; // class vr::IVRChaperone * - 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 * - intptr_t m_pVRApplications; // class vr::IVRApplications * - intptr_t m_pVRTrackedCamera; // class vr::IVRTrackedCamera * - intptr_t m_pVRScreenshots; // class vr::IVRScreenshots * - intptr_t m_pVRDriverManager; // class vr::IVRDriverManager * -} COpenVRContext; - - -typedef union -{ - VREvent_Reserved_t reserved; - VREvent_Controller_t controller; - VREvent_Mouse_t mouse; - VREvent_Scroll_t scroll; - VREvent_Process_t process; - VREvent_Notification_t notification; - VREvent_Overlay_t overlay; - VREvent_Status_t status; - VREvent_Keyboard_t keyboard; - VREvent_Ipd_t ipd; - VREvent_Chaperone_t chaperone; - VREvent_PerformanceTest_t performanceTest; - VREvent_TouchPadMove_t touchPadMove; - VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset; -} VREvent_Data_t; - -/** An event posted by the server to all running applications */ -struct VREvent_t -{ - uint32_t eventType; // EVREventType enum - TrackedDeviceIndex_t trackedDeviceIndex; - float eventAgeSeconds; - // event data must be the end of the struct as its size is variable - VREvent_Data_t data; -}; - - -typedef union -{ - IntersectionMaskRectangle_t m_Rectangle; - IntersectionMaskCircle_t m_Circle; -} VROverlayIntersectionMaskPrimitive_Data_t; - -struct VROverlayIntersectionMaskPrimitive_t -{ - EVROverlayIntersectionMaskPrimitiveType m_nPrimitiveType; - VROverlayIntersectionMaskPrimitive_Data_t m_Primitive; -}; - - -// OpenVR Function Pointer Tables - -struct VR_IVRSystem_FnTable -{ - void (OPENVR_FNTABLE_CALLTYPE *GetRecommendedRenderTargetSize)(uint32_t * pnWidth, uint32_t * pnHeight); - struct HmdMatrix44_t (OPENVR_FNTABLE_CALLTYPE *GetProjectionMatrix)(EVREye eEye, float fNearZ, float fFarZ); - void (OPENVR_FNTABLE_CALLTYPE *GetProjectionRaw)(EVREye eEye, float * pfLeft, float * pfRight, float * pfTop, float * pfBottom); - bool (OPENVR_FNTABLE_CALLTYPE *ComputeDistortion)(EVREye eEye, float fU, float fV, struct DistortionCoordinates_t * pDistortionCoordinates); - struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetEyeToHeadTransform)(EVREye eEye); - bool (OPENVR_FNTABLE_CALLTYPE *GetTimeSinceLastVsync)(float * pfSecondsSinceLastVsync, uint64_t * pulFrameCounter); - int32_t (OPENVR_FNTABLE_CALLTYPE *GetD3D9AdapterIndex)(); - void (OPENVR_FNTABLE_CALLTYPE *GetDXGIOutputInfo)(int32_t * pnAdapterIndex); - void (OPENVR_FNTABLE_CALLTYPE *GetOutputDevice)(uint64_t * pnDevice, ETextureType textureType, struct VkInstance_T * pInstance); - bool (OPENVR_FNTABLE_CALLTYPE *IsDisplayOnDesktop)(); - bool (OPENVR_FNTABLE_CALLTYPE *SetDisplayVisibility)(bool bIsVisibleOnDesktop); - void (OPENVR_FNTABLE_CALLTYPE *GetDeviceToAbsoluteTrackingPose)(ETrackingUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow, struct TrackedDevicePose_t * pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount); - void (OPENVR_FNTABLE_CALLTYPE *ResetSeatedZeroPose)(); - struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetSeatedZeroPoseToStandingAbsoluteTrackingPose)(); - struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetRawZeroPoseToStandingAbsoluteTrackingPose)(); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetSortedTrackedDeviceIndicesOfClass)(ETrackedDeviceClass eTrackedDeviceClass, TrackedDeviceIndex_t * punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, TrackedDeviceIndex_t unRelativeToTrackedDeviceIndex); - EDeviceActivityLevel (OPENVR_FNTABLE_CALLTYPE *GetTrackedDeviceActivityLevel)(TrackedDeviceIndex_t unDeviceId); - void (OPENVR_FNTABLE_CALLTYPE *ApplyTransform)(struct TrackedDevicePose_t * pOutputPose, struct TrackedDevicePose_t * pTrackedDevicePose, struct HmdMatrix34_t * pTransform); - TrackedDeviceIndex_t (OPENVR_FNTABLE_CALLTYPE *GetTrackedDeviceIndexForControllerRole)(ETrackedControllerRole unDeviceType); - ETrackedControllerRole (OPENVR_FNTABLE_CALLTYPE *GetControllerRoleForTrackedDeviceIndex)(TrackedDeviceIndex_t unDeviceIndex); - ETrackedDeviceClass (OPENVR_FNTABLE_CALLTYPE *GetTrackedDeviceClass)(TrackedDeviceIndex_t unDeviceIndex); - bool (OPENVR_FNTABLE_CALLTYPE *IsTrackedDeviceConnected)(TrackedDeviceIndex_t unDeviceIndex); - bool (OPENVR_FNTABLE_CALLTYPE *GetBoolTrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError); - float (OPENVR_FNTABLE_CALLTYPE *GetFloatTrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError); - int32_t (OPENVR_FNTABLE_CALLTYPE *GetInt32TrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError); - uint64_t (OPENVR_FNTABLE_CALLTYPE *GetUint64TrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError); - struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetMatrix34TrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetStringTrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, char * pchValue, uint32_t unBufferSize, ETrackedPropertyError * pError); - char * (OPENVR_FNTABLE_CALLTYPE *GetPropErrorNameFromEnum)(ETrackedPropertyError error); - bool (OPENVR_FNTABLE_CALLTYPE *PollNextEvent)(struct VREvent_t * pEvent, uint32_t uncbVREvent); - bool (OPENVR_FNTABLE_CALLTYPE *PollNextEventWithPose)(ETrackingUniverseOrigin eOrigin, struct VREvent_t * pEvent, uint32_t uncbVREvent, TrackedDevicePose_t * pTrackedDevicePose); - char * (OPENVR_FNTABLE_CALLTYPE *GetEventTypeNameFromEnum)(EVREventType eType); - struct HiddenAreaMesh_t (OPENVR_FNTABLE_CALLTYPE *GetHiddenAreaMesh)(EVREye eEye, EHiddenAreaMeshType type); - bool (OPENVR_FNTABLE_CALLTYPE *GetControllerState)(TrackedDeviceIndex_t unControllerDeviceIndex, VRControllerState_t * pControllerState, uint32_t unControllerStateSize); - bool (OPENVR_FNTABLE_CALLTYPE *GetControllerStateWithPose)(ETrackingUniverseOrigin eOrigin, TrackedDeviceIndex_t unControllerDeviceIndex, VRControllerState_t * pControllerState, uint32_t unControllerStateSize, struct TrackedDevicePose_t * pTrackedDevicePose); - void (OPENVR_FNTABLE_CALLTYPE *TriggerHapticPulse)(TrackedDeviceIndex_t unControllerDeviceIndex, uint32_t unAxisId, unsigned short usDurationMicroSec); - char * (OPENVR_FNTABLE_CALLTYPE *GetButtonIdNameFromEnum)(EVRButtonId eButtonId); - char * (OPENVR_FNTABLE_CALLTYPE *GetControllerAxisTypeNameFromEnum)(EVRControllerAxisType eAxisType); - bool (OPENVR_FNTABLE_CALLTYPE *CaptureInputFocus)(); - void (OPENVR_FNTABLE_CALLTYPE *ReleaseInputFocus)(); - bool (OPENVR_FNTABLE_CALLTYPE *IsInputFocusCapturedByAnotherProcess)(); - uint32_t (OPENVR_FNTABLE_CALLTYPE *DriverDebugRequest)(TrackedDeviceIndex_t unDeviceIndex, char * pchRequest, char * pchResponseBuffer, uint32_t unResponseBufferSize); - EVRFirmwareError (OPENVR_FNTABLE_CALLTYPE *PerformFirmwareUpdate)(TrackedDeviceIndex_t unDeviceIndex); - void (OPENVR_FNTABLE_CALLTYPE *AcknowledgeQuit_Exiting)(); - void (OPENVR_FNTABLE_CALLTYPE *AcknowledgeQuit_UserPrompt)(); -}; - -struct VR_IVRExtendedDisplay_FnTable -{ - void (OPENVR_FNTABLE_CALLTYPE *GetWindowBounds)(int32_t * pnX, int32_t * pnY, uint32_t * pnWidth, uint32_t * pnHeight); - void (OPENVR_FNTABLE_CALLTYPE *GetEyeOutputViewport)(EVREye eEye, uint32_t * pnX, uint32_t * pnY, uint32_t * pnWidth, uint32_t * pnHeight); - void (OPENVR_FNTABLE_CALLTYPE *GetDXGIOutputInfo)(int32_t * pnAdapterIndex, int32_t * pnAdapterOutputIndex); -}; - -struct VR_IVRTrackedCamera_FnTable -{ - char * (OPENVR_FNTABLE_CALLTYPE *GetCameraErrorNameFromEnum)(EVRTrackedCameraError eCameraError); - EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *HasCamera)(TrackedDeviceIndex_t nDeviceIndex, bool * pHasCamera); - EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetCameraFrameSize)(TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, uint32_t * pnWidth, uint32_t * pnHeight, uint32_t * pnFrameBufferSize); - EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetCameraIntrinsics)(TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, HmdVector2_t * pFocalLength, HmdVector2_t * pCenter); - EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetCameraProjection)(TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, float flZNear, float flZFar, HmdMatrix44_t * pProjection); - 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 -{ - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *AddApplicationManifest)(char * pchApplicationManifestFullPath, bool bTemporary); - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *RemoveApplicationManifest)(char * pchApplicationManifestFullPath); - bool (OPENVR_FNTABLE_CALLTYPE *IsApplicationInstalled)(char * pchAppKey); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationCount)(); - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *GetApplicationKeyByIndex)(uint32_t unApplicationIndex, char * pchAppKeyBuffer, uint32_t unAppKeyBufferLen); - 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); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationProcessId)(char * pchAppKey); - char * (OPENVR_FNTABLE_CALLTYPE *GetApplicationsErrorNameFromEnum)(EVRApplicationError error); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationPropertyString)(char * pchAppKey, EVRApplicationProperty eProperty, char * pchPropertyValueBuffer, uint32_t unPropertyValueBufferLen, EVRApplicationError * peError); - bool (OPENVR_FNTABLE_CALLTYPE *GetApplicationPropertyBool)(char * pchAppKey, EVRApplicationProperty eProperty, EVRApplicationError * peError); - 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); - char * (OPENVR_FNTABLE_CALLTYPE *GetApplicationsTransitionStateNameFromEnum)(EVRApplicationTransitionState state); - bool (OPENVR_FNTABLE_CALLTYPE *IsQuitUserPromptRequested)(); - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchInternalProcess)(char * pchBinaryPath, char * pchArguments, char * pchWorkingDirectory); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetCurrentSceneProcessId)(); -}; - -struct VR_IVRChaperone_FnTable -{ - ChaperoneCalibrationState (OPENVR_FNTABLE_CALLTYPE *GetCalibrationState)(); - bool (OPENVR_FNTABLE_CALLTYPE *GetPlayAreaSize)(float * pSizeX, float * pSizeZ); - bool (OPENVR_FNTABLE_CALLTYPE *GetPlayAreaRect)(struct HmdQuad_t * rect); - void (OPENVR_FNTABLE_CALLTYPE *ReloadInfo)(); - void (OPENVR_FNTABLE_CALLTYPE *SetSceneColor)(struct HmdColor_t color); - void (OPENVR_FNTABLE_CALLTYPE *GetBoundsColor)(struct HmdColor_t * pOutputColorArray, int nNumOutputColors, float flCollisionBoundsFadeDistance, struct HmdColor_t * pOutputCameraColor); - bool (OPENVR_FNTABLE_CALLTYPE *AreBoundsVisible)(); - void (OPENVR_FNTABLE_CALLTYPE *ForceBoundsVisible)(bool bForce); -}; - -struct VR_IVRChaperoneSetup_FnTable -{ - bool (OPENVR_FNTABLE_CALLTYPE *CommitWorkingCopy)(EChaperoneConfigFile configFile); - void (OPENVR_FNTABLE_CALLTYPE *RevertWorkingCopy)(); - bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingPlayAreaSize)(float * pSizeX, float * pSizeZ); - bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingPlayAreaRect)(struct HmdQuad_t * rect); - bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingCollisionBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t * punQuadsCount); - bool (OPENVR_FNTABLE_CALLTYPE *GetLiveCollisionBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t * punQuadsCount); - bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingSeatedZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pmatSeatedZeroPoseToRawTrackingPose); - bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingStandingZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pmatStandingZeroPoseToRawTrackingPose); - void (OPENVR_FNTABLE_CALLTYPE *SetWorkingPlayAreaSize)(float sizeX, float sizeZ); - void (OPENVR_FNTABLE_CALLTYPE *SetWorkingCollisionBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t unQuadsCount); - void (OPENVR_FNTABLE_CALLTYPE *SetWorkingSeatedZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pMatSeatedZeroPoseToRawTrackingPose); - void (OPENVR_FNTABLE_CALLTYPE *SetWorkingStandingZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pMatStandingZeroPoseToRawTrackingPose); - void (OPENVR_FNTABLE_CALLTYPE *ReloadFromDisk)(EChaperoneConfigFile configFile); - bool (OPENVR_FNTABLE_CALLTYPE *GetLiveSeatedZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pmatSeatedZeroPoseToRawTrackingPose); - void (OPENVR_FNTABLE_CALLTYPE *SetWorkingCollisionBoundsTagsInfo)(uint8_t * pTagsBuffer, uint32_t unTagCount); - bool (OPENVR_FNTABLE_CALLTYPE *GetLiveCollisionBoundsTagsInfo)(uint8_t * pTagsBuffer, uint32_t * punTagCount); - bool (OPENVR_FNTABLE_CALLTYPE *SetWorkingPhysicalBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t unQuadsCount); - bool (OPENVR_FNTABLE_CALLTYPE *GetLivePhysicalBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t * punQuadsCount); - bool (OPENVR_FNTABLE_CALLTYPE *ExportLiveToBuffer)(char * pBuffer, uint32_t * pnBufferLength); - bool (OPENVR_FNTABLE_CALLTYPE *ImportFromBufferToWorking)(char * pBuffer, uint32_t nImportFlags); -}; - -struct VR_IVRCompositor_FnTable -{ - void (OPENVR_FNTABLE_CALLTYPE *SetTrackingSpace)(ETrackingUniverseOrigin eOrigin); - ETrackingUniverseOrigin (OPENVR_FNTABLE_CALLTYPE *GetTrackingSpace)(); - EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *WaitGetPoses)(struct TrackedDevicePose_t * pRenderPoseArray, uint32_t unRenderPoseArrayCount, struct TrackedDevicePose_t * pGamePoseArray, uint32_t unGamePoseArrayCount); - EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetLastPoses)(struct TrackedDevicePose_t * pRenderPoseArray, uint32_t unRenderPoseArrayCount, struct TrackedDevicePose_t * pGamePoseArray, uint32_t unGamePoseArrayCount); - EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetLastPoseForTrackedDeviceIndex)(TrackedDeviceIndex_t unDeviceIndex, struct TrackedDevicePose_t * pOutputPose, struct TrackedDevicePose_t * pOutputGamePose); - EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *Submit)(EVREye eEye, struct Texture_t * pTexture, struct VRTextureBounds_t * pBounds, EVRSubmitFlags nSubmitFlags); - void (OPENVR_FNTABLE_CALLTYPE *ClearLastSubmittedFrame)(); - void (OPENVR_FNTABLE_CALLTYPE *PostPresentHandoff)(); - bool (OPENVR_FNTABLE_CALLTYPE *GetFrameTiming)(struct Compositor_FrameTiming * pTiming, uint32_t unFramesAgo); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetFrameTimings)(struct Compositor_FrameTiming * pTiming, uint32_t nFrames); - float (OPENVR_FNTABLE_CALLTYPE *GetFrameTimeRemaining)(); - void (OPENVR_FNTABLE_CALLTYPE *GetCumulativeStats)(struct Compositor_CumulativeStats * pStats, uint32_t nStatsSizeInBytes); - void (OPENVR_FNTABLE_CALLTYPE *FadeToColor)(float fSeconds, float fRed, float fGreen, float fBlue, float fAlpha, bool bBackground); - struct HmdColor_t (OPENVR_FNTABLE_CALLTYPE *GetCurrentFadeColor)(bool bBackground); - void (OPENVR_FNTABLE_CALLTYPE *FadeGrid)(float fSeconds, bool bFadeIn); - float (OPENVR_FNTABLE_CALLTYPE *GetCurrentGridAlpha)(); - EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *SetSkyboxOverride)(struct Texture_t * pTextures, uint32_t unTextureCount); - void (OPENVR_FNTABLE_CALLTYPE *ClearSkyboxOverride)(); - void (OPENVR_FNTABLE_CALLTYPE *CompositorBringToFront)(); - void (OPENVR_FNTABLE_CALLTYPE *CompositorGoToBack)(); - void (OPENVR_FNTABLE_CALLTYPE *CompositorQuit)(); - bool (OPENVR_FNTABLE_CALLTYPE *IsFullscreen)(); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetCurrentSceneFocusProcess)(); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetLastFrameRenderer)(); - bool (OPENVR_FNTABLE_CALLTYPE *CanRenderScene)(); - void (OPENVR_FNTABLE_CALLTYPE *ShowMirrorWindow)(); - void (OPENVR_FNTABLE_CALLTYPE *HideMirrorWindow)(); - bool (OPENVR_FNTABLE_CALLTYPE *IsMirrorWindowVisible)(); - void (OPENVR_FNTABLE_CALLTYPE *CompositorDumpImages)(); - bool (OPENVR_FNTABLE_CALLTYPE *ShouldAppRenderWithLowResources)(); - void (OPENVR_FNTABLE_CALLTYPE *ForceInterleavedReprojectionOn)(bool bOverride); - void (OPENVR_FNTABLE_CALLTYPE *ForceReconnectProcess)(); - void (OPENVR_FNTABLE_CALLTYPE *SuspendRendering)(bool bSuspend); - EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetMirrorTextureD3D11)(EVREye eEye, void * pD3D11DeviceOrResource, void ** ppD3D11ShaderResourceView); - void (OPENVR_FNTABLE_CALLTYPE *ReleaseMirrorTextureD3D11)(void * pD3D11ShaderResourceView); - EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetMirrorTextureGL)(EVREye eEye, glUInt_t * pglTextureId, glSharedTextureHandle_t * pglSharedTextureHandle); - bool (OPENVR_FNTABLE_CALLTYPE *ReleaseSharedGLTexture)(glUInt_t glTextureId, glSharedTextureHandle_t glSharedTextureHandle); - void (OPENVR_FNTABLE_CALLTYPE *LockGLSharedTextureForAccess)(glSharedTextureHandle_t glSharedTextureHandle); - void (OPENVR_FNTABLE_CALLTYPE *UnlockGLSharedTextureForAccess)(glSharedTextureHandle_t glSharedTextureHandle); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetVulkanInstanceExtensionsRequired)(char * pchValue, uint32_t unBufferSize); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetVulkanDeviceExtensionsRequired)(struct VkPhysicalDevice_T * pPhysicalDevice, char * pchValue, uint32_t unBufferSize); - void (OPENVR_FNTABLE_CALLTYPE *SetExplicitTimingMode)(bool bExplicitTimingMode); - EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *SubmitExplicitTimingData)(); -}; - -struct VR_IVROverlay_FnTable -{ - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *FindOverlay)(char * pchOverlayKey, VROverlayHandle_t * pOverlayHandle); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *CreateOverlay)(char * pchOverlayKey, char * pchOverlayName, VROverlayHandle_t * pOverlayHandle); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *DestroyOverlay)(VROverlayHandle_t ulOverlayHandle); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetHighQualityOverlay)(VROverlayHandle_t ulOverlayHandle); - VROverlayHandle_t (OPENVR_FNTABLE_CALLTYPE *GetHighQualityOverlay)(); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetOverlayKey)(VROverlayHandle_t ulOverlayHandle, char * pchValue, uint32_t unBufferSize, EVROverlayError * pError); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetOverlayName)(VROverlayHandle_t ulOverlayHandle, char * pchValue, uint32_t unBufferSize, EVROverlayError * pError); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayName)(VROverlayHandle_t ulOverlayHandle, char * pchName); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayImageData)(VROverlayHandle_t ulOverlayHandle, void * pvBuffer, uint32_t unBufferSize, uint32_t * punWidth, uint32_t * punHeight); - char * (OPENVR_FNTABLE_CALLTYPE *GetOverlayErrorNameFromEnum)(EVROverlayError error); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayRenderingPid)(VROverlayHandle_t ulOverlayHandle, uint32_t unPID); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetOverlayRenderingPid)(VROverlayHandle_t ulOverlayHandle); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayFlag)(VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool bEnabled); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayFlag)(VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool * pbEnabled); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayColor)(VROverlayHandle_t ulOverlayHandle, float fRed, float fGreen, float fBlue); - 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); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayAutoCurveDistanceRangeInMeters)(VROverlayHandle_t ulOverlayHandle, float * pfMinDistanceInMeters, float * pfMaxDistanceInMeters); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTextureColorSpace)(VROverlayHandle_t ulOverlayHandle, EColorSpace eTextureColorSpace); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTextureColorSpace)(VROverlayHandle_t ulOverlayHandle, EColorSpace * peTextureColorSpace); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTextureBounds)(VROverlayHandle_t ulOverlayHandle, struct VRTextureBounds_t * pOverlayTextureBounds); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTextureBounds)(VROverlayHandle_t ulOverlayHandle, struct VRTextureBounds_t * pOverlayTextureBounds); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetOverlayRenderModel)(VROverlayHandle_t ulOverlayHandle, char * pchValue, uint32_t unBufferSize, struct HmdColor_t * pColor, EVROverlayError * pError); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayRenderModel)(VROverlayHandle_t ulOverlayHandle, char * pchRenderModel, struct HmdColor_t * pColor); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformType)(VROverlayHandle_t ulOverlayHandle, VROverlayTransformType * peTransformType); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTransformAbsolute)(VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, struct HmdMatrix34_t * pmatTrackingOriginToOverlayTransform); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformAbsolute)(VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin * peTrackingOrigin, struct HmdMatrix34_t * pmatTrackingOriginToOverlayTransform); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTransformTrackedDeviceRelative)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unTrackedDevice, struct HmdMatrix34_t * pmatTrackedDeviceToOverlayTransform); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformTrackedDeviceRelative)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t * punTrackedDevice, struct HmdMatrix34_t * pmatTrackedDeviceToOverlayTransform); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTransformTrackedDeviceComponent)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unDeviceIndex, char * pchComponentName); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformTrackedDeviceComponent)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t * punDeviceIndex, char * pchComponentName, uint32_t unComponentNameSize); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformOverlayRelative)(VROverlayHandle_t ulOverlayHandle, VROverlayHandle_t * ulOverlayHandleParent, struct HmdMatrix34_t * pmatParentOverlayToOverlayTransform); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTransformOverlayRelative)(VROverlayHandle_t ulOverlayHandle, VROverlayHandle_t ulOverlayHandleParent, struct HmdMatrix34_t * pmatParentOverlayToOverlayTransform); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ShowOverlay)(VROverlayHandle_t ulOverlayHandle); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *HideOverlay)(VROverlayHandle_t ulOverlayHandle); - bool (OPENVR_FNTABLE_CALLTYPE *IsOverlayVisible)(VROverlayHandle_t ulOverlayHandle); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetTransformForOverlayCoordinates)(VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, struct HmdVector2_t coordinatesInOverlay, struct HmdMatrix34_t * pmatTransform); - bool (OPENVR_FNTABLE_CALLTYPE *PollNextOverlayEvent)(VROverlayHandle_t ulOverlayHandle, struct VREvent_t * pEvent, uint32_t uncbVREvent); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayInputMethod)(VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod * peInputMethod); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayInputMethod)(VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod eInputMethod); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayMouseScale)(VROverlayHandle_t ulOverlayHandle, struct HmdVector2_t * pvecMouseScale); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayMouseScale)(VROverlayHandle_t ulOverlayHandle, struct HmdVector2_t * pvecMouseScale); - bool (OPENVR_FNTABLE_CALLTYPE *ComputeOverlayIntersection)(VROverlayHandle_t ulOverlayHandle, struct VROverlayIntersectionParams_t * pParams, struct VROverlayIntersectionResults_t * pResults); - bool (OPENVR_FNTABLE_CALLTYPE *HandleControllerOverlayInteractionAsMouse)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unControllerDeviceIndex); - bool (OPENVR_FNTABLE_CALLTYPE *IsHoverTargetOverlay)(VROverlayHandle_t ulOverlayHandle); - VROverlayHandle_t (OPENVR_FNTABLE_CALLTYPE *GetGamepadFocusOverlay)(); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetGamepadFocusOverlay)(VROverlayHandle_t ulNewFocusOverlay); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayNeighbor)(EOverlayDirection eDirection, VROverlayHandle_t ulFrom, VROverlayHandle_t ulTo); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *MoveGamepadFocusToNeighbor)(EOverlayDirection eDirection, VROverlayHandle_t ulFrom); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTexture)(VROverlayHandle_t ulOverlayHandle, struct Texture_t * pTexture); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ClearOverlayTexture)(VROverlayHandle_t ulOverlayHandle); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayRaw)(VROverlayHandle_t ulOverlayHandle, void * pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayFromFile)(VROverlayHandle_t ulOverlayHandle, char * pchFilePath); - 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); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ReleaseNativeOverlayHandle)(VROverlayHandle_t ulOverlayHandle, void * pNativeTextureHandle); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTextureSize)(VROverlayHandle_t ulOverlayHandle, uint32_t * pWidth, uint32_t * pHeight); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *CreateDashboardOverlay)(char * pchOverlayKey, char * pchOverlayFriendlyName, VROverlayHandle_t * pMainHandle, VROverlayHandle_t * pThumbnailHandle); - bool (OPENVR_FNTABLE_CALLTYPE *IsDashboardVisible)(); - bool (OPENVR_FNTABLE_CALLTYPE *IsActiveDashboardOverlay)(VROverlayHandle_t ulOverlayHandle); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetDashboardOverlaySceneProcess)(VROverlayHandle_t ulOverlayHandle, uint32_t unProcessId); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetDashboardOverlaySceneProcess)(VROverlayHandle_t ulOverlayHandle, uint32_t * punProcessId); - void (OPENVR_FNTABLE_CALLTYPE *ShowDashboard)(char * pchOverlayToShow); - TrackedDeviceIndex_t (OPENVR_FNTABLE_CALLTYPE *GetPrimaryDashboardDevice)(); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ShowKeyboard)(EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, char * pchDescription, uint32_t unCharMax, char * pchExistingText, bool bUseMinimalMode, uint64_t uUserValue); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ShowKeyboardForOverlay)(VROverlayHandle_t ulOverlayHandle, EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, char * pchDescription, uint32_t unCharMax, char * pchExistingText, bool bUseMinimalMode, uint64_t uUserValue); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetKeyboardText)(char * pchText, uint32_t cchText); - void (OPENVR_FNTABLE_CALLTYPE *HideKeyboard)(); - void (OPENVR_FNTABLE_CALLTYPE *SetKeyboardTransformAbsolute)(ETrackingUniverseOrigin eTrackingOrigin, struct HmdMatrix34_t * pmatTrackingOriginToKeyboardTransform); - void (OPENVR_FNTABLE_CALLTYPE *SetKeyboardPositionForOverlay)(VROverlayHandle_t ulOverlayHandle, struct HmdRect2_t avoidRect); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayIntersectionMask)(VROverlayHandle_t ulOverlayHandle, struct VROverlayIntersectionMaskPrimitive_t * pMaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayFlags)(VROverlayHandle_t ulOverlayHandle, uint32_t * pFlags); - VRMessageOverlayResponse (OPENVR_FNTABLE_CALLTYPE *ShowMessageOverlay)(char * pchText, char * pchCaption, char * pchButton0Text, char * pchButton1Text, char * pchButton2Text, char * pchButton3Text); - void (OPENVR_FNTABLE_CALLTYPE *CloseMessageOverlay)(); -}; - -struct VR_IVRRenderModels_FnTable -{ - EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadRenderModel_Async)(char * pchRenderModelName, struct RenderModel_t ** ppRenderModel); - void (OPENVR_FNTABLE_CALLTYPE *FreeRenderModel)(struct RenderModel_t * pRenderModel); - EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadTexture_Async)(TextureID_t textureId, struct RenderModel_TextureMap_t ** ppTexture); - void (OPENVR_FNTABLE_CALLTYPE *FreeTexture)(struct RenderModel_TextureMap_t * pTexture); - EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadTextureD3D11_Async)(TextureID_t textureId, void * pD3D11Device, void ** ppD3D11Texture2D); - EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadIntoTextureD3D11_Async)(TextureID_t textureId, void * pDstTexture); - void (OPENVR_FNTABLE_CALLTYPE *FreeTextureD3D11)(void * pD3D11Texture2D); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelName)(uint32_t unRenderModelIndex, char * pchRenderModelName, uint32_t unRenderModelNameLen); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelCount)(); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetComponentCount)(char * pchRenderModelName); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetComponentName)(char * pchRenderModelName, uint32_t unComponentIndex, char * pchComponentName, uint32_t unComponentNameLen); - uint64_t (OPENVR_FNTABLE_CALLTYPE *GetComponentButtonMask)(char * pchRenderModelName, char * pchComponentName); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetComponentRenderModelName)(char * pchRenderModelName, char * pchComponentName, char * pchComponentRenderModelName, uint32_t unComponentRenderModelNameLen); - bool (OPENVR_FNTABLE_CALLTYPE *GetComponentState)(char * pchRenderModelName, char * pchComponentName, VRControllerState_t * pControllerState, struct RenderModel_ControllerMode_State_t * pState, struct RenderModel_ComponentState_t * pComponentState); - bool (OPENVR_FNTABLE_CALLTYPE *RenderModelHasComponent)(char * pchRenderModelName, char * pchComponentName); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelThumbnailURL)(char * pchRenderModelName, char * pchThumbnailURL, uint32_t unThumbnailURLLen, EVRRenderModelError * peError); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelOriginalPath)(char * pchRenderModelName, char * pchOriginalPath, uint32_t unOriginalPathLen, EVRRenderModelError * peError); - char * (OPENVR_FNTABLE_CALLTYPE *GetRenderModelErrorNameFromEnum)(EVRRenderModelError error); -}; - -struct VR_IVRNotifications_FnTable -{ - EVRNotificationError (OPENVR_FNTABLE_CALLTYPE *CreateNotification)(VROverlayHandle_t ulOverlayHandle, uint64_t ulUserValue, EVRNotificationType type, char * pchText, EVRNotificationStyle style, struct NotificationBitmap_t * pImage, VRNotificationId * pNotificationId); - EVRNotificationError (OPENVR_FNTABLE_CALLTYPE *RemoveNotification)(VRNotificationId notificationId); -}; - -struct VR_IVRSettings_FnTable -{ - char * (OPENVR_FNTABLE_CALLTYPE *GetSettingsErrorNameFromEnum)(EVRSettingsError eError); - bool (OPENVR_FNTABLE_CALLTYPE *Sync)(bool bForce, EVRSettingsError * peError); - void (OPENVR_FNTABLE_CALLTYPE *SetBool)(char * pchSection, char * pchSettingsKey, bool bValue, EVRSettingsError * peError); - void (OPENVR_FNTABLE_CALLTYPE *SetInt32)(char * pchSection, char * pchSettingsKey, int32_t nValue, EVRSettingsError * peError); - void (OPENVR_FNTABLE_CALLTYPE *SetFloat)(char * pchSection, char * pchSettingsKey, float flValue, 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); -}; - -struct VR_IVRScreenshots_FnTable -{ - EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *RequestScreenshot)(ScreenshotHandle_t * pOutScreenshotHandle, EVRScreenshotType type, char * pchPreviewFilename, char * pchVRFilename); - EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *HookScreenshot)(EVRScreenshotType * pSupportedTypes, int numTypes); - EVRScreenshotType (OPENVR_FNTABLE_CALLTYPE *GetScreenshotPropertyType)(ScreenshotHandle_t screenshotHandle, EVRScreenshotError * pError); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetScreenshotPropertyFilename)(ScreenshotHandle_t screenshotHandle, EVRScreenshotPropertyFilenames filenameType, char * pchFilename, uint32_t cchFilename, EVRScreenshotError * pError); - EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *UpdateScreenshotProgress)(ScreenshotHandle_t screenshotHandle, float flProgress); - EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *TakeStereoScreenshot)(ScreenshotHandle_t * pOutScreenshotHandle, char * pchPreviewFilename, char * pchVRFilename); - 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); -}; - -struct VR_IVRDriverManager_FnTable -{ - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetDriverCount)(); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetDriverName)(DriverId_t nDriver, char * pchValue, uint32_t unBufferSize); -}; - - -#if 0 -// Global entry points -S_API intptr_t VR_InitInternal( EVRInitError *peError, EVRApplicationType eType ); -S_API void VR_ShutdownInternal(); -S_API bool VR_IsHmdPresent(); -S_API intptr_t VR_GetGenericInterface( const char *pchInterfaceVersion, EVRInitError *peError ); -S_API bool VR_IsRuntimeInstalled(); -S_API const char * VR_GetVRInitErrorAsSymbol( EVRInitError error ); -S_API const char * VR_GetVRInitErrorAsEnglishDescription( EVRInitError error ); -#endif - -#endif // __OPENVR_API_FLAT_H__ - - diff --git a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_driver.h b/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_driver.h deleted file mode 100644 index 7ab997e..0000000 --- a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Headers/openvr_driver.h +++ /dev/null @@ -1,2695 +0,0 @@ -#pragma once - -// openvr_driver.h -//========= Copyright Valve Corporation ============// -// Dynamically generated file. Do not modify this file directly. - -#ifndef _OPENVR_DRIVER_API -#define _OPENVR_DRIVER_API - -#include - - - -// vrtypes.h -#ifndef _INCLUDE_VRTYPES_H -#define _INCLUDE_VRTYPES_H - -// Forward declarations to avoid requiring vulkan.h -struct VkDevice_T; -struct VkPhysicalDevice_T; -struct VkInstance_T; -struct VkQueue_T; - -// Forward declarations to avoid requiring d3d12.h -struct ID3D12Resource; -struct ID3D12CommandQueue; - -namespace vr -{ -#pragma pack( push, 8 ) - -typedef void* glSharedTextureHandle_t; -typedef int32_t glInt_t; -typedef uint32_t glUInt_t; - -// right-handed system -// +y is up -// +x is to the right -// -z is going away from you -// Distance unit is meters -struct HmdMatrix34_t -{ - float m[3][4]; -}; - -struct HmdMatrix44_t -{ - float m[4][4]; -}; - -struct HmdVector3_t -{ - float v[3]; -}; - -struct HmdVector4_t -{ - float v[4]; -}; - -struct HmdVector3d_t -{ - double v[3]; -}; - -struct HmdVector2_t -{ - float v[2]; -}; - -struct HmdQuaternion_t -{ - double w, x, y, z; -}; - -struct HmdColor_t -{ - float r, g, b, a; -}; - -struct HmdQuad_t -{ - HmdVector3_t vCorners[ 4 ]; -}; - -struct HmdRect2_t -{ - HmdVector2_t vTopLeft; - HmdVector2_t vBottomRight; -}; - -/** Used to return the post-distortion UVs for each color channel. -* UVs range from 0 to 1 with 0,0 in the upper left corner of the -* source render target. The 0,0 to 1,1 range covers a single eye. */ -struct DistortionCoordinates_t -{ - float rfRed[2]; - float rfGreen[2]; - float rfBlue[2]; -}; - -enum EVREye -{ - Eye_Left = 0, - Eye_Right = 1 -}; - -enum ETextureType -{ - TextureType_DirectX = 0, // Handle is an ID3D11Texture - TextureType_OpenGL = 1, // Handle is an OpenGL texture name or an OpenGL render buffer name, depending on submit flags - TextureType_Vulkan = 2, // Handle is a pointer to a VRVulkanTextureData_t structure - TextureType_IOSurface = 3, // Handle is a macOS cross-process-sharable IOSurfaceRef - TextureType_DirectX12 = 4, // Handle is a pointer to a D3D12TextureData_t structure -}; - -enum EColorSpace -{ - ColorSpace_Auto = 0, // Assumes 'gamma' for 8-bit per component formats, otherwise 'linear'. This mirrors the DXGI formats which have _SRGB variants. - ColorSpace_Gamma = 1, // Texture data can be displayed directly on the display without any conversion (a.k.a. display native format). - ColorSpace_Linear = 2, // Same as gamma but has been converted to a linear representation using DXGI's sRGB conversion algorithm. -}; - -struct Texture_t -{ - void* handle; // See ETextureType definition above - ETextureType eType; - EColorSpace eColorSpace; -}; - -// Handle to a shared texture (HANDLE on Windows obtained using OpenSharedResource). -typedef uint64_t SharedTextureHandle_t; -#define INVALID_SHARED_TEXTURE_HANDLE ((vr::SharedTextureHandle_t)0) - -enum ETrackingResult -{ - TrackingResult_Uninitialized = 1, - - TrackingResult_Calibrating_InProgress = 100, - TrackingResult_Calibrating_OutOfRange = 101, - - TrackingResult_Running_OK = 200, - TrackingResult_Running_OutOfRange = 201, -}; - -typedef uint32_t DriverId_t; -static const uint32_t k_nDriverNone = 0xFFFFFFFF; - -static const uint32_t k_unMaxDriverDebugResponseSize = 32768; - -/** Used to pass device IDs to API calls */ -typedef uint32_t TrackedDeviceIndex_t; -static const uint32_t k_unTrackedDeviceIndex_Hmd = 0; -static const uint32_t k_unMaxTrackedDeviceCount = 16; -static const uint32_t k_unTrackedDeviceIndexOther = 0xFFFFFFFE; -static const uint32_t k_unTrackedDeviceIndexInvalid = 0xFFFFFFFF; - -/** Describes what kind of object is being tracked at a given ID */ -enum ETrackedDeviceClass -{ - TrackedDeviceClass_Invalid = 0, // the ID was not valid. - TrackedDeviceClass_HMD = 1, // Head-Mounted Displays - TrackedDeviceClass_Controller = 2, // Tracked controllers - TrackedDeviceClass_GenericTracker = 3, // Generic trackers, similar to controllers - TrackedDeviceClass_TrackingReference = 4, // Camera and base stations that serve as tracking reference points - TrackedDeviceClass_DisplayRedirect = 5, // Accessories that aren't necessarily tracked themselves, but may redirect video output from other tracked devices -}; - - -/** Describes what specific role associated with a tracked device */ -enum ETrackedControllerRole -{ - TrackedControllerRole_Invalid = 0, // Invalid value for controller type - TrackedControllerRole_LeftHand = 1, // Tracked device associated with the left hand - TrackedControllerRole_RightHand = 2, // Tracked device associated with the right hand -}; - - -/** describes a single pose for a tracked object */ -struct TrackedDevicePose_t -{ - HmdMatrix34_t mDeviceToAbsoluteTracking; - HmdVector3_t vVelocity; // velocity in tracker space in m/s - HmdVector3_t vAngularVelocity; // angular velocity in radians/s (?) - ETrackingResult eTrackingResult; - bool bPoseIsValid; - - // This indicates that there is a device connected for this spot in the pose array. - // It could go from true to false if the user unplugs the device. - bool bDeviceIsConnected; -}; - -/** Identifies which style of tracking origin the application wants to use -* for the poses it is requesting */ -enum ETrackingUniverseOrigin -{ - TrackingUniverseSeated = 0, // Poses are provided relative to the seated zero pose - TrackingUniverseStanding = 1, // Poses are provided relative to the safe bounds configured by the user - TrackingUniverseRawAndUncalibrated = 2, // Poses are provided in the coordinate system defined by the driver. It has Y up and is unified for devices of the same driver. You usually don't want this one. -}; - -// Refers to a single container of properties -typedef uint64_t PropertyContainerHandle_t; -typedef uint32_t PropertyTypeTag_t; - -static const PropertyContainerHandle_t k_ulInvalidPropertyContainer = 0; -static const PropertyTypeTag_t k_unInvalidPropertyTag = 0; - -// Use these tags to set/get common types as struct properties -static const PropertyTypeTag_t k_unFloatPropertyTag = 1; -static const PropertyTypeTag_t k_unInt32PropertyTag = 2; -static const PropertyTypeTag_t k_unUint64PropertyTag = 3; -static const PropertyTypeTag_t k_unBoolPropertyTag = 4; -static const PropertyTypeTag_t k_unStringPropertyTag = 5; - -static const PropertyTypeTag_t k_unHmdMatrix34PropertyTag = 20; -static const PropertyTypeTag_t k_unHmdMatrix44PropertyTag = 21; -static const PropertyTypeTag_t k_unHmdVector3PropertyTag = 22; -static const PropertyTypeTag_t k_unHmdVector4PropertyTag = 23; - -static const PropertyTypeTag_t k_unHiddenAreaPropertyTag = 30; - -static const PropertyTypeTag_t k_unOpenVRInternalReserved_Start = 1000; -static const PropertyTypeTag_t k_unOpenVRInternalReserved_End = 10000; - - -/** Each entry in this enum represents a property that can be retrieved about a -* tracked device. Many fields are only valid for one ETrackedDeviceClass. */ -enum ETrackedDeviceProperty -{ - Prop_Invalid = 0, - - // general properties that apply to all device classes - Prop_TrackingSystemName_String = 1000, - Prop_ModelNumber_String = 1001, - Prop_SerialNumber_String = 1002, - Prop_RenderModelName_String = 1003, - Prop_WillDriftInYaw_Bool = 1004, - Prop_ManufacturerName_String = 1005, - Prop_TrackingFirmwareVersion_String = 1006, - Prop_HardwareRevision_String = 1007, - Prop_AllWirelessDongleDescriptions_String = 1008, - Prop_ConnectedWirelessDongle_String = 1009, - Prop_DeviceIsWireless_Bool = 1010, - Prop_DeviceIsCharging_Bool = 1011, - Prop_DeviceBatteryPercentage_Float = 1012, // 0 is empty, 1 is full - Prop_StatusDisplayTransform_Matrix34 = 1013, - Prop_Firmware_UpdateAvailable_Bool = 1014, - Prop_Firmware_ManualUpdate_Bool = 1015, - Prop_Firmware_ManualUpdateURL_String = 1016, - Prop_HardwareRevision_Uint64 = 1017, - Prop_FirmwareVersion_Uint64 = 1018, - Prop_FPGAVersion_Uint64 = 1019, - Prop_VRCVersion_Uint64 = 1020, - Prop_RadioVersion_Uint64 = 1021, - Prop_DongleVersion_Uint64 = 1022, - Prop_BlockServerShutdown_Bool = 1023, - Prop_CanUnifyCoordinateSystemWithHmd_Bool = 1024, - Prop_ContainsProximitySensor_Bool = 1025, - Prop_DeviceProvidesBatteryStatus_Bool = 1026, - Prop_DeviceCanPowerOff_Bool = 1027, - Prop_Firmware_ProgrammingTarget_String = 1028, - Prop_DeviceClass_Int32 = 1029, - Prop_HasCamera_Bool = 1030, - Prop_DriverVersion_String = 1031, - Prop_Firmware_ForceUpdateRequired_Bool = 1032, - Prop_ViveSystemButtonFixRequired_Bool = 1033, - Prop_ParentDriver_Uint64 = 1034, - Prop_ResourceRoot_String = 1035, - - // Properties that are unique to TrackedDeviceClass_HMD - Prop_ReportsTimeSinceVSync_Bool = 2000, - Prop_SecondsFromVsyncToPhotons_Float = 2001, - Prop_DisplayFrequency_Float = 2002, - Prop_UserIpdMeters_Float = 2003, - Prop_CurrentUniverseId_Uint64 = 2004, - Prop_PreviousUniverseId_Uint64 = 2005, - Prop_DisplayFirmwareVersion_Uint64 = 2006, - Prop_IsOnDesktop_Bool = 2007, - Prop_DisplayMCType_Int32 = 2008, - Prop_DisplayMCOffset_Float = 2009, - Prop_DisplayMCScale_Float = 2010, - Prop_EdidVendorID_Int32 = 2011, - Prop_DisplayMCImageLeft_String = 2012, - Prop_DisplayMCImageRight_String = 2013, - Prop_DisplayGCBlackClamp_Float = 2014, - Prop_EdidProductID_Int32 = 2015, - Prop_CameraToHeadTransform_Matrix34 = 2016, - Prop_DisplayGCType_Int32 = 2017, - Prop_DisplayGCOffset_Float = 2018, - Prop_DisplayGCScale_Float = 2019, - Prop_DisplayGCPrescale_Float = 2020, - Prop_DisplayGCImage_String = 2021, - Prop_LensCenterLeftU_Float = 2022, - Prop_LensCenterLeftV_Float = 2023, - Prop_LensCenterRightU_Float = 2024, - Prop_LensCenterRightV_Float = 2025, - Prop_UserHeadToEyeDepthMeters_Float = 2026, - Prop_CameraFirmwareVersion_Uint64 = 2027, - Prop_CameraFirmwareDescription_String = 2028, - Prop_DisplayFPGAVersion_Uint64 = 2029, - Prop_DisplayBootloaderVersion_Uint64 = 2030, - Prop_DisplayHardwareVersion_Uint64 = 2031, - Prop_AudioFirmwareVersion_Uint64 = 2032, - Prop_CameraCompatibilityMode_Int32 = 2033, - Prop_ScreenshotHorizontalFieldOfViewDegrees_Float = 2034, - Prop_ScreenshotVerticalFieldOfViewDegrees_Float = 2035, - Prop_DisplaySuppressed_Bool = 2036, - Prop_DisplayAllowNightMode_Bool = 2037, - Prop_DisplayMCImageWidth_Int32 = 2038, - Prop_DisplayMCImageHeight_Int32 = 2039, - Prop_DisplayMCImageNumChannels_Int32 = 2040, - Prop_DisplayMCImageData_Binary = 2041, - Prop_SecondsFromPhotonsToVblank_Float = 2042, - Prop_DriverDirectModeSendsVsyncEvents_Bool = 2043, - Prop_DisplayDebugMode_Bool = 2044, - Prop_GraphicsAdapterLuid_Uint64 = 2045, - Prop_DriverProvidedChaperonePath_String = 2048, - - // Properties that are unique to TrackedDeviceClass_Controller - Prop_AttachedDeviceId_String = 3000, - Prop_SupportedButtons_Uint64 = 3001, - Prop_Axis0Type_Int32 = 3002, // Return value is of type EVRControllerAxisType - Prop_Axis1Type_Int32 = 3003, // Return value is of type EVRControllerAxisType - Prop_Axis2Type_Int32 = 3004, // Return value is of type EVRControllerAxisType - Prop_Axis3Type_Int32 = 3005, // Return value is of type EVRControllerAxisType - Prop_Axis4Type_Int32 = 3006, // Return value is of type EVRControllerAxisType - Prop_ControllerRoleHint_Int32 = 3007, // Return value is of type ETrackedControllerRole - - // Properties that are unique to TrackedDeviceClass_TrackingReference - Prop_FieldOfViewLeftDegrees_Float = 4000, - Prop_FieldOfViewRightDegrees_Float = 4001, - Prop_FieldOfViewTopDegrees_Float = 4002, - Prop_FieldOfViewBottomDegrees_Float = 4003, - Prop_TrackingRangeMinimumMeters_Float = 4004, - Prop_TrackingRangeMaximumMeters_Float = 4005, - Prop_ModeLabel_String = 4006, - - // Properties that are used for user interface like icons names - Prop_IconPathName_String = 5000, // DEPRECATED. Value not referenced. Now expected to be part of icon path properties. - Prop_NamedIconPathDeviceOff_String = 5001, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceSearching_String = 5002, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceSearchingAlert_String = 5003, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceReady_String = 5004, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceReadyAlert_String = 5005, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceNotReady_String = 5006, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceStandby_String = 5007, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - Prop_NamedIconPathDeviceAlertLow_String = 5008, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others - - // Properties that are used by helpers, but are opaque to applications - Prop_DisplayHiddenArea_Binary_Start = 5100, - Prop_DisplayHiddenArea_Binary_End = 5150, - - // Properties that are unique to drivers - Prop_UserConfigPath_String = 6000, - Prop_InstallPath_String = 6001, - Prop_HasDisplayComponent_Bool = 6002, - Prop_HasControllerComponent_Bool = 6003, - Prop_HasCameraComponent_Bool = 6004, - Prop_HasDriverDirectModeComponent_Bool = 6005, - Prop_HasVirtualDisplayComponent_Bool = 6006, - - // Vendors are free to expose private debug data in this reserved region - Prop_VendorSpecific_Reserved_Start = 10000, - Prop_VendorSpecific_Reserved_End = 10999, -}; - -/** No string property will ever be longer than this length */ -static const uint32_t k_unMaxPropertyStringSize = 32 * 1024; - -/** Used to return errors that occur when reading properties. */ -enum ETrackedPropertyError -{ - TrackedProp_Success = 0, - TrackedProp_WrongDataType = 1, - TrackedProp_WrongDeviceClass = 2, - TrackedProp_BufferTooSmall = 3, - TrackedProp_UnknownProperty = 4, // Driver has not set the property (and may not ever). - TrackedProp_InvalidDevice = 5, - TrackedProp_CouldNotContactServer = 6, - TrackedProp_ValueNotProvidedByDevice = 7, - TrackedProp_StringExceedsMaximumLength = 8, - TrackedProp_NotYetAvailable = 9, // The property value isn't known yet, but is expected soon. Call again later. - TrackedProp_PermissionDenied = 10, - TrackedProp_InvalidOperation = 11, -}; - -/** Allows the application to control what part of the provided texture will be used in the -* frame buffer. */ -struct VRTextureBounds_t -{ - float uMin, vMin; - float uMax, vMax; -}; - -/** Allows specifying pose used to render provided scene texture (if different from value returned by WaitGetPoses). */ -struct VRTextureWithPose_t : public Texture_t -{ - HmdMatrix34_t mDeviceToAbsoluteTracking; // Actual pose used to render scene textures. -}; - -/** Allows the application to control how scene textures are used by the compositor when calling Submit. */ -enum EVRSubmitFlags -{ - // Simple render path. App submits rendered left and right eye images with no lens distortion correction applied. - Submit_Default = 0x00, - - // App submits final left and right eye images with lens distortion already applied (lens distortion makes the images appear - // barrel distorted with chromatic aberration correction applied). The app would have used the data returned by - // vr::IVRSystem::ComputeDistortion() to apply the correct distortion to the rendered images before calling Submit(). - Submit_LensDistortionAlreadyApplied = 0x01, - - // If the texture pointer passed in is actually a renderbuffer (e.g. for MSAA in OpenGL) then set this flag. - Submit_GlRenderBuffer = 0x02, - - // Do not use - Submit_Reserved = 0x04, - - // Set to indicate that pTexture is a pointer to a VRTextureWithPose_t. - Submit_TextureWithPose = 0x08, -}; - -/** Data required for passing Vulkan textures to IVRCompositor::Submit. -* Be sure to call OpenVR_Shutdown before destroying these resources. */ -struct VRVulkanTextureData_t -{ - uint64_t m_nImage; // VkImage - VkDevice_T *m_pDevice; - VkPhysicalDevice_T *m_pPhysicalDevice; - VkInstance_T *m_pInstance; - VkQueue_T *m_pQueue; - uint32_t m_nQueueFamilyIndex; - uint32_t m_nWidth, m_nHeight, m_nFormat, m_nSampleCount; -}; - -/** Data required for passing D3D12 textures to IVRCompositor::Submit. -* Be sure to call OpenVR_Shutdown before destroying these resources. */ -struct D3D12TextureData_t -{ - ID3D12Resource *m_pResource; - ID3D12CommandQueue *m_pCommandQueue; - uint32_t m_nNodeMask; -}; - -/** Status of the overall system or tracked objects */ -enum EVRState -{ - VRState_Undefined = -1, - VRState_Off = 0, - VRState_Searching = 1, - VRState_Searching_Alert = 2, - VRState_Ready = 3, - VRState_Ready_Alert = 4, - VRState_NotReady = 5, - VRState_Standby = 6, - VRState_Ready_Alert_Low = 7, -}; - -/** The types of events that could be posted (and what the parameters mean for each event type) */ -enum EVREventType -{ - VREvent_None = 0, - - VREvent_TrackedDeviceActivated = 100, - VREvent_TrackedDeviceDeactivated = 101, - VREvent_TrackedDeviceUpdated = 102, - VREvent_TrackedDeviceUserInteractionStarted = 103, - VREvent_TrackedDeviceUserInteractionEnded = 104, - VREvent_IpdChanged = 105, - VREvent_EnterStandbyMode = 106, - VREvent_LeaveStandbyMode = 107, - VREvent_TrackedDeviceRoleChanged = 108, - VREvent_WatchdogWakeUpRequested = 109, - VREvent_LensDistortionChanged = 110, - VREvent_PropertyChanged = 111, - VREvent_WirelessDisconnect = 112, - VREvent_WirelessReconnect = 113, - - VREvent_ButtonPress = 200, // data is controller - VREvent_ButtonUnpress = 201, // data is controller - VREvent_ButtonTouch = 202, // data is controller - VREvent_ButtonUntouch = 203, // data is controller - - VREvent_MouseMove = 300, // data is mouse - VREvent_MouseButtonDown = 301, // data is mouse - VREvent_MouseButtonUp = 302, // data is mouse - VREvent_FocusEnter = 303, // data is overlay - VREvent_FocusLeave = 304, // data is overlay - VREvent_Scroll = 305, // data is mouse - VREvent_TouchPadMove = 306, // data is mouse - VREvent_OverlayFocusChanged = 307, // data is overlay, global event - - VREvent_InputFocusCaptured = 400, // data is process DEPRECATED - VREvent_InputFocusReleased = 401, // data is process DEPRECATED - VREvent_SceneFocusLost = 402, // data is process - VREvent_SceneFocusGained = 403, // data is process - VREvent_SceneApplicationChanged = 404, // data is process - The App actually drawing the scene changed (usually to or from the compositor) - VREvent_SceneFocusChanged = 405, // data is process - New app got access to draw the scene - VREvent_InputFocusChanged = 406, // data is process - VREvent_SceneApplicationSecondaryRenderingStarted = 407, // data is process - - VREvent_HideRenderModels = 410, // Sent to the scene application to request hiding render models temporarily - VREvent_ShowRenderModels = 411, // Sent to the scene application to request restoring render model visibility - - VREvent_OverlayShown = 500, - VREvent_OverlayHidden = 501, - VREvent_DashboardActivated = 502, - VREvent_DashboardDeactivated = 503, - VREvent_DashboardThumbSelected = 504, // Sent to the overlay manager - data is overlay - VREvent_DashboardRequested = 505, // Sent to the overlay manager - data is overlay - VREvent_ResetDashboard = 506, // Send to the overlay manager - VREvent_RenderToast = 507, // Send to the dashboard to render a toast - data is the notification ID - VREvent_ImageLoaded = 508, // Sent to overlays when a SetOverlayRaw or SetOverlayFromFile call finishes loading - VREvent_ShowKeyboard = 509, // Sent to keyboard renderer in the dashboard to invoke it - VREvent_HideKeyboard = 510, // Sent to keyboard renderer in the dashboard to hide it - VREvent_OverlayGamepadFocusGained = 511, // Sent to an overlay when IVROverlay::SetFocusOverlay is called on it - VREvent_OverlayGamepadFocusLost = 512, // Send to an overlay when it previously had focus and IVROverlay::SetFocusOverlay is called on something else - VREvent_OverlaySharedTextureChanged = 513, - VREvent_DashboardGuideButtonDown = 514, - VREvent_DashboardGuideButtonUp = 515, - VREvent_ScreenshotTriggered = 516, // Screenshot button combo was pressed, Dashboard should request a screenshot - VREvent_ImageFailed = 517, // Sent to overlays when a SetOverlayRaw or SetOverlayfromFail fails to load - VREvent_DashboardOverlayCreated = 518, - - // Screenshot API - VREvent_RequestScreenshot = 520, // Sent by vrclient application to compositor to take a screenshot - VREvent_ScreenshotTaken = 521, // Sent by compositor to the application that the screenshot has been taken - VREvent_ScreenshotFailed = 522, // Sent by compositor to the application that the screenshot failed to be taken - VREvent_SubmitScreenshotToDashboard = 523, // Sent by compositor to the dashboard that a completed screenshot was submitted - VREvent_ScreenshotProgressToDashboard = 524, // Sent by compositor to the dashboard that a completed screenshot was submitted - - VREvent_PrimaryDashboardDeviceChanged = 525, - - VREvent_Notification_Shown = 600, - VREvent_Notification_Hidden = 601, - VREvent_Notification_BeginInteraction = 602, - VREvent_Notification_Destroyed = 603, - - VREvent_Quit = 700, // data is process - VREvent_ProcessQuit = 701, // data is process - VREvent_QuitAborted_UserPrompt = 702, // data is process - VREvent_QuitAcknowledged = 703, // data is process - VREvent_DriverRequestedQuit = 704, // The driver has requested that SteamVR shut down - - VREvent_ChaperoneDataHasChanged = 800, - VREvent_ChaperoneUniverseHasChanged = 801, - VREvent_ChaperoneTempDataHasChanged = 802, - VREvent_ChaperoneSettingsHaveChanged = 803, - VREvent_SeatedZeroPoseReset = 804, - - VREvent_AudioSettingsHaveChanged = 820, - - VREvent_BackgroundSettingHasChanged = 850, - VREvent_CameraSettingsHaveChanged = 851, - VREvent_ReprojectionSettingHasChanged = 852, - VREvent_ModelSkinSettingsHaveChanged = 853, - VREvent_EnvironmentSettingsHaveChanged = 854, - VREvent_PowerSettingsHaveChanged = 855, - VREvent_EnableHomeAppSettingsHaveChanged = 856, - - VREvent_StatusUpdate = 900, - - VREvent_MCImageUpdated = 1000, - - VREvent_FirmwareUpdateStarted = 1100, - VREvent_FirmwareUpdateFinished = 1101, - - VREvent_KeyboardClosed = 1200, - VREvent_KeyboardCharInput = 1201, - VREvent_KeyboardDone = 1202, // Sent when DONE button clicked on keyboard - - VREvent_ApplicationTransitionStarted = 1300, - VREvent_ApplicationTransitionAborted = 1301, - VREvent_ApplicationTransitionNewAppStarted = 1302, - VREvent_ApplicationListUpdated = 1303, - VREvent_ApplicationMimeTypeLoad = 1304, - VREvent_ApplicationTransitionNewAppLaunchComplete = 1305, - VREvent_ProcessConnected = 1306, - VREvent_ProcessDisconnected = 1307, - - VREvent_Compositor_MirrorWindowShown = 1400, - VREvent_Compositor_MirrorWindowHidden = 1401, - VREvent_Compositor_ChaperoneBoundsShown = 1410, - VREvent_Compositor_ChaperoneBoundsHidden = 1411, - - VREvent_TrackedCamera_StartVideoStream = 1500, - VREvent_TrackedCamera_StopVideoStream = 1501, - VREvent_TrackedCamera_PauseVideoStream = 1502, - VREvent_TrackedCamera_ResumeVideoStream = 1503, - VREvent_TrackedCamera_EditingSurface = 1550, - - VREvent_PerformanceTest_EnableCapture = 1600, - VREvent_PerformanceTest_DisableCapture = 1601, - VREvent_PerformanceTest_FidelityLevel = 1602, - - VREvent_MessageOverlay_Closed = 1650, - VREvent_MessageOverlayCloseRequested = 1651, - - // Vendors are free to expose private events in this reserved region - VREvent_VendorSpecific_Reserved_Start = 10000, - VREvent_VendorSpecific_Reserved_End = 19999, -}; - - -/** Level of Hmd activity */ -// UserInteraction_Timeout means the device is in the process of timing out. -// InUse = ( k_EDeviceActivityLevel_UserInteraction || k_EDeviceActivityLevel_UserInteraction_Timeout ) -// VREvent_TrackedDeviceUserInteractionStarted fires when the devices transitions from Standby -> UserInteraction or Idle -> UserInteraction. -// VREvent_TrackedDeviceUserInteractionEnded fires when the devices transitions from UserInteraction_Timeout -> Idle -enum EDeviceActivityLevel -{ - k_EDeviceActivityLevel_Unknown = -1, - k_EDeviceActivityLevel_Idle = 0, // No activity for the last 10 seconds - k_EDeviceActivityLevel_UserInteraction = 1, // Activity (movement or prox sensor) is happening now - k_EDeviceActivityLevel_UserInteraction_Timeout = 2, // No activity for the last 0.5 seconds - k_EDeviceActivityLevel_Standby = 3, // Idle for at least 5 seconds (configurable in Settings -> Power Management) -}; - - -/** VR controller button and axis IDs */ -enum EVRButtonId -{ - k_EButton_System = 0, - k_EButton_ApplicationMenu = 1, - k_EButton_Grip = 2, - k_EButton_DPad_Left = 3, - k_EButton_DPad_Up = 4, - k_EButton_DPad_Right = 5, - k_EButton_DPad_Down = 6, - k_EButton_A = 7, - - k_EButton_ProximitySensor = 31, - - k_EButton_Axis0 = 32, - k_EButton_Axis1 = 33, - k_EButton_Axis2 = 34, - k_EButton_Axis3 = 35, - k_EButton_Axis4 = 36, - - // aliases for well known controllers - k_EButton_SteamVR_Touchpad = k_EButton_Axis0, - k_EButton_SteamVR_Trigger = k_EButton_Axis1, - - k_EButton_Dashboard_Back = k_EButton_Grip, - - k_EButton_Max = 64 -}; - -inline uint64_t ButtonMaskFromId( EVRButtonId id ) { return 1ull << id; } - -/** used for controller button events */ -struct VREvent_Controller_t -{ - uint32_t button; // EVRButtonId enum -}; - - -/** used for simulated mouse events in overlay space */ -enum EVRMouseButton -{ - VRMouseButton_Left = 0x0001, - VRMouseButton_Right = 0x0002, - VRMouseButton_Middle = 0x0004, -}; - - -/** used for simulated mouse events in overlay space */ -struct VREvent_Mouse_t -{ - float x, y; // co-ords are in GL space, bottom left of the texture is 0,0 - uint32_t button; // EVRMouseButton enum -}; - -/** used for simulated mouse wheel scroll in overlay space */ -struct VREvent_Scroll_t -{ - float xdelta, ydelta; // movement in fraction of the pad traversed since last delta, 1.0 for a full swipe - uint32_t repeatCount; -}; - -/** when in mouse input mode you can receive data from the touchpad, these events are only sent if the users finger - is on the touchpad (or just released from it) -**/ -struct VREvent_TouchPadMove_t -{ - // true if the users finger is detected on the touch pad - bool bFingerDown; - - // How long the finger has been down in seconds - float flSecondsFingerDown; - - // These values indicate the starting finger position (so you can do some basic swipe stuff) - float fValueXFirst; - float fValueYFirst; - - // This is the raw sampled coordinate without deadzoning - float fValueXRaw; - float fValueYRaw; -}; - -/** notification related events. Details will still change at this point */ -struct VREvent_Notification_t -{ - uint64_t ulUserValue; - uint32_t notificationId; -}; - -/** Used for events about processes */ -struct VREvent_Process_t -{ - uint32_t pid; - uint32_t oldPid; - bool bForced; -}; - - -/** Used for a few events about overlays */ -struct VREvent_Overlay_t -{ - uint64_t overlayHandle; -}; - - -/** Used for a few events about overlays */ -struct VREvent_Status_t -{ - uint32_t statusState; // EVRState enum -}; - -/** Used for keyboard events **/ -struct VREvent_Keyboard_t -{ - char cNewInput[8]; // Up to 11 bytes of new input - uint64_t uUserValue; // Possible flags about the new input -}; - -struct VREvent_Ipd_t -{ - float ipdMeters; -}; - -struct VREvent_Chaperone_t -{ - uint64_t m_nPreviousUniverse; - uint64_t m_nCurrentUniverse; -}; - -/** Not actually used for any events */ -struct VREvent_Reserved_t -{ - uint64_t reserved0; - uint64_t reserved1; -}; - -struct VREvent_PerformanceTest_t -{ - uint32_t m_nFidelityLevel; -}; - -struct VREvent_SeatedZeroPoseReset_t -{ - bool bResetBySystemMenu; -}; - -struct VREvent_Screenshot_t -{ - uint32_t handle; - uint32_t type; -}; - -struct VREvent_ScreenshotProgress_t -{ - float progress; -}; - -struct VREvent_ApplicationLaunch_t -{ - uint32_t pid; - uint32_t unArgsHandle; -}; - -struct VREvent_EditingCameraSurface_t -{ - uint64_t overlayHandle; - uint32_t nVisualMode; -}; - -struct VREvent_MessageOverlay_t -{ - uint32_t unVRMessageOverlayResponse; // vr::VRMessageOverlayResponse enum -}; - -struct VREvent_Property_t -{ - PropertyContainerHandle_t container; - ETrackedDeviceProperty prop; -}; - -/** NOTE!!! If you change this you MUST manually update openvr_interop.cs.py */ -typedef union -{ - VREvent_Reserved_t reserved; - VREvent_Controller_t controller; - VREvent_Mouse_t mouse; - VREvent_Scroll_t scroll; - VREvent_Process_t process; - VREvent_Notification_t notification; - VREvent_Overlay_t overlay; - VREvent_Status_t status; - VREvent_Keyboard_t keyboard; - VREvent_Ipd_t ipd; - VREvent_Chaperone_t chaperone; - VREvent_PerformanceTest_t performanceTest; - VREvent_TouchPadMove_t touchPadMove; - VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset; - VREvent_Screenshot_t screenshot; - VREvent_ScreenshotProgress_t screenshotProgress; - VREvent_ApplicationLaunch_t applicationLaunch; - VREvent_EditingCameraSurface_t cameraSurface; - VREvent_MessageOverlay_t messageOverlay; - VREvent_Property_t property; -} VREvent_Data_t; - - -#if defined(__linux__) || defined(__APPLE__) -// This structure was originally defined mis-packed on Linux, preserved for -// compatibility. -#pragma pack( push, 4 ) -#endif - -/** An event posted by the server to all running applications */ -struct VREvent_t -{ - uint32_t eventType; // EVREventType enum - TrackedDeviceIndex_t trackedDeviceIndex; - float eventAgeSeconds; - // event data must be the end of the struct as its size is variable - VREvent_Data_t data; -}; - -#if defined(__linux__) || defined(__APPLE__) -#pragma pack( pop ) -#endif - -/** The mesh to draw into the stencil (or depth) buffer to perform -* early stencil (or depth) kills of pixels that will never appear on the HMD. -* This mesh draws on all the pixels that will be hidden after distortion. -* -* If the HMD does not provide a visible area mesh pVertexData will be -* NULL and unTriangleCount will be 0. */ -struct HiddenAreaMesh_t -{ - const HmdVector2_t *pVertexData; - uint32_t unTriangleCount; -}; - - -enum EHiddenAreaMeshType -{ - k_eHiddenAreaMesh_Standard = 0, - k_eHiddenAreaMesh_Inverse = 1, - k_eHiddenAreaMesh_LineLoop = 2, - - k_eHiddenAreaMesh_Max = 3, -}; - - -/** Identifies what kind of axis is on the controller at index n. Read this type -* with pVRSystem->Get( nControllerDeviceIndex, Prop_Axis0Type_Int32 + n ); -*/ -enum EVRControllerAxisType -{ - k_eControllerAxis_None = 0, - k_eControllerAxis_TrackPad = 1, - k_eControllerAxis_Joystick = 2, - k_eControllerAxis_Trigger = 3, // Analog trigger data is in the X axis -}; - - -/** contains information about one axis on the controller */ -struct VRControllerAxis_t -{ - float x; // Ranges from -1.0 to 1.0 for joysticks and track pads. Ranges from 0.0 to 1.0 for triggers were 0 is fully released. - float y; // Ranges from -1.0 to 1.0 for joysticks and track pads. Is always 0.0 for triggers. -}; - - -/** the number of axes in the controller state */ -static const uint32_t k_unControllerStateAxisCount = 5; - - -#if defined(__linux__) || defined(__APPLE__) -// This structure was originally defined mis-packed on Linux, preserved for -// compatibility. -#pragma pack( push, 4 ) -#endif - -/** Holds all the state of a controller at one moment in time. */ -struct VRControllerState001_t -{ - // If packet num matches that on your prior call, then the controller state hasn't been changed since - // your last call and there is no need to process it - uint32_t unPacketNum; - - // bit flags for each of the buttons. Use ButtonMaskFromId to turn an ID into a mask - uint64_t ulButtonPressed; - uint64_t ulButtonTouched; - - // Axis data for the controller's analog inputs - VRControllerAxis_t rAxis[ k_unControllerStateAxisCount ]; -}; -#if defined(__linux__) || defined(__APPLE__) -#pragma pack( pop ) -#endif - - -typedef VRControllerState001_t VRControllerState_t; - - -/** determines how to provide output to the application of various event processing functions. */ -enum EVRControllerEventOutputType -{ - ControllerEventOutput_OSEvents = 0, - ControllerEventOutput_VREvents = 1, -}; - - - -/** Collision Bounds Style */ -enum ECollisionBoundsStyle -{ - COLLISION_BOUNDS_STYLE_BEGINNER = 0, - COLLISION_BOUNDS_STYLE_INTERMEDIATE, - COLLISION_BOUNDS_STYLE_SQUARES, - COLLISION_BOUNDS_STYLE_ADVANCED, - COLLISION_BOUNDS_STYLE_NONE, - - COLLISION_BOUNDS_STYLE_COUNT -}; - -/** Allows the application to customize how the overlay appears in the compositor */ -struct Compositor_OverlaySettings -{ - uint32_t size; // sizeof(Compositor_OverlaySettings) - bool curved, antialias; - float scale, distance, alpha; - float uOffset, vOffset, uScale, vScale; - float gridDivs, gridWidth, gridScale; - HmdMatrix44_t transform; -}; - -/** used to refer to a single VR overlay */ -typedef uint64_t VROverlayHandle_t; - -static const VROverlayHandle_t k_ulOverlayHandleInvalid = 0; - -/** Errors that can occur around VR overlays */ -enum EVROverlayError -{ - VROverlayError_None = 0, - - VROverlayError_UnknownOverlay = 10, - VROverlayError_InvalidHandle = 11, - VROverlayError_PermissionDenied = 12, - VROverlayError_OverlayLimitExceeded = 13, // No more overlays could be created because the maximum number already exist - VROverlayError_WrongVisibilityType = 14, - VROverlayError_KeyTooLong = 15, - VROverlayError_NameTooLong = 16, - VROverlayError_KeyInUse = 17, - VROverlayError_WrongTransformType = 18, - VROverlayError_InvalidTrackedDevice = 19, - VROverlayError_InvalidParameter = 20, - VROverlayError_ThumbnailCantBeDestroyed = 21, - VROverlayError_ArrayTooSmall = 22, - VROverlayError_RequestFailed = 23, - VROverlayError_InvalidTexture = 24, - VROverlayError_UnableToLoadFile = 25, - VROverlayError_KeyboardAlreadyInUse = 26, - VROverlayError_NoNeighbor = 27, - VROverlayError_TooManyMaskPrimitives = 29, - VROverlayError_BadMaskPrimitive = 30, -}; - -/** enum values to pass in to VR_Init to identify whether the application will -* draw a 3D scene. */ -enum EVRApplicationType -{ - VRApplication_Other = 0, // Some other kind of application that isn't covered by the other entries - VRApplication_Scene = 1, // Application will submit 3D frames - VRApplication_Overlay = 2, // Application only interacts with overlays - VRApplication_Background = 3, // Application should not start SteamVR if it's not already running, and should not - // keep it running if everything else quits. - VRApplication_Utility = 4, // Init should not try to load any drivers. The application needs access to utility - // interfaces (like IVRSettings and IVRApplications) but not hardware. - VRApplication_VRMonitor = 5, // Reserved for vrmonitor - VRApplication_SteamWatchdog = 6,// Reserved for Steam - VRApplication_Bootstrapper = 7, // Start up SteamVR - - VRApplication_Max -}; - - -/** error codes for firmware */ -enum EVRFirmwareError -{ - VRFirmwareError_None = 0, - VRFirmwareError_Success = 1, - VRFirmwareError_Fail = 2, -}; - - -/** error codes for notifications */ -enum EVRNotificationError -{ - VRNotificationError_OK = 0, - VRNotificationError_InvalidNotificationId = 100, - VRNotificationError_NotificationQueueFull = 101, - VRNotificationError_InvalidOverlayHandle = 102, - VRNotificationError_SystemWithUserValueAlreadyExists = 103, -}; - - -/** error codes returned by Vr_Init */ - -// Please add adequate error description to https://developer.valvesoftware.com/w/index.php?title=Category:SteamVRHelp -enum EVRInitError -{ - VRInitError_None = 0, - VRInitError_Unknown = 1, - - VRInitError_Init_InstallationNotFound = 100, - VRInitError_Init_InstallationCorrupt = 101, - VRInitError_Init_VRClientDLLNotFound = 102, - VRInitError_Init_FileNotFound = 103, - VRInitError_Init_FactoryNotFound = 104, - VRInitError_Init_InterfaceNotFound = 105, - VRInitError_Init_InvalidInterface = 106, - VRInitError_Init_UserConfigDirectoryInvalid = 107, - VRInitError_Init_HmdNotFound = 108, - VRInitError_Init_NotInitialized = 109, - VRInitError_Init_PathRegistryNotFound = 110, - VRInitError_Init_NoConfigPath = 111, - VRInitError_Init_NoLogPath = 112, - VRInitError_Init_PathRegistryNotWritable = 113, - VRInitError_Init_AppInfoInitFailed = 114, - VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver - VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup - VRInitError_Init_AnotherAppLaunching = 117, - VRInitError_Init_SettingsInitFailed = 118, - VRInitError_Init_ShuttingDown = 119, - VRInitError_Init_TooManyObjects = 120, - VRInitError_Init_NoServerForBackgroundApp = 121, - VRInitError_Init_NotSupportedWithCompositor = 122, - VRInitError_Init_NotAvailableToUtilityApps = 123, - VRInitError_Init_Internal = 124, - VRInitError_Init_HmdDriverIdIsNone = 125, - VRInitError_Init_HmdNotFoundPresenceFailed = 126, - VRInitError_Init_VRMonitorNotFound = 127, - VRInitError_Init_VRMonitorStartupFailed = 128, - VRInitError_Init_LowPowerWatchdogNotSupported = 129, - VRInitError_Init_InvalidApplicationType = 130, - VRInitError_Init_NotAvailableToWatchdogApps = 131, - VRInitError_Init_WatchdogDisabledInSettings = 132, - VRInitError_Init_VRDashboardNotFound = 133, - VRInitError_Init_VRDashboardStartupFailed = 134, - VRInitError_Init_VRHomeNotFound = 135, - VRInitError_Init_VRHomeStartupFailed = 136, - VRInitError_Init_RebootingBusy = 137, - VRInitError_Init_FirmwareUpdateBusy = 138, - VRInitError_Init_FirmwareRecoveryBusy = 139, - - - VRInitError_Driver_Failed = 200, - VRInitError_Driver_Unknown = 201, - VRInitError_Driver_HmdUnknown = 202, - VRInitError_Driver_NotLoaded = 203, - VRInitError_Driver_RuntimeOutOfDate = 204, - VRInitError_Driver_HmdInUse = 205, - VRInitError_Driver_NotCalibrated = 206, - VRInitError_Driver_CalibrationInvalid = 207, - VRInitError_Driver_HmdDisplayNotFound = 208, - VRInitError_Driver_TrackedDeviceInterfaceUnknown = 209, - // VRInitError_Driver_HmdDisplayNotFoundAfterFix = 210, // not needed: here for historic reasons - VRInitError_Driver_HmdDriverIdOutOfBounds = 211, - VRInitError_Driver_HmdDisplayMirrored = 212, - - VRInitError_IPC_ServerInitFailed = 300, - VRInitError_IPC_ConnectFailed = 301, - VRInitError_IPC_SharedStateInitFailed = 302, - VRInitError_IPC_CompositorInitFailed = 303, - VRInitError_IPC_MutexInitFailed = 304, - VRInitError_IPC_Failed = 305, - VRInitError_IPC_CompositorConnectFailed = 306, - VRInitError_IPC_CompositorInvalidConnectResponse = 307, - VRInitError_IPC_ConnectFailedAfterMultipleAttempts = 308, - - VRInitError_Compositor_Failed = 400, - VRInitError_Compositor_D3D11HardwareRequired = 401, - VRInitError_Compositor_FirmwareRequiresUpdate = 402, - VRInitError_Compositor_OverlayInitFailed = 403, - VRInitError_Compositor_ScreenshotsInitFailed = 404, - VRInitError_Compositor_UnableToCreateDevice = 405, - - VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000, - - VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101, - VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102, - VRInitError_VendorSpecific_HmdFound_NoStoredConfig = 1103, - VRInitError_VendorSpecific_HmdFound_ConfigTooBig = 1104, - VRInitError_VendorSpecific_HmdFound_ConfigTooSmall = 1105, - VRInitError_VendorSpecific_HmdFound_UnableToInitZLib = 1106, - VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion = 1107, - VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart = 1108, - VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart = 1109, - VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext = 1110, - VRInitError_VendorSpecific_HmdFound_UserDataAddressRange = 1111, - VRInitError_VendorSpecific_HmdFound_UserDataError = 1112, - VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113, - - VRInitError_Steam_SteamInstallationNotFound = 2000, -}; - -enum EVRScreenshotType -{ - VRScreenshotType_None = 0, - VRScreenshotType_Mono = 1, // left eye only - VRScreenshotType_Stereo = 2, - VRScreenshotType_Cubemap = 3, - VRScreenshotType_MonoPanorama = 4, - VRScreenshotType_StereoPanorama = 5 -}; - -enum EVRScreenshotPropertyFilenames -{ - VRScreenshotPropertyFilenames_Preview = 0, - VRScreenshotPropertyFilenames_VR = 1, -}; - -enum EVRTrackedCameraError -{ - VRTrackedCameraError_None = 0, - VRTrackedCameraError_OperationFailed = 100, - VRTrackedCameraError_InvalidHandle = 101, - VRTrackedCameraError_InvalidFrameHeaderVersion = 102, - VRTrackedCameraError_OutOfHandles = 103, - VRTrackedCameraError_IPCFailure = 104, - VRTrackedCameraError_NotSupportedForThisDevice = 105, - VRTrackedCameraError_SharedMemoryFailure = 106, - VRTrackedCameraError_FrameBufferingFailure = 107, - VRTrackedCameraError_StreamSetupFailure = 108, - VRTrackedCameraError_InvalidGLTextureId = 109, - VRTrackedCameraError_InvalidSharedTextureHandle = 110, - VRTrackedCameraError_FailedToGetGLTextureId = 111, - VRTrackedCameraError_SharedTextureFailure = 112, - VRTrackedCameraError_NoFrameAvailable = 113, - VRTrackedCameraError_InvalidArgument = 114, - VRTrackedCameraError_InvalidFrameBufferSize = 115, -}; - -enum EVRTrackedCameraFrameType -{ - VRTrackedCameraFrameType_Distorted = 0, // This is the camera video frame size in pixels, still distorted. - VRTrackedCameraFrameType_Undistorted, // In pixels, an undistorted inscribed rectangle region without invalid regions. This size is subject to changes shortly. - VRTrackedCameraFrameType_MaximumUndistorted, // In pixels, maximum undistorted with invalid regions. Non zero alpha component identifies valid regions. - MAX_CAMERA_FRAME_TYPES -}; - -typedef uint64_t TrackedCameraHandle_t; -#define INVALID_TRACKED_CAMERA_HANDLE ((vr::TrackedCameraHandle_t)0) - -struct CameraVideoStreamFrameHeader_t -{ - EVRTrackedCameraFrameType eFrameType; - - uint32_t nWidth; - uint32_t nHeight; - uint32_t nBytesPerPixel; - - uint32_t nFrameSequence; - - TrackedDevicePose_t standingTrackedDevicePose; -}; - -// Screenshot types -typedef uint32_t ScreenshotHandle_t; - -static const uint32_t k_unScreenshotHandleInvalid = 0; - -#pragma pack( pop ) - -// figure out how to import from the VR API dll -#if defined(_WIN32) - -#ifdef VR_API_EXPORT -#define VR_INTERFACE extern "C" __declspec( dllexport ) -#else -#define VR_INTERFACE extern "C" __declspec( dllimport ) -#endif - -#elif defined(__GNUC__) || defined(COMPILER_GCC) || defined(__APPLE__) - -#ifdef VR_API_EXPORT -#define VR_INTERFACE extern "C" __attribute__((visibility("default"))) -#else -#define VR_INTERFACE extern "C" -#endif - -#else -#error "Unsupported Platform." -#endif - - -#if defined( _WIN32 ) -#define VR_CALLTYPE __cdecl -#else -#define VR_CALLTYPE -#endif - -} // namespace vr - -#endif // _INCLUDE_VRTYPES_H - - -// vrannotation.h -#ifdef API_GEN -# define VR_CLANG_ATTR(ATTR) __attribute__((annotate( ATTR ))) -#else -# define VR_CLANG_ATTR(ATTR) -#endif - -#define VR_METHOD_DESC(DESC) VR_CLANG_ATTR( "desc:" #DESC ";" ) -#define VR_IGNOREATTR() VR_CLANG_ATTR( "ignore" ) -#define VR_OUT_STRUCT() VR_CLANG_ATTR( "out_struct: ;" ) -#define VR_OUT_STRING() VR_CLANG_ATTR( "out_string: ;" ) -#define VR_OUT_ARRAY_CALL(COUNTER,FUNCTION,PARAMS) VR_CLANG_ATTR( "out_array_call:" #COUNTER "," #FUNCTION "," #PARAMS ";" ) -#define VR_OUT_ARRAY_COUNT(COUNTER) VR_CLANG_ATTR( "out_array_count:" #COUNTER ";" ) -#define VR_ARRAY_COUNT(COUNTER) VR_CLANG_ATTR( "array_count:" #COUNTER ";" ) -#define VR_ARRAY_COUNT_D(COUNTER, DESC) VR_CLANG_ATTR( "array_count:" #COUNTER ";desc:" #DESC ) -#define VR_BUFFER_COUNT(COUNTER) VR_CLANG_ATTR( "buffer_count:" #COUNTER ";" ) -#define VR_OUT_BUFFER_COUNT(COUNTER) VR_CLANG_ATTR( "out_buffer_count:" #COUNTER ";" ) -#define VR_OUT_STRING_COUNT(COUNTER) VR_CLANG_ATTR( "out_string_count:" #COUNTER ";" ) - -// vrtrackedcameratypes.h -#ifndef _VRTRACKEDCAMERATYPES_H -#define _VRTRACKEDCAMERATYPES_H - -namespace vr -{ - -#pragma pack( push, 8 ) - -enum ECameraVideoStreamFormat -{ - CVS_FORMAT_UNKNOWN = 0, - CVS_FORMAT_RAW10 = 1, // 10 bits per pixel - CVS_FORMAT_NV12 = 2, // 12 bits per pixel - CVS_FORMAT_RGB24 = 3, // 24 bits per pixel - CVS_MAX_FORMATS -}; - -enum ECameraCompatibilityMode -{ - CAMERA_COMPAT_MODE_BULK_DEFAULT = 0, - CAMERA_COMPAT_MODE_BULK_64K_DMA, - CAMERA_COMPAT_MODE_BULK_16K_DMA, - CAMERA_COMPAT_MODE_BULK_8K_DMA, - CAMERA_COMPAT_MODE_ISO_52FPS, - CAMERA_COMPAT_MODE_ISO_50FPS, - CAMERA_COMPAT_MODE_ISO_48FPS, - CAMERA_COMPAT_MODE_ISO_46FPS, - CAMERA_COMPAT_MODE_ISO_44FPS, - CAMERA_COMPAT_MODE_ISO_42FPS, - CAMERA_COMPAT_MODE_ISO_40FPS, - CAMERA_COMPAT_MODE_ISO_35FPS, - CAMERA_COMPAT_MODE_ISO_30FPS, - MAX_CAMERA_COMPAT_MODES -}; - -#ifdef _MSC_VER -#define VR_CAMERA_DECL_ALIGN( x ) __declspec( align( x ) ) -#else -#define VR_CAMERA_DECL_ALIGN( x ) // -#endif - -#define MAX_CAMERA_FRAME_SHARED_HANDLES 4 - -VR_CAMERA_DECL_ALIGN( 8 ) struct CameraVideoStreamFrame_t -{ - ECameraVideoStreamFormat m_nStreamFormat; - - uint32_t m_nWidth; - uint32_t m_nHeight; - - uint32_t m_nImageDataSize; // Based on stream format, width, height - - uint32_t m_nFrameSequence; // Starts from 0 when stream starts. - - uint32_t m_nBufferIndex; // Identifies which buffer the image data is hosted - uint32_t m_nBufferCount; // Total number of configured buffers - - uint32_t m_nExposureTime; - - uint32_t m_nISPFrameTimeStamp; // Driver provided time stamp per driver centric time base - uint32_t m_nISPReferenceTimeStamp; - uint32_t m_nSyncCounter; - - uint32_t m_nCamSyncEvents; - uint32_t m_nISPSyncEvents; - - double m_flReferenceCamSyncTime; - - double m_flFrameElapsedTime; // Starts from 0 when stream starts. In seconds. - double m_flFrameDeliveryRate; - - double m_flFrameCaptureTime_DriverAbsolute; // In USB time, via AuxEvent - double m_flFrameCaptureTime_ServerRelative; // In System time within the server - uint64_t m_nFrameCaptureTicks_ServerAbsolute; // In system ticks within the server - double m_flFrameCaptureTime_ClientRelative; // At the client, relative to when the frame was exposed/captured. - - double m_flSyncMarkerError; - - TrackedDevicePose_t m_StandingTrackedDevicePose; // Supplied by HMD layer when used as a tracked camera - - uint64_t m_pImageData; -}; - -#pragma pack( pop ) - -} - -#endif // _VRTRACKEDCAMERATYPES_H -// ivrsettings.h -namespace vr -{ - enum EVRSettingsError - { - VRSettingsError_None = 0, - VRSettingsError_IPCFailed = 1, - VRSettingsError_WriteFailed = 2, - VRSettingsError_ReadFailed = 3, - VRSettingsError_JsonParseFailed = 4, - VRSettingsError_UnsetSettingHasNoDefault = 5, // This will be returned if the setting does not appear in the appropriate default file and has not been set - }; - - // The maximum length of a settings key - static const uint32_t k_unMaxSettingsKeyLength = 128; - - class IVRSettings - { - public: - virtual const char *GetSettingsErrorNameFromEnum( EVRSettingsError eError ) = 0; - - // Returns true if file sync occurred (force or settings dirty) - virtual bool Sync( bool bForce = false, EVRSettingsError *peError = nullptr ) = 0; - - virtual void SetBool( const char *pchSection, const char *pchSettingsKey, bool bValue, EVRSettingsError *peError = nullptr ) = 0; - virtual void SetInt32( const char *pchSection, const char *pchSettingsKey, int32_t nValue, EVRSettingsError *peError = nullptr ) = 0; - virtual void SetFloat( const char *pchSection, const char *pchSettingsKey, float flValue, EVRSettingsError *peError = nullptr ) = 0; - virtual void SetString( const char *pchSection, const char *pchSettingsKey, const char *pchValue, EVRSettingsError *peError = nullptr ) = 0; - - // Users of the system need to provide a proper default in default.vrsettings in the resources/settings/ directory - // of either the runtime or the driver_xxx directory. Otherwise the default will be false, 0, 0.0 or "" - virtual bool GetBool( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; - virtual int32_t GetInt32( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; - virtual float GetFloat( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; - virtual void GetString( const char *pchSection, const char *pchSettingsKey, VR_OUT_STRING() char *pchValue, uint32_t unValueLen, EVRSettingsError *peError = nullptr ) = 0; - - virtual void RemoveSection( const char *pchSection, EVRSettingsError *peError = nullptr ) = 0; - virtual void RemoveKeyInSection( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; - }; - - //----------------------------------------------------------------------------- - static const char * const IVRSettings_Version = "IVRSettings_002"; - - //----------------------------------------------------------------------------- - // steamvr keys - static const char * const k_pch_SteamVR_Section = "steamvr"; - static const char * const k_pch_SteamVR_RequireHmd_String = "requireHmd"; - static const char * const k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver"; - static const char * const k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd"; - static const char * const k_pch_SteamVR_DisplayDebug_Bool = "displayDebug"; - static const char * const k_pch_SteamVR_DebugProcessPipe_String = "debugProcessPipe"; - static const char * const k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX"; - static const char * const k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY"; - static const char * const k_pch_SteamVR_SendSystemButtonToAllApps_Bool= "sendSystemButtonToAllApps"; - static const char * const k_pch_SteamVR_LogLevel_Int32 = "loglevel"; - static const char * const k_pch_SteamVR_IPD_Float = "ipd"; - static const char * const k_pch_SteamVR_Background_String = "background"; - static const char * const k_pch_SteamVR_BackgroundUseDomeProjection_Bool = "backgroundUseDomeProjection"; - static const char * const k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCameraHeight"; - static const char * const k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRadius"; - static const char * const k_pch_SteamVR_GridColor_String = "gridColor"; - static const char * const k_pch_SteamVR_PlayAreaColor_String = "playAreaColor"; - static const char * const k_pch_SteamVR_ShowStage_Bool = "showStage"; - static const char * const k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers"; - static const char * const k_pch_SteamVR_DirectMode_Bool = "directMode"; - static const char * const k_pch_SteamVR_DirectModeEdidVid_Int32 = "directModeEdidVid"; - static const char * const k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid"; - static const char * const k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers"; - static const char * const k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees"; - static const char * const k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestationPowerManagement"; - static const char * const k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses"; - static const char * const k_pch_SteamVR_SupersampleScale_Float = "supersampleScale"; - static const char * const k_pch_SteamVR_AllowAsyncReprojection_Bool = "allowAsyncReprojection"; - static const char * const k_pch_SteamVR_AllowReprojection_Bool = "allowInterleavedReprojection"; - static const char * const k_pch_SteamVR_ForceReprojection_Bool = "forceReprojection"; - static const char * const k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; - static const char * const k_pch_SteamVR_DefaultMirrorView_Int32 = "defaultMirrorView"; - static const char * const k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView"; - static const char * const k_pch_SteamVR_MirrorViewGeometry_String = "mirrorViewGeometry"; - static const char * const k_pch_SteamVR_StartMonitorFromAppLaunch = "startMonitorFromAppLaunch"; - static const char * const k_pch_SteamVR_StartCompositorFromAppLaunch_Bool = "startCompositorFromAppLaunch"; - static const char * const k_pch_SteamVR_StartDashboardFromAppLaunch_Bool = "startDashboardFromAppLaunch"; - static const char * const k_pch_SteamVR_StartOverlayAppsFromDashboard_Bool = "startOverlayAppsFromDashboard"; - static const char * const k_pch_SteamVR_EnableHomeApp = "enableHomeApp"; - static const char * const k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32 = "CycleBackgroundImageTimeSec"; - static const char * const k_pch_SteamVR_RetailDemo_Bool = "retailDemo"; - static const char * const k_pch_SteamVR_IpdOffset_Float = "ipdOffset"; - static const char * const k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering"; - static const char * const k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync"; - - //----------------------------------------------------------------------------- - // lighthouse keys - static const char * const k_pch_Lighthouse_Section = "driver_lighthouse"; - static const char * const k_pch_Lighthouse_DisableIMU_Bool = "disableimu"; - static const char * const k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation"; - static const char * const k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug"; - static const char * const k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation"; - static const char * const k_pch_Lighthouse_DBHistory_Bool = "dbhistory"; - - //----------------------------------------------------------------------------- - // null keys - static const char * const k_pch_Null_Section = "driver_null"; - static const char * const k_pch_Null_SerialNumber_String = "serialNumber"; - static const char * const k_pch_Null_ModelNumber_String = "modelNumber"; - static const char * const k_pch_Null_WindowX_Int32 = "windowX"; - static const char * const k_pch_Null_WindowY_Int32 = "windowY"; - static const char * const k_pch_Null_WindowWidth_Int32 = "windowWidth"; - static const char * const k_pch_Null_WindowHeight_Int32 = "windowHeight"; - static const char * const k_pch_Null_RenderWidth_Int32 = "renderWidth"; - static const char * const k_pch_Null_RenderHeight_Int32 = "renderHeight"; - static const char * const k_pch_Null_SecondsFromVsyncToPhotons_Float = "secondsFromVsyncToPhotons"; - static const char * const k_pch_Null_DisplayFrequency_Float = "displayFrequency"; - - //----------------------------------------------------------------------------- - // user interface keys - static const char * const k_pch_UserInterface_Section = "userinterface"; - static const char * const k_pch_UserInterface_StatusAlwaysOnTop_Bool = "StatusAlwaysOnTop"; - static const char * const k_pch_UserInterface_MinimizeToTray_Bool = "MinimizeToTray"; - static const char * const k_pch_UserInterface_Screenshots_Bool = "screenshots"; - static const char * const k_pch_UserInterface_ScreenshotType_Int = "screenshotType"; - - //----------------------------------------------------------------------------- - // notification keys - static const char * const k_pch_Notifications_Section = "notifications"; - static const char * const k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb"; - - //----------------------------------------------------------------------------- - // keyboard keys - static const char * const k_pch_Keyboard_Section = "keyboard"; - static const char * const k_pch_Keyboard_TutorialCompletions = "TutorialCompletions"; - static const char * const k_pch_Keyboard_ScaleX = "ScaleX"; - static const char * const k_pch_Keyboard_ScaleY = "ScaleY"; - static const char * const k_pch_Keyboard_OffsetLeftX = "OffsetLeftX"; - static const char * const k_pch_Keyboard_OffsetRightX = "OffsetRightX"; - static const char * const k_pch_Keyboard_OffsetY = "OffsetY"; - static const char * const k_pch_Keyboard_Smoothing = "Smoothing"; - - //----------------------------------------------------------------------------- - // perf keys - static const char * const k_pch_Perf_Section = "perfcheck"; - static const char * const k_pch_Perf_HeuristicActive_Bool = "heuristicActive"; - static const char * const k_pch_Perf_NotifyInHMD_Bool = "warnInHMD"; - static const char * const k_pch_Perf_NotifyOnlyOnce_Bool = "warnOnlyOnce"; - static const char * const k_pch_Perf_AllowTimingStore_Bool = "allowTimingStore"; - static const char * const k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit"; - static const char * const k_pch_Perf_TestData_Float = "perfTestData"; - static const char * const k_pch_Perf_LinuxGPUProfiling_Bool = "linuxGPUProfiling"; - - //----------------------------------------------------------------------------- - // collision bounds keys - static const char * const k_pch_CollisionBounds_Section = "collisionBounds"; - static const char * const k_pch_CollisionBounds_Style_Int32 = "CollisionBoundsStyle"; - static const char * const k_pch_CollisionBounds_GroundPerimeterOn_Bool = "CollisionBoundsGroundPerimeterOn"; - static const char * const k_pch_CollisionBounds_CenterMarkerOn_Bool = "CollisionBoundsCenterMarkerOn"; - static const char * const k_pch_CollisionBounds_PlaySpaceOn_Bool = "CollisionBoundsPlaySpaceOn"; - static const char * const k_pch_CollisionBounds_FadeDistance_Float = "CollisionBoundsFadeDistance"; - static const char * const k_pch_CollisionBounds_ColorGammaR_Int32 = "CollisionBoundsColorGammaR"; - static const char * const k_pch_CollisionBounds_ColorGammaG_Int32 = "CollisionBoundsColorGammaG"; - static const char * const k_pch_CollisionBounds_ColorGammaB_Int32 = "CollisionBoundsColorGammaB"; - static const char * const k_pch_CollisionBounds_ColorGammaA_Int32 = "CollisionBoundsColorGammaA"; - - //----------------------------------------------------------------------------- - // camera keys - static const char * const k_pch_Camera_Section = "camera"; - static const char * const k_pch_Camera_EnableCamera_Bool = "enableCamera"; - static const char * const k_pch_Camera_EnableCameraInDashboard_Bool = "enableCameraInDashboard"; - static const char * const k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCameraForCollisionBounds"; - static const char * const k_pch_Camera_EnableCameraForRoomView_Bool = "enableCameraForRoomView"; - static const char * const k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGammaR"; - static const char * const k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGammaG"; - static const char * const k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB"; - static const char * const k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA"; - static const char * const k_pch_Camera_BoundsStrength_Int32 = "cameraBoundsStrength"; - - //----------------------------------------------------------------------------- - // audio keys - static const char * const k_pch_audio_Section = "audio"; - static const char * const k_pch_audio_OnPlaybackDevice_String = "onPlaybackDevice"; - static const char * const k_pch_audio_OnRecordDevice_String = "onRecordDevice"; - static const char * const k_pch_audio_OnPlaybackMirrorDevice_String = "onPlaybackMirrorDevice"; - static const char * const k_pch_audio_OffPlaybackDevice_String = "offPlaybackDevice"; - static const char * const k_pch_audio_OffRecordDevice_String = "offRecordDevice"; - static const char * const k_pch_audio_VIVEHDMIGain = "viveHDMIGain"; - - //----------------------------------------------------------------------------- - // power management keys - static const char * const k_pch_Power_Section = "power"; - static const char * const k_pch_Power_PowerOffOnExit_Bool = "powerOffOnExit"; - static const char * const k_pch_Power_TurnOffScreensTimeout_Float = "turnOffScreensTimeout"; - static const char * const k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout"; - static const char * const k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout"; - static const char * const k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress"; - static const char * const k_pch_Power_PauseCompositorOnStandby_Bool = "pauseCompositorOnStandby"; - - //----------------------------------------------------------------------------- - // dashboard keys - static const char * const k_pch_Dashboard_Section = "dashboard"; - static const char * const k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard"; - static const char * const k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode"; - - //----------------------------------------------------------------------------- - // model skin keys - static const char * const k_pch_modelskin_Section = "modelskins"; - - //----------------------------------------------------------------------------- - // driver keys - These could be checked in any driver_ section - static const char * const k_pch_Driver_Enable_Bool = "enable"; - -} // namespace vr - -// iservertrackeddevicedriver.h -namespace vr -{ - - -struct DriverPoseQuaternion_t -{ - double w, x, y, z; -}; - -struct DriverPose_t -{ - /* Time offset of this pose, in seconds from the actual time of the pose, - * relative to the time of the PoseUpdated() call made by the driver. - */ - double poseTimeOffset; - - /* Generally, the pose maintained by a driver - * is in an inertial coordinate system different - * from the world system of x+ right, y+ up, z+ back. - * Also, the driver is not usually tracking the "head" position, - * but instead an internal IMU or another reference point in the HMD. - * The following two transforms transform positions and orientations - * to app world space from driver world space, - * and to HMD head space from driver local body space. - * - * We maintain the driver pose state in its internal coordinate system, - * so we can do the pose prediction math without having to - * use angular acceleration. A driver's angular acceleration is generally not measured, - * and is instead calculated from successive samples of angular velocity. - * This leads to a noisy angular acceleration values, which are also - * lagged due to the filtering required to reduce noise to an acceptable level. - */ - vr::HmdQuaternion_t qWorldFromDriverRotation; - double vecWorldFromDriverTranslation[ 3 ]; - - vr::HmdQuaternion_t qDriverFromHeadRotation; - double vecDriverFromHeadTranslation[ 3 ]; - - /* State of driver pose, in meters and radians. */ - /* Position of the driver tracking reference in driver world space - * +[0] (x) is right - * +[1] (y) is up - * -[2] (z) is forward - */ - double vecPosition[ 3 ]; - - /* Velocity of the pose in meters/second */ - double vecVelocity[ 3 ]; - - /* Acceleration of the pose in meters/second */ - double vecAcceleration[ 3 ]; - - /* Orientation of the tracker, represented as a quaternion */ - vr::HmdQuaternion_t qRotation; - - /* Angular velocity of the pose in axis-angle - * representation. The direction is the angle of - * rotation and the magnitude is the angle around - * that axis in radians/second. */ - double vecAngularVelocity[ 3 ]; - - /* Angular acceleration of the pose in axis-angle - * representation. The direction is the angle of - * rotation and the magnitude is the angle around - * that axis in radians/second^2. */ - double vecAngularAcceleration[ 3 ]; - - ETrackingResult result; - - bool poseIsValid; - bool willDriftInYaw; - bool shouldApplyHeadModel; - bool deviceIsConnected; -}; - - -// ---------------------------------------------------------------------------------------------- -// Purpose: Represents a single tracked device in a driver -// ---------------------------------------------------------------------------------------------- -class ITrackedDeviceServerDriver -{ -public: - - // ------------------------------------ - // Management Methods - // ------------------------------------ - /** This is called before an HMD is returned to the application. It will always be - * called before any display or tracking methods. Memory and processor use by the - * ITrackedDeviceServerDriver object should be kept to a minimum until it is activated. - * The pose listener is guaranteed to be valid until Deactivate is called, but - * should not be used after that point. */ - virtual EVRInitError Activate( uint32_t unObjectId ) = 0; - - /** This is called when The VR system is switching from this Hmd being the active display - * to another Hmd being the active display. The driver should clean whatever memory - * and thread use it can when it is deactivated */ - virtual void Deactivate() = 0; - - /** Handles a request from the system to put this device into standby mode. What that means is defined per-device. */ - virtual void EnterStandby() = 0; - - /** Requests a component interface of the driver for device-specific functionality. The driver should return NULL - * if the requested interface or version is not supported. */ - virtual void *GetComponent( const char *pchComponentNameAndVersion ) = 0; - - /** A VR Client has made this debug request of the driver. The set of valid requests is entirely - * up to the driver and the client to figure out, as is the format of the response. Responses that - * exceed the length of the supplied buffer should be truncated and null terminated */ - virtual void DebugRequest( const char *pchRequest, char *pchResponseBuffer, uint32_t unResponseBufferSize ) = 0; - - // ------------------------------------ - // Tracking Methods - // ------------------------------------ - virtual DriverPose_t GetPose() = 0; -}; - - - -static const char *ITrackedDeviceServerDriver_Version = "ITrackedDeviceServerDriver_005"; - -} -// ivrdisplaycomponent.h -namespace vr -{ - - - // ---------------------------------------------------------------------------------------------- - // Purpose: The display component on a single tracked device - // ---------------------------------------------------------------------------------------------- - class IVRDisplayComponent - { - public: - - // ------------------------------------ - // Display Methods - // ------------------------------------ - - /** Size and position that the window needs to be on the VR display. */ - virtual void GetWindowBounds( int32_t *pnX, int32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; - - /** Returns true if the display is extending the desktop. */ - virtual bool IsDisplayOnDesktop( ) = 0; - - /** Returns true if the display is real and not a fictional display. */ - virtual bool IsDisplayRealDisplay( ) = 0; - - /** Suggested size for the intermediate render target that the distortion pulls from. */ - virtual void GetRecommendedRenderTargetSize( uint32_t *pnWidth, uint32_t *pnHeight ) = 0; - - /** Gets the viewport in the frame buffer to draw the output of the distortion into */ - virtual void GetEyeOutputViewport( EVREye eEye, uint32_t *pnX, uint32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; - - /** The components necessary to build your own projection matrix in case your - * application is doing something fancy like infinite Z */ - virtual void GetProjectionRaw( EVREye eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom ) = 0; - - /** Returns the result of the distortion function for the specified eye and input UVs. UVs go from 0,0 in - * the upper left of that eye's viewport and 1,1 in the lower right of that eye's viewport. */ - virtual DistortionCoordinates_t ComputeDistortion( EVREye eEye, float fU, float fV ) = 0; - - }; - - static const char *IVRDisplayComponent_Version = "IVRDisplayComponent_002"; - -} - -// ivrdriverdirectmodecomponent.h -namespace vr -{ - - - // ---------------------------------------------------------------------------------------------- - // Purpose: This component is used for drivers that implement direct mode entirely on their own - // without allowing the VR Compositor to own the window/device. Chances are you don't - // need to implement this component in your driver. - // ---------------------------------------------------------------------------------------------- - class IVRDriverDirectModeComponent - { - public: - - // ----------------------------------- - // Direct mode methods - // ----------------------------------- - - /** Specific to Oculus compositor support, textures supplied must be created using this method. */ - virtual void CreateSwapTextureSet( uint32_t unPid, uint32_t unFormat, uint32_t unWidth, uint32_t unHeight, vr::SharedTextureHandle_t( *pSharedTextureHandles )[ 3 ] ) {} - - /** Used to textures created using CreateSwapTextureSet. Only one of the set's handles needs to be used to destroy the entire set. */ - virtual void DestroySwapTextureSet( vr::SharedTextureHandle_t sharedTextureHandle ) {} - - /** Used to purge all texture sets for a given process. */ - virtual void DestroyAllSwapTextureSets( uint32_t unPid ) {} - - /** After Present returns, calls this to get the next index to use for rendering. */ - virtual void GetNextSwapTextureSetIndex( vr::SharedTextureHandle_t sharedTextureHandles[ 2 ], uint32_t( *pIndices )[ 2 ] ) {} - - /** Call once per layer to draw for this frame. One shared texture handle per eye. Textures must be created - * using CreateSwapTextureSet and should be alternated per frame. Call Present once all layers have been submitted. */ - virtual void SubmitLayer( vr::SharedTextureHandle_t sharedTextureHandles[ 2 ], const vr::VRTextureBounds_t( &bounds )[ 2 ], const vr::HmdMatrix34_t *pPose ) {} - - /** Submits queued layers for display. */ - virtual void Present( vr::SharedTextureHandle_t syncTexture ) {} - - }; - - static const char *IVRDriverDirectModeComponent_Version = "IVRDriverDirectModeComponent_002"; - -} - -// ivrcontrollercomponent.h -namespace vr -{ - - - // ---------------------------------------------------------------------------------------------- - // Purpose: Controller access on a single tracked device. - // ---------------------------------------------------------------------------------------------- - class IVRControllerComponent - { - public: - - // ------------------------------------ - // Controller Methods - // ------------------------------------ - - /** Gets the current state of a controller. */ - virtual VRControllerState_t GetControllerState( ) = 0; - - /** Returns a uint64 property. If the property is not available this function will return 0. */ - virtual bool TriggerHapticPulse( uint32_t unAxisId, uint16_t usPulseDurationMicroseconds ) = 0; - - }; - - - - static const char *IVRControllerComponent_Version = "IVRControllerComponent_001"; - -} -// ivrcameracomponent.h -namespace vr -{ - //----------------------------------------------------------------------------- - //----------------------------------------------------------------------------- - class ICameraVideoSinkCallback - { - public: - virtual void OnCameraVideoSinkCallback() = 0; - }; - - // ---------------------------------------------------------------------------------------------- - // Purpose: The camera on a single tracked device - // ---------------------------------------------------------------------------------------------- - class IVRCameraComponent - { - public: - // ------------------------------------ - // Camera Methods - // ------------------------------------ - virtual bool GetCameraFrameDimensions( vr::ECameraVideoStreamFormat nVideoStreamFormat, uint32_t *pWidth, uint32_t *pHeight ) = 0; - virtual bool GetCameraFrameBufferingRequirements( int *pDefaultFrameQueueSize, uint32_t *pFrameBufferDataSize ) = 0; - virtual bool SetCameraFrameBuffering( int nFrameBufferCount, void **ppFrameBuffers, uint32_t nFrameBufferDataSize ) = 0; - virtual bool SetCameraVideoStreamFormat( vr::ECameraVideoStreamFormat nVideoStreamFormat ) = 0; - virtual vr::ECameraVideoStreamFormat GetCameraVideoStreamFormat() = 0; - virtual bool StartVideoStream() = 0; - virtual void StopVideoStream() = 0; - virtual bool IsVideoStreamActive( bool *pbPaused, float *pflElapsedTime ) = 0; - virtual const vr::CameraVideoStreamFrame_t *GetVideoStreamFrame() = 0; - virtual void ReleaseVideoStreamFrame( const vr::CameraVideoStreamFrame_t *pFrameImage ) = 0; - virtual bool SetAutoExposure( bool bEnable ) = 0; - virtual bool PauseVideoStream() = 0; - virtual bool ResumeVideoStream() = 0; - virtual bool GetCameraDistortion( float flInputU, float flInputV, float *pflOutputU, float *pflOutputV ) = 0; - virtual bool GetCameraProjection( vr::EVRTrackedCameraFrameType eFrameType, float flZNear, float flZFar, vr::HmdMatrix44_t *pProjection ) = 0; - virtual bool SetFrameRate( int nISPFrameRate, int nSensorFrameRate ) = 0; - virtual bool SetCameraVideoSinkCallback( vr::ICameraVideoSinkCallback *pCameraVideoSinkCallback ) = 0; - virtual bool GetCameraCompatibilityMode( vr::ECameraCompatibilityMode *pCameraCompatibilityMode ) = 0; - virtual bool SetCameraCompatibilityMode( vr::ECameraCompatibilityMode nCameraCompatibilityMode ) = 0; - virtual bool GetCameraFrameBounds( vr::EVRTrackedCameraFrameType eFrameType, uint32_t *pLeft, uint32_t *pTop, uint32_t *pWidth, uint32_t *pHeight ) = 0; - virtual bool GetCameraIntrinsics( vr::EVRTrackedCameraFrameType eFrameType, HmdVector2_t *pFocalLength, HmdVector2_t *pCenter ) = 0; - }; - - static const char *IVRCameraComponent_Version = "IVRCameraComponent_002"; -} -// itrackeddevicedriverprovider.h -namespace vr -{ - -class ITrackedDeviceServerDriver; -struct TrackedDeviceDriverInfo_t; -struct DriverPose_t; -typedef PropertyContainerHandle_t DriverHandle_t; - -/** This interface is provided by vrserver to allow the driver to notify -* the system when something changes about a device. These changes must -* not change the serial number or class of the device because those values -* are permanently associated with the device's index. */ -class IVRDriverContext -{ -public: - /** Returns the requested interface. If the interface was not available it will return NULL and fill - * out the error. */ - virtual void *GetGenericInterface( const char *pchInterfaceVersion, EVRInitError *peError = nullptr ) = 0; - - /** Returns the property container handle for this driver */ - virtual DriverHandle_t GetDriverHandle() = 0; -}; - - -/** This interface must be implemented in each driver. It will be loaded in vrserver.exe */ -class IServerTrackedDeviceProvider -{ -public: - /** initializes the driver. This will be called before any other methods are called. - * If Init returns anything other than VRInitError_None the driver DLL will be unloaded. - * - * pDriverHost will never be NULL, and will always be a pointer to a IServerDriverHost interface - * - * pchUserDriverConfigDir - The absolute path of the directory where the driver should store user - * config files. - * pchDriverInstallDir - The absolute path of the root directory for the driver. - */ - virtual EVRInitError Init( IVRDriverContext *pDriverContext ) = 0; - - /** cleans up the driver right before it is unloaded */ - virtual void Cleanup() = 0; - - /** Returns the version of the ITrackedDeviceServerDriver interface used by this driver */ - virtual const char * const *GetInterfaceVersions() = 0; - - /** Allows the driver do to some work in the main loop of the server. */ - virtual void RunFrame() = 0; - - - // ------------ Power State Functions ----------------------- // - - /** Returns true if the driver wants to block Standby mode. */ - virtual bool ShouldBlockStandbyMode() = 0; - - /** Called when the system is entering Standby mode. The driver should switch itself into whatever sort of low-power - * state it has. */ - virtual void EnterStandby() = 0; - - /** Called when the system is leaving Standby mode. The driver should switch itself back to - full operation. */ - virtual void LeaveStandby() = 0; - -}; - - -static const char *IServerTrackedDeviceProvider_Version = "IServerTrackedDeviceProvider_004"; - - - - -/** This interface must be implemented in each driver. It will be loaded in vrclient.dll */ -class IVRWatchdogProvider -{ -public: - /** initializes the driver in watchdog mode. */ - virtual EVRInitError Init( IVRDriverContext *pDriverContext ) = 0; - - /** cleans up the driver right before it is unloaded */ - virtual void Cleanup() = 0; -}; - -static const char *IVRWatchdogProvider_Version = "IVRWatchdogProvider_001"; - -} -// ivrproperties.h -#include - -namespace vr -{ - - enum EPropertyWriteType - { - PropertyWrite_Set = 0, - PropertyWrite_Erase = 1, - PropertyWrite_SetError = 2 - }; - - struct PropertyWrite_t - { - ETrackedDeviceProperty prop; - EPropertyWriteType writeType; - ETrackedPropertyError eSetError; - void *pvBuffer; - uint32_t unBufferSize; - PropertyTypeTag_t unTag; - ETrackedPropertyError eError; - }; - - struct PropertyRead_t - { - ETrackedDeviceProperty prop; - void *pvBuffer; - uint32_t unBufferSize; - PropertyTypeTag_t unTag; - uint32_t unRequiredBufferSize; - ETrackedPropertyError eError; - }; - - -class IVRProperties -{ -public: - - /** Reads a set of properties atomically. See the PropertyReadBatch_t struct for more information. */ - virtual ETrackedPropertyError ReadPropertyBatch( PropertyContainerHandle_t ulContainerHandle, PropertyRead_t *pBatch, uint32_t unBatchEntryCount ) = 0; - - /** Writes a set of properties atomically. See the PropertyWriteBatch_t struct for more information. */ - virtual ETrackedPropertyError WritePropertyBatch( PropertyContainerHandle_t ulContainerHandle, PropertyWrite_t *pBatch, uint32_t unBatchEntryCount ) = 0; - - /** returns a string that corresponds with the specified property error. The string will be the name - * of the error enum value for all valid error codes */ - virtual const char *GetPropErrorNameFromEnum( ETrackedPropertyError error ) = 0; - - /** Returns a container handle given a tracked device index */ - virtual PropertyContainerHandle_t TrackedDeviceToPropertyContainer( TrackedDeviceIndex_t nDevice ) = 0; - -}; - -static const char * const IVRProperties_Version = "IVRProperties_001"; - -class CVRPropertyHelpers -{ -public: - CVRPropertyHelpers( IVRProperties * pProperties ) : m_pProperties( pProperties ) {} - - /** Returns a scaler property. If the device index is not valid or the property value type does not match, - * this function will return false. */ - bool GetBoolProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ); - float GetFloatProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ); - int32_t GetInt32Property( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ); - uint64_t GetUint64Property( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ); - - /** Returns a single typed property. If the device index is not valid or the property is not a string type this function will - * return 0. Otherwise it returns the length of the number of bytes necessary to hold this string including the trailing - * null. Strings will always fit in buffers of k_unMaxPropertyStringSize characters. */ - uint32_t GetProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, VR_OUT_STRING() void *pvBuffer, uint32_t unBufferSize, PropertyTypeTag_t *punTag, ETrackedPropertyError *pError = 0L ); - - - /** Returns a string property. If the device index is not valid or the property is not a string type this function will - * return 0. Otherwise it returns the length of the number of bytes necessary to hold this string including the trailing - * null. Strings will always fit in buffers of k_unMaxPropertyStringSize characters. */ - uint32_t GetStringProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize, ETrackedPropertyError *pError = 0L ); - - /** Returns a string property as a std::string. If the device index is not valid or the property is not a string type this function will - * return an empty string. */ - std::string GetStringProperty( vr::PropertyContainerHandle_t ulContainer, vr::ETrackedDeviceProperty prop, vr::ETrackedPropertyError *peError = nullptr ); - - /** Sets a scaler property. The new value will be returned on any subsequent call to get this property in any process. */ - ETrackedPropertyError SetBoolProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, bool bNewValue ); - ETrackedPropertyError SetFloatProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, float fNewValue ); - ETrackedPropertyError SetInt32Property( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, int32_t nNewValue ); - ETrackedPropertyError SetUint64Property( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, uint64_t ulNewValue ); - - /** Sets a string property. The new value will be returned on any subsequent call to get this property in any process. */ - ETrackedPropertyError SetStringProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, const char *pchNewValue ); - - /** Sets a single typed property. The new value will be returned on any subsequent call to get this property in any process. */ - ETrackedPropertyError SetProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, void *pvNewValue, uint32_t unNewValueSize, PropertyTypeTag_t unTag ); - - /** Sets the error return value for a property. This value will be returned on all subsequent requests to get the property */ - ETrackedPropertyError SetPropertyError( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError eError ); - - /** Clears any value or error set for the property. */ - ETrackedPropertyError EraseProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop ); - - /* Turns a device index into a property container handle. */ - PropertyContainerHandle_t TrackedDeviceToPropertyContainer( TrackedDeviceIndex_t nDevice ) { return m_pProperties->TrackedDeviceToPropertyContainer( nDevice ); } - -private: - template - T GetPropertyHelper( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError *pError, T bDefault, PropertyTypeTag_t unTypeTag ); - - IVRProperties *m_pProperties; -}; - - -inline uint32_t CVRPropertyHelpers::GetProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, VR_OUT_STRING() void *pvBuffer, uint32_t unBufferSize, PropertyTypeTag_t *punTag, ETrackedPropertyError *pError ) -{ - PropertyRead_t batch; - batch.prop = prop; - batch.pvBuffer = pvBuffer; - batch.unBufferSize = unBufferSize; - - m_pProperties->ReadPropertyBatch( ulContainerHandle, &batch, 1 ); - - if ( pError ) - { - *pError = batch.eError; - } - - if ( punTag ) - { - *punTag = batch.unTag; - } - - return batch.unRequiredBufferSize; -} - - -/** Sets a single typed property. The new value will be returned on any subsequent call to get this property in any process. */ -inline ETrackedPropertyError CVRPropertyHelpers::SetProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, void *pvNewValue, uint32_t unNewValueSize, PropertyTypeTag_t unTag ) -{ - PropertyWrite_t batch; - batch.writeType = PropertyWrite_Set; - batch.prop = prop; - batch.pvBuffer = pvNewValue; - batch.unBufferSize = unNewValueSize; - batch.unTag = unTag; - - m_pProperties->WritePropertyBatch( ulContainerHandle, &batch, 1 ); - - return batch.eError; -} - - -/** Returns a string property. If the device index is not valid or the property is not a string type this function will -* return 0. Otherwise it returns the length of the number of bytes necessary to hold this string including the trailing -* null. Strings will always fit in buffers of k_unMaxPropertyStringSize characters. */ -inline uint32_t CVRPropertyHelpers::GetStringProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize, ETrackedPropertyError *pError ) -{ - PropertyTypeTag_t unTag; - ETrackedPropertyError error; - uint32_t unRequiredSize = GetProperty( ulContainerHandle, prop, pchValue, unBufferSize, &unTag, &error ); - if ( unTag != k_unStringPropertyTag && error == TrackedProp_Success ) - { - error = TrackedProp_WrongDataType; - } - - if ( pError ) - { - *pError = error; - } - - if ( error != TrackedProp_Success ) - { - if ( pchValue && unBufferSize ) - { - *pchValue = '\0'; - } - } - - return unRequiredSize; -} - - -/** Returns a string property as a std::string. If the device index is not valid or the property is not a string type this function will -* return an empty string. */ -inline std::string CVRPropertyHelpers::GetStringProperty( vr::PropertyContainerHandle_t ulContainer, vr::ETrackedDeviceProperty prop, vr::ETrackedPropertyError *peError ) -{ - char buf[1024]; - vr::ETrackedPropertyError err; - uint32_t unRequiredBufferLen = GetStringProperty( ulContainer, prop, buf, sizeof(buf), &err ); - - std::string sResult; - - if ( err == TrackedProp_Success ) - { - sResult = buf; - } - else if ( err == TrackedProp_BufferTooSmall ) - { - char *pchBuffer = new char[unRequiredBufferLen]; - unRequiredBufferLen = GetStringProperty( ulContainer, prop, pchBuffer, unRequiredBufferLen, &err ); - sResult = pchBuffer; - delete[] pchBuffer; - } - - if ( peError ) - { - *peError = err; - } - - return sResult; -} - - -/** Sets a string property. The new value will be returned on any subsequent call to get this property in any process. */ -inline ETrackedPropertyError CVRPropertyHelpers::SetStringProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, const char *pchNewValue ) -{ - if ( !pchNewValue ) - return TrackedProp_InvalidOperation; - - // this is strlen without the dependency on string.h - const char *pchCurr = pchNewValue; - while ( *pchCurr ) - { - pchCurr++; - } - - return SetProperty( ulContainerHandle, prop, (void *)pchNewValue, (uint32_t)(pchCurr - pchNewValue) + 1, k_unStringPropertyTag ); -} - - -template -inline T CVRPropertyHelpers::GetPropertyHelper( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError *pError, T bDefault, PropertyTypeTag_t unTypeTag ) -{ - T bValue; - ETrackedPropertyError eError; - PropertyTypeTag_t unReadTag; - GetProperty( ulContainerHandle, prop, &bValue, sizeof( bValue ), &unReadTag, &eError ); - if ( unReadTag != unTypeTag && eError == TrackedProp_Success ) - { - eError = TrackedProp_WrongDataType; - }; - - if ( pError ) - *pError = eError; - if ( eError != TrackedProp_Success ) - { - return bDefault; - } - else - { - return bValue; - } -} - - -inline bool CVRPropertyHelpers::GetBoolProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError *pError ) -{ - return GetPropertyHelper( ulContainerHandle, prop, pError, false, k_unBoolPropertyTag ); -} - - -inline float CVRPropertyHelpers::GetFloatProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError *pError ) -{ - return GetPropertyHelper( ulContainerHandle, prop, pError, 0.f, k_unFloatPropertyTag ); -} - -inline int32_t CVRPropertyHelpers::GetInt32Property( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError *pError ) -{ - return GetPropertyHelper( ulContainerHandle, prop, pError, 0, k_unInt32PropertyTag ); -} - -inline uint64_t CVRPropertyHelpers::GetUint64Property( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError *pError ) -{ - return GetPropertyHelper( ulContainerHandle, prop, pError, 0, k_unUint64PropertyTag ); -} - -inline ETrackedPropertyError CVRPropertyHelpers::SetBoolProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, bool bNewValue ) -{ - return SetProperty( ulContainerHandle, prop, &bNewValue, sizeof( bNewValue ), k_unBoolPropertyTag ); -} - -inline ETrackedPropertyError CVRPropertyHelpers::SetFloatProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, float fNewValue ) -{ - return SetProperty( ulContainerHandle, prop, &fNewValue, sizeof( fNewValue ), k_unFloatPropertyTag ); -} - -inline ETrackedPropertyError CVRPropertyHelpers::SetInt32Property( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, int32_t nNewValue ) -{ - return SetProperty( ulContainerHandle, prop, &nNewValue, sizeof( nNewValue ), k_unInt32PropertyTag ); -} - -inline ETrackedPropertyError CVRPropertyHelpers::SetUint64Property( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, uint64_t ulNewValue ) -{ - return SetProperty( ulContainerHandle, prop, &ulNewValue, sizeof( ulNewValue ), k_unUint64PropertyTag ); -} - -/** Sets the error return value for a property. This value will be returned on all subsequent requests to get the property */ -inline ETrackedPropertyError CVRPropertyHelpers::SetPropertyError( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop, ETrackedPropertyError eError ) -{ - PropertyWrite_t batch; - batch.writeType = PropertyWrite_SetError; - batch.prop = prop; - batch.eSetError = eError; - - m_pProperties->WritePropertyBatch( ulContainerHandle, &batch, 1 ); - - return batch.eError; -} - -/** Clears any value or error set for the property. */ -inline ETrackedPropertyError CVRPropertyHelpers::EraseProperty( PropertyContainerHandle_t ulContainerHandle, ETrackedDeviceProperty prop ) -{ - PropertyWrite_t batch; - batch.writeType = PropertyWrite_Erase; - batch.prop = prop; - - m_pProperties->WritePropertyBatch( ulContainerHandle, &batch, 1 ); - - return batch.eError; - -} - -} - - -// ivrdriverlog.h -namespace vr -{ - -class IVRDriverLog -{ -public: - /** Writes a log message to the log file prefixed with the driver name */ - virtual void Log( const char *pchLogMessage ) = 0; -}; - - -static const char *IVRDriverLog_Version = "IVRDriverLog_001"; - -} -// ivrserverdriverhost.h -namespace vr -{ - -class ITrackedDeviceServerDriver; -struct TrackedDeviceDriverInfo_t; -struct DriverPose_t; - -/** This interface is provided by vrserver to allow the driver to notify -* the system when something changes about a device. These changes must -* not change the serial number or class of the device because those values -* are permanently associated with the device's index. */ -class IVRServerDriverHost -{ -public: - /** Notifies the server that a tracked device has been added. If this function returns true - * the server will call Activate on the device. If it returns false some kind of error - * has occurred and the device will not be activated. */ - virtual bool TrackedDeviceAdded( const char *pchDeviceSerialNumber, ETrackedDeviceClass eDeviceClass, ITrackedDeviceServerDriver *pDriver ) = 0; - - /** Notifies the server that a tracked device's pose has been updated */ - virtual void TrackedDevicePoseUpdated( uint32_t unWhichDevice, const DriverPose_t & newPose, uint32_t unPoseStructSize ) = 0; - - /** Notifies the server that vsync has occurred on the the display attached to the device. This is - * only permitted on devices of the HMD class. */ - virtual void VsyncEvent( double vsyncTimeOffsetSeconds ) = 0; - - /** notifies the server that the button was pressed */ - virtual void TrackedDeviceButtonPressed( uint32_t unWhichDevice, EVRButtonId eButtonId, double eventTimeOffset ) = 0; - - /** notifies the server that the button was unpressed */ - virtual void TrackedDeviceButtonUnpressed( uint32_t unWhichDevice, EVRButtonId eButtonId, double eventTimeOffset ) = 0; - - /** notifies the server that the button was pressed */ - virtual void TrackedDeviceButtonTouched( uint32_t unWhichDevice, EVRButtonId eButtonId, double eventTimeOffset ) = 0; - - /** notifies the server that the button was unpressed */ - virtual void TrackedDeviceButtonUntouched( uint32_t unWhichDevice, EVRButtonId eButtonId, double eventTimeOffset ) = 0; - - /** notifies the server than a controller axis changed */ - virtual void TrackedDeviceAxisUpdated( uint32_t unWhichDevice, uint32_t unWhichAxis, const VRControllerAxis_t & axisState ) = 0; - - /** Notifies the server that the proximity sensor on the specified device */ - virtual void ProximitySensorState( uint32_t unWhichDevice, bool bProximitySensorTriggered ) = 0; - - /** Sends a vendor specific event (VREvent_VendorSpecific_Reserved_Start..VREvent_VendorSpecific_Reserved_End */ - virtual void VendorSpecificEvent( uint32_t unWhichDevice, vr::EVREventType eventType, const VREvent_Data_t & eventData, double eventTimeOffset ) = 0; - - /** Returns true if SteamVR is exiting */ - virtual bool IsExiting() = 0; - - /** Returns true and fills the event with the next event on the queue if there is one. If there are no events - * this method returns false. uncbVREvent should be the size in bytes of the VREvent_t struct */ - virtual bool PollNextEvent( VREvent_t *pEvent, uint32_t uncbVREvent ) = 0; - - /** Provides access to device poses for drivers. Poses are in their "raw" tracking space which is uniquely - * defined by each driver providing poses for its devices. It is up to clients of this function to correlate - * poses across different drivers. Poses are indexed by their device id, and their associated driver and - * other properties can be looked up via IVRProperties. */ - virtual void GetRawTrackedDevicePoses( float fPredictedSecondsFromNow, TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount ) = 0; - - /** Notifies the server that a tracked device's display component transforms have been updated. */ - virtual void TrackedDeviceDisplayTransformUpdated( uint32_t unWhichDevice, HmdMatrix34_t eyeToHeadLeft, HmdMatrix34_t eyeToHeadRight ) = 0; -}; - -static const char *IVRServerDriverHost_Version = "IVRServerDriverHost_004"; - -} - -// ivrhiddenarea.h -namespace vr -{ - -class CVRHiddenAreaHelpers -{ -public: - CVRHiddenAreaHelpers( IVRProperties *pProperties ) : m_pProperties( pProperties ) {} - - /** Stores a hidden area mesh in a property */ - ETrackedPropertyError SetHiddenArea( EVREye eEye, EHiddenAreaMeshType type, HmdVector2_t *pVerts, uint32_t unVertCount ); - - /** retrieves a hidden area mesh from a property. Returns the vert count read out of the property. */ - uint32_t GetHiddenArea( EVREye eEye, EHiddenAreaMeshType type, HmdVector2_t *pVerts, uint32_t unVertCount, ETrackedPropertyError *peError ); - -private: - ETrackedDeviceProperty GetPropertyEnum( EVREye eEye, EHiddenAreaMeshType type ) - { - return (ETrackedDeviceProperty)(Prop_DisplayHiddenArea_Binary_Start + ((int)type * 2) + (int)eEye); - } - - IVRProperties *m_pProperties; -}; - - -inline ETrackedPropertyError CVRHiddenAreaHelpers::SetHiddenArea( EVREye eEye, EHiddenAreaMeshType type, HmdVector2_t *pVerts, uint32_t unVertCount ) -{ - ETrackedDeviceProperty prop = GetPropertyEnum( eEye, type ); - CVRPropertyHelpers propHelpers( m_pProperties ); - return propHelpers.SetProperty( propHelpers.TrackedDeviceToPropertyContainer( k_unTrackedDeviceIndex_Hmd ), prop, pVerts, sizeof( HmdVector2_t ) * unVertCount, k_unHiddenAreaPropertyTag ); -} - - -inline uint32_t CVRHiddenAreaHelpers::GetHiddenArea( EVREye eEye, EHiddenAreaMeshType type, HmdVector2_t *pVerts, uint32_t unVertCount, ETrackedPropertyError *peError ) -{ - ETrackedDeviceProperty prop = GetPropertyEnum( eEye, type ); - CVRPropertyHelpers propHelpers( m_pProperties ); - ETrackedPropertyError propError; - PropertyTypeTag_t unTag; - uint32_t unBytesNeeded = propHelpers.GetProperty( propHelpers.TrackedDeviceToPropertyContainer( k_unTrackedDeviceIndex_Hmd ), prop, pVerts, sizeof( HmdVector2_t )*unVertCount, &unTag, &propError ); - if ( propError == TrackedProp_Success && unTag != k_unHiddenAreaPropertyTag ) - { - propError = TrackedProp_WrongDataType; - unBytesNeeded = 0; - } - - if ( peError ) - { - *peError = propError; - } - - return unBytesNeeded / sizeof( HmdVector2_t ); -} - -} -// ivrwatchdoghost.h -namespace vr -{ - -/** This interface is provided by vrclient to allow the driver to make everything wake up */ -class IVRWatchdogHost -{ -public: - /** Client drivers in watchdog mode should call this when they have received a signal from hardware that should - * cause SteamVR to start */ - virtual void WatchdogWakeUp() = 0; -}; - -static const char *IVRWatchdogHost_Version = "IVRWatchdogHost_001"; - -}; - - - -// ivrvirtualdisplay.h -namespace vr -{ - // ---------------------------------------------------------------------------------------------- - // Purpose: This component is used for drivers that implement a virtual display (e.g. wireless). - // ---------------------------------------------------------------------------------------------- - class IVRVirtualDisplay - { - public: - - /** Submits final backbuffer for display. */ - virtual void Present( vr::SharedTextureHandle_t backbufferTextureHandle ) = 0; - - /** Block until the last presented buffer start scanning out. */ - virtual void WaitForPresent() = 0; - - /** Provides timing data for synchronizing with display. */ - virtual bool GetTimeSinceLastVsync( float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter ) = 0; - }; - - static const char *IVRVirtualDisplay_Version = "IVRVirtualDisplay_001"; - - /** Returns the current IVRVirtualDisplay pointer or NULL the interface could not be found. */ - VR_INTERFACE vr::IVRVirtualDisplay *VR_CALLTYPE VRVirtualDisplay(); -} - - -// ivrresources.h -namespace vr -{ - -class IVRResources -{ -public: - - // ------------------------------------ - // Shared Resource Methods - // ------------------------------------ - - /** Loads the specified resource into the provided buffer if large enough. - * Returns the size in bytes of the buffer required to hold the specified resource. */ - virtual uint32_t LoadSharedResource( const char *pchResourceName, char *pchBuffer, uint32_t unBufferLen ) = 0; - - /** Provides the full path to the specified resource. Resource names can include named directories for - * drivers and other things, and this resolves all of those and returns the actual physical path. - * pchResourceTypeDirectory is the subdirectory of resources to look in. */ - virtual uint32_t GetResourceFullPath( const char *pchResourceName, const char *pchResourceTypeDirectory, char *pchPathBuffer, uint32_t unBufferLen ) = 0; -}; - -static const char * const IVRResources_Version = "IVRResources_001"; - - -} -// ivrdrivermanager.h -namespace vr -{ - -class IVRDriverManager -{ -public: - virtual uint32_t GetDriverCount() const = 0; - - /** Returns the length of the number of bytes necessary to hold this string including the trailing null. */ - virtual uint32_t GetDriverName( vr::DriverId_t nDriver, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize ) = 0; -}; - -static const char * const IVRDriverManager_Version = "IVRDriverManager_001"; - -} // namespace vr - - - - - -namespace vr -{ - static const char * const k_InterfaceVersions[] = - { - IVRSettings_Version, - ITrackedDeviceServerDriver_Version, - IVRDisplayComponent_Version, - IVRDriverDirectModeComponent_Version, - IVRControllerComponent_Version, - IVRCameraComponent_Version, - IServerTrackedDeviceProvider_Version, - IVRWatchdogProvider_Version, - IVRVirtualDisplay_Version, - IVRDriverManager_Version, - IVRResources_Version, - nullptr - }; - - inline IVRDriverContext *&VRDriverContext() - { - static IVRDriverContext *pHost; - return pHost; - } - - class COpenVRDriverContext - { - public: - COpenVRDriverContext() : m_propertyHelpers(nullptr), m_hiddenAreaHelpers(nullptr) { Clear(); } - void Clear(); - - EVRInitError InitServer(); - EVRInitError InitWatchdog(); - - IVRSettings *VRSettings() - { - if ( m_pVRSettings == nullptr ) - { - EVRInitError eError; - m_pVRSettings = (IVRSettings *)VRDriverContext()->GetGenericInterface( IVRSettings_Version, &eError ); - } - return m_pVRSettings; - } - - IVRProperties *VRPropertiesRaw() - { - if ( m_pVRProperties == nullptr ) - { - EVRInitError eError; - m_pVRProperties = (IVRProperties *)VRDriverContext()->GetGenericInterface( IVRProperties_Version, &eError ); - m_propertyHelpers = CVRPropertyHelpers( m_pVRProperties ); - m_hiddenAreaHelpers = CVRHiddenAreaHelpers( m_pVRProperties ); - } - return m_pVRProperties; - } - - CVRPropertyHelpers *VRProperties() - { - VRPropertiesRaw(); - return &m_propertyHelpers; - } - - CVRHiddenAreaHelpers *VRHiddenArea() - { - VRPropertiesRaw(); - return &m_hiddenAreaHelpers; - } - - IVRServerDriverHost *VRServerDriverHost() - { - if ( m_pVRServerDriverHost == nullptr ) - { - EVRInitError eError; - m_pVRServerDriverHost = (IVRServerDriverHost *)VRDriverContext()->GetGenericInterface( IVRServerDriverHost_Version, &eError ); - } - return m_pVRServerDriverHost; - } - - IVRWatchdogHost *VRWatchdogHost() - { - if ( m_pVRWatchdogHost == nullptr ) - { - EVRInitError eError; - m_pVRWatchdogHost = (IVRWatchdogHost *)VRDriverContext()->GetGenericInterface( IVRWatchdogHost_Version, &eError ); - } - return m_pVRWatchdogHost; - } - - IVRDriverLog *VRDriverLog() - { - if ( m_pVRDriverLog == nullptr ) - { - EVRInitError eError; - m_pVRDriverLog = (IVRDriverLog *)VRDriverContext()->GetGenericInterface( IVRDriverLog_Version, &eError ); - } - return m_pVRDriverLog; - } - - DriverHandle_t VR_CALLTYPE VRDriverHandle() - { - return VRDriverContext()->GetDriverHandle(); - } - - IVRDriverManager *VRDriverManager() - { - if ( !m_pVRDriverManager ) - { - EVRInitError eError; - m_pVRDriverManager = (IVRDriverManager *)VRDriverContext()->GetGenericInterface( IVRDriverManager_Version, &eError ); - } - return m_pVRDriverManager; - } - - IVRResources *VRResources() - { - if ( !m_pVRResources ) - { - EVRInitError eError; - m_pVRResources = (IVRResources *)VRDriverContext()->GetGenericInterface( IVRResources_Version, &eError ); - } - return m_pVRResources; - } - - private: - CVRPropertyHelpers m_propertyHelpers; - CVRHiddenAreaHelpers m_hiddenAreaHelpers; - - IVRSettings *m_pVRSettings; - IVRProperties *m_pVRProperties; - IVRServerDriverHost *m_pVRServerDriverHost; - IVRWatchdogHost *m_pVRWatchdogHost; - IVRDriverLog *m_pVRDriverLog; - IVRDriverManager *m_pVRDriverManager; - IVRResources *m_pVRResources; - }; - - inline COpenVRDriverContext &OpenVRInternal_ModuleServerDriverContext() - { - static void *ctx[sizeof( COpenVRDriverContext ) / sizeof( void * )]; - return *(COpenVRDriverContext *)ctx; // bypass zero-init constructor - } - - inline IVRSettings *VR_CALLTYPE VRSettings() { return OpenVRInternal_ModuleServerDriverContext().VRSettings(); } - inline IVRProperties *VR_CALLTYPE VRPropertiesRaw() { return OpenVRInternal_ModuleServerDriverContext().VRPropertiesRaw(); } - inline CVRPropertyHelpers *VR_CALLTYPE VRProperties() { return OpenVRInternal_ModuleServerDriverContext().VRProperties(); } - inline CVRHiddenAreaHelpers *VR_CALLTYPE VRHiddenArea() { return OpenVRInternal_ModuleServerDriverContext().VRHiddenArea(); } - inline IVRDriverLog *VR_CALLTYPE VRDriverLog() { return OpenVRInternal_ModuleServerDriverContext().VRDriverLog(); } - inline IVRServerDriverHost *VR_CALLTYPE VRServerDriverHost() { return OpenVRInternal_ModuleServerDriverContext().VRServerDriverHost(); } - inline IVRWatchdogHost *VR_CALLTYPE VRWatchdogHost() { return OpenVRInternal_ModuleServerDriverContext().VRWatchdogHost(); } - inline DriverHandle_t VR_CALLTYPE VRDriverHandle() { return OpenVRInternal_ModuleServerDriverContext().VRDriverHandle(); } - inline IVRDriverManager *VR_CALLTYPE VRDriverManager() { return OpenVRInternal_ModuleServerDriverContext().VRDriverManager(); } - inline IVRResources *VR_CALLTYPE VRResources() { return OpenVRInternal_ModuleServerDriverContext().VRResources(); } - - inline void COpenVRDriverContext::Clear() - { - m_pVRSettings = nullptr; - m_pVRProperties = nullptr; - m_pVRServerDriverHost = nullptr; - m_pVRDriverLog = nullptr; - m_pVRWatchdogHost = nullptr; - m_pVRDriverManager = nullptr; - m_pVRResources = nullptr; - } - - inline EVRInitError COpenVRDriverContext::InitServer() - { - Clear(); - if ( !VRServerDriverHost() - || !VRSettings() - || !VRProperties() - || !VRDriverLog() - || !VRDriverManager() - || !VRResources() ) - return VRInitError_Init_InterfaceNotFound; - return VRInitError_None; - } - - inline EVRInitError COpenVRDriverContext::InitWatchdog() - { - Clear(); - if ( !VRWatchdogHost() - || !VRSettings() - || !VRDriverLog() ) - return VRInitError_Init_InterfaceNotFound; - return VRInitError_None; - } - - inline EVRInitError InitServerDriverContext( IVRDriverContext *pContext ) - { - VRDriverContext() = pContext; - return OpenVRInternal_ModuleServerDriverContext().InitServer(); - } - - inline EVRInitError InitWatchdogDriverContext( IVRDriverContext *pContext ) - { - VRDriverContext() = pContext; - return OpenVRInternal_ModuleServerDriverContext().InitWatchdog(); - } - - inline void CleanupDriverContext() - { - VRDriverContext() = nullptr; - OpenVRInternal_ModuleServerDriverContext().Clear(); - } - - #define VR_INIT_SERVER_DRIVER_CONTEXT( pContext ) \ - { \ - vr::EVRInitError eError = vr::InitServerDriverContext( pContext ); \ - if( eError != vr::VRInitError_None ) \ - return eError; \ - } - - #define VR_CLEANUP_SERVER_DRIVER_CONTEXT() \ - vr::CleanupDriverContext(); - - #define VR_INIT_WATCHDOG_DRIVER_CONTEXT( pContext ) \ - { \ - vr::EVRInitError eError = vr::InitWatchdogDriverContext( pContext ); \ - if( eError != vr::VRInitError_None ) \ - return eError; \ - } - - #define VR_CLEANUP_WATCHDOG_DRIVER_CONTEXT() \ - vr::CleanupDriverContext(); -} -// End - -#endif // _OPENVR_DRIVER_API - - diff --git a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/OpenVR b/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/OpenVR deleted file mode 100755 index 3fb0184ae6ded708be828921b16972bb4bba6162..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1297628 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¥%ruE$d{^=1 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

vn(LhJjvYgwK7_}mCvQc$mycEL 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%0A*3yg`@hCI~O(2p42{dh-FHFgQI=AMQG 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 z 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�!l*9cL16|>gkn5KevYVUsF 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� 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

^4UvB!>rd0+P(*i~IK%Q}$reL|BWIdK1gp_9 zAX}|(pgrfh5W$2;PmFT`_iGRj(<2Xft^l$G)nOiko@0}H2GE&_G+-*EoQseaa`-m8 z^FD%l0~rxN&tp%x7#uO0wta~IPmq-Oc{GUu^IbdV0W_x!5W@K<2y*UaS&TrtVPb@H zIvNN$JWlHH0VXpb#*N?VDuyM7NH&C4lDdW26=zspxq7FhiCm3^Op7O|(82b(`@mpOtB1hmCro$tM79Gg^2>Fqv0(1CB z^cW`*MZ>&{*g=SaoZ|qUBVj!ce_}M$NPd)t-UMG~qVzIYp3&~y+?)q^DXT!Tfjg#=YHcQu6bw&lD|P70#sv_m+*0&ye= zhuLCVU`yefdL|Y{5yEdMi5lc_2cQ_QjXZ>4#Smf4!x4a-VEZq1XB*KuQCL(5XW&=77($C>Z z;#r0@1UYqp&P-&}^Yd%;GIDkRI^&MRLKcMhc@e}_AjBXb7~ekHG8BjyA` Qv-{w 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 diff --git a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Resources/Info.plist b/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Resources/Info.plist deleted file mode 100644 index 50ff90a..0000000 --- a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/A/Resources/Info.plist +++ /dev/null @@ -1,18 +0,0 @@ - - - - - CFBundleIdentifier - com.valvesoftware.OpenVR.framework - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - OpenVR - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1.0 - - diff --git a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/Current b/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/Current deleted file mode 120000 index 8c7e5a6..0000000 --- a/ovr-utils/addons/godot-openvr/bin/osx/OpenVR.framework/Versions/Current +++ /dev/null @@ -1 +0,0 @@ -A \ No newline at end of file diff --git a/ovr-utils/addons/godot-openvr/bin/osx/README.md b/ovr-utils/addons/godot-openvr/bin/osx/README.md deleted file mode 100644 index 1c26acd..0000000 --- a/ovr-utils/addons/godot-openvr/bin/osx/README.md +++ /dev/null @@ -1,2 +0,0 @@ -OSX support is currently untested as we have no contributor who is using Mac OSX for VR development. -If you are able and willing to help out please contact us! diff --git a/ovr-utils/addons/godot-openvr/bin/osx/libgodot_openvr.dylib b/ovr-utils/addons/godot-openvr/bin/osx/libgodot_openvr.dylib deleted file mode 100755 index 5ea95130ac03e7982d095ba14169d0fa1f6b49c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3912860 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
      `jyxA8lBZt+c@9lvd1gSBD9^+2 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

      =O*gUt{LUurtkR-XY98F8>j#x% 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 z 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 z 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

        )m-y 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%0D*Wm?>L;ggwDSsW0uNXFJ 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%0D&rwtP?p_78W&PBrCYaEM>R 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 E57!?I^Z)<=

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