diff --git a/OpenVR/openvr_api.cs b/OpenVR/openvr_api.cs index 178724e9..4732b62e 100644 --- a/OpenVR/openvr_api.cs +++ b/OpenVR/openvr_api.cs @@ -731,7 +731,7 @@ public struct IVRCompositor internal _GetCurrentFadeColor GetCurrentFadeColor; [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _FadeGrid(float fSeconds, bool bFadeIn); + internal delegate void _FadeGrid(float fSeconds, bool bFadeGridIn); [MarshalAs(UnmanagedType.FunctionPtr)] internal _FadeGrid FadeGrid; @@ -1120,6 +1120,11 @@ public struct IVROverlay [MarshalAs(UnmanagedType.FunctionPtr)] internal _GetOverlayTransformCursor GetOverlayTransformCursor; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _SetOverlayTransformProjection(ulong ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform, ref VROverlayProjection_t pProjection, EVREye eEye); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetOverlayTransformProjection SetOverlayTransformProjection; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] internal delegate EVROverlayError _ShowOverlay(ulong ulOverlayHandle); [MarshalAs(UnmanagedType.FunctionPtr)] @@ -2899,9 +2904,9 @@ public class CVRCompositor HmdColor_t result = FnTable.GetCurrentFadeColor(bBackground); return result; } - public void FadeGrid(float fSeconds,bool bFadeIn) + public void FadeGrid(float fSeconds,bool bFadeGridIn) { - FnTable.FadeGrid(fSeconds,bFadeIn); + FnTable.FadeGrid(fSeconds,bFadeGridIn); } public float GetCurrentGridAlpha() { @@ -3310,6 +3315,11 @@ public class CVROverlay EVROverlayError result = FnTable.GetOverlayTransformCursor(ulOverlayHandle,ref pvHotspot); return result; } + public EVROverlayError SetOverlayTransformProjection(ulong ulOverlayHandle,ETrackingUniverseOrigin eTrackingOrigin,ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform,ref VROverlayProjection_t pProjection,EVREye eEye) + { + EVROverlayError result = FnTable.SetOverlayTransformProjection(ulOverlayHandle,eTrackingOrigin,ref pmatTrackingOriginToOverlayTransform,ref pProjection,eEye); + return result; + } public EVROverlayError ShowOverlay(ulong ulOverlayHandle) { EVROverlayError result = FnTable.ShowOverlay(ulOverlayHandle); @@ -4704,9 +4714,13 @@ public enum ETrackedDeviceProperty Prop_DisplaySupportsAnalogGain_Bool = 2085, Prop_DisplayMinAnalogGain_Float = 2086, Prop_DisplayMaxAnalogGain_Float = 2087, + Prop_CameraExposureTime_Float = 2088, + Prop_CameraGlobalGain_Float = 2089, Prop_DashboardScale_Float = 2091, Prop_IpdUIRangeMinMeters_Float = 2100, Prop_IpdUIRangeMaxMeters_Float = 2101, + Prop_Hmd_SupportsHDCP14LegacyCompat_Bool = 2102, + Prop_Hmd_SupportsMicMonitoring_Bool = 2103, Prop_DriverRequestedMuraCorrectionMode_Int32 = 2200, Prop_DriverRequestedMuraFeather_InnerLeft_Int32 = 2201, Prop_DriverRequestedMuraFeather_InnerRight_Int32 = 2202, @@ -4801,6 +4815,8 @@ public enum EVRSubmitFlags Submit_TextureWithDepth = 16, Submit_FrameDiscontinuty = 32, Submit_VulkanTextureWithArrayData = 64, + Submit_GlArrayTexture = 128, + Submit_Reserved2 = 32768, } public enum EVRState { @@ -5153,8 +5169,11 @@ public enum EVRApplicationType VRApplication_SteamWatchdog = 6, VRApplication_Bootstrapper = 7, VRApplication_WebHelper = 8, - VRApplication_OpenXR = 9, - VRApplication_Max = 10, + VRApplication_OpenXRInstance = 9, + VRApplication_OpenXRScene = 10, + VRApplication_OpenXROverlay = 11, + VRApplication_Prism = 12, + VRApplication_Max = 13, } public enum EVRFirmwareError { @@ -5234,6 +5253,15 @@ public enum EVRInitError Init_FailedForVrMonitor = 144, Init_PropertyManagerInitFailed = 145, Init_WebServerFailed = 146, + Init_IllegalTypeTransition = 147, + Init_MismatchedRuntimes = 148, + Init_InvalidProcessId = 149, + Init_VRServiceStartupFailed = 150, + Init_PrismNeedsNewDrivers = 151, + Init_PrismStartupTimedOut = 152, + Init_CouldNotStartPrism = 153, + Init_CreateDriverDirectDeviceFailed = 154, + Init_PrismExitedUnexpectedly = 155, Driver_Failed = 200, Driver_Unknown = 201, Driver_HmdUnknown = 202, @@ -5349,6 +5377,9 @@ public enum EVRInitError Compositor_CreateOverlayInvalidCall = 488, Compositor_CreateOverlayAlreadyInitialized = 489, Compositor_FailedToCreateMailbox = 490, + Compositor_WindowInterfaceIsNull = 491, + Compositor_SystemLayerCreateInstance = 492, + Compositor_SystemLayerCreateSession = 493, VendorSpecific_UnableToConnectToOculusRuntime = 1000, VendorSpecific_WindowsNotInDevMode = 1001, VendorSpecific_HmdFound_CantOpenDevice = 1101, @@ -5466,6 +5497,7 @@ public enum EVRApplicationError PropertyNotSet = 201, UnknownProperty = 202, InvalidParameter = 203, + NotImplemented = 300, } public enum EVRApplicationProperty { @@ -5556,6 +5588,7 @@ public enum VROverlayTransformType VROverlayTransform_DashboardTab = 5, VROverlayTransform_DashboardThumb = 6, VROverlayTransform_Mountable = 7, + VROverlayTransform_Projection = 8, } public enum VROverlayFlags { @@ -5949,6 +5982,11 @@ public enum EBlockQueueReadType public HmdVector2_t vTopLeft; public HmdVector2_t vBottomRight; } +[StructLayout(LayoutKind.Sequential)] public struct VRBoneTransform_t +{ + public HmdVector4_t position; + public HmdQuaternionf_t orientation; +} [StructLayout(LayoutKind.Sequential)] public struct DistortionCoordinates_t { public float rfRed0; //float[2] @@ -6079,6 +6117,7 @@ public enum EBlockQueueReadType { public ulong overlayHandle; public ulong devicePath; + public ulong memoryBlockId; } [StructLayout(LayoutKind.Sequential)] public struct VREvent_Status_t { @@ -6301,11 +6340,6 @@ public enum EBlockQueueReadType unpacked.rAxis4 = this.rAxis4; } } -[StructLayout(LayoutKind.Sequential)] public struct VRBoneTransform_t -{ - public HmdVector4_t position; - public HmdQuaternionf_t orientation; -} [StructLayout(LayoutKind.Sequential)] public struct CameraVideoStreamFrameHeader_t { public EVRTrackedCameraFrameType eFrameType; @@ -6433,6 +6467,13 @@ public enum EBlockQueueReadType public EVROverlayIntersectionMaskPrimitiveType m_nPrimitiveType; public VROverlayIntersectionMaskPrimitive_Data_t m_Primitive; } +[StructLayout(LayoutKind.Sequential)] public struct VROverlayProjection_t +{ + public float fLeft; + public float fRight; + public float fTop; + public float fBottom; +} [StructLayout(LayoutKind.Sequential)] public struct VROverlayView_t { public ulong overlayHandle; @@ -7519,12 +7560,12 @@ public class OpenVR public const string IVRApplications_Version = "IVRApplications_007"; public const string IVRChaperone_Version = "IVRChaperone_004"; public const string IVRChaperoneSetup_Version = "IVRChaperoneSetup_006"; - public const string IVRCompositor_Version = "IVRCompositor_026"; + public const string IVRCompositor_Version = "IVRCompositor_027"; public const uint k_unVROverlayMaxKeyLength = 128; public const uint k_unVROverlayMaxNameLength = 128; public const uint k_unMaxOverlayCount = 128; public const uint k_unMaxOverlayIntersectionMaskPrimitivesCount = 32; - public const string IVROverlay_Version = "IVROverlay_024"; + public const string IVROverlay_Version = "IVROverlay_025"; public const string IVROverlayView_Version = "IVROverlayView_003"; public const uint k_unHeadsetViewMaxWidth = 3840; public const uint k_unHeadsetViewMaxHeight = 2160; @@ -7559,6 +7600,7 @@ public class OpenVR public const string k_pch_SteamVR_PlayAreaColor_String = "playAreaColor"; public const string k_pch_SteamVR_TrackingLossColor_String = "trackingLossColor"; public const string k_pch_SteamVR_ShowStage_Bool = "showStage"; + public const string k_pch_SteamVR_DrawTrackingReferences_Bool = "drawTrackingReferences"; public const string k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers"; public const string k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers"; public const string k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees"; @@ -7569,6 +7611,8 @@ public class OpenVR public const string k_pch_SteamVR_MaxRecommendedResolution_Int32 = "maxRecommendedResolution"; public const string k_pch_SteamVR_MotionSmoothing_Bool = "motionSmoothing"; public const string k_pch_SteamVR_MotionSmoothingOverride_Int32 = "motionSmoothingOverride"; + public const string k_pch_SteamVR_FramesToThrottle_Int32 = "framesToThrottle"; + public const string k_pch_SteamVR_AdditionalFramesToPredict_Int32 = "additionalFramesToPredict"; public const string k_pch_SteamVR_DisableAsyncReprojection_Bool = "disableAsync"; public const string k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; public const string k_pch_SteamVR_DefaultMirrorView_Int32 = "mirrorView"; @@ -7611,6 +7655,8 @@ public class OpenVR public const string k_pch_SteamVR_OverlayRenderQuality = "overlayRenderQuality_2"; public const string k_pch_SteamVR_BlockOculusSDKOnOpenVRLaunchOption_Bool = "blockOculusSDKOnOpenVRLaunchOption"; public const string k_pch_SteamVR_BlockOculusSDKOnAllLaunches_Bool = "blockOculusSDKOnAllLaunches"; + public const string k_pch_SteamVR_HDCPLegacyCompatibility_Bool = "hdcp14legacyCompatibility"; + public const string k_pch_SteamVR_UsePrism_Bool = "usePrism"; public const string k_pch_DirectMode_Section = "direct_mode"; public const string k_pch_DirectMode_Enable_Bool = "enable"; public const string k_pch_DirectMode_Count_Int32 = "count"; @@ -7703,6 +7749,7 @@ public class OpenVR public const string k_pch_audio_LastHmdPlaybackDeviceId_String = "lastHmdPlaybackDeviceId"; public const string k_pch_audio_VIVEHDMIGain = "viveHDMIGain"; public const string k_pch_audio_DualSpeakerAndJackOutput_Bool = "dualSpeakerAndJackOutput"; + public const string k_pch_audio_MuteMicMonitor_Bool = "muteMicMonitor"; 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"; @@ -7716,6 +7763,7 @@ public class OpenVR public const string k_pch_Dashboard_Position = "position"; public const string k_pch_Dashboard_DesktopScale = "desktopScale"; public const string k_pch_Dashboard_DashboardScale = "dashboardScale"; + public const string k_pch_Dashboard_UseStandaloneSystemLayer = "standaloneSystemLayer"; public const string k_pch_modelskin_Section = "modelskins"; public const string k_pch_Driver_Enable_Bool = "enable"; public const string k_pch_Driver_BlockedBySafemode_Bool = "blocked_by_safe_mode"; diff --git a/OpenVR/win32/openvr_api.dll b/OpenVR/win32/openvr_api.dll index 2c79942b..6e423e6c 100644 Binary files a/OpenVR/win32/openvr_api.dll and b/OpenVR/win32/openvr_api.dll differ diff --git a/OpenVR/win64/openvr_api.dll b/OpenVR/win64/openvr_api.dll index e0113cd3..a4ad7640 100644 Binary files a/OpenVR/win64/openvr_api.dll and b/OpenVR/win64/openvr_api.dll differ diff --git a/VRCX.csproj b/VRCX.csproj index fcd5cac0..b1e71cd2 100644 --- a/VRCX.csproj +++ b/VRCX.csproj @@ -102,6 +102,7 @@ + @@ -119,7 +120,6 @@ MainForm.cs - @@ -213,4 +213,7 @@ + + xcopy /y "$(ProjectDir)OpenVR\win64\openvr_api.dll" . + \ No newline at end of file diff --git a/openvr_api.cs b/openvr_api.cs deleted file mode 100644 index 178724e9..00000000 --- a/openvr_api.cs +++ /dev/null @@ -1,8172 +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. -// -//============================================================================= -#if !OPENVR_XR_API - -using System; -using System.Runtime.InteropServices; -using Valve.VR; - -#if UNITY_5_3_OR_NEWER -using UnityEngine; -#endif - -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 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 _GetArrayTrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, uint propType, IntPtr pBuffer, uint unBufferSize, ref ETrackedPropertyError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetArrayTrackedDeviceProperty GetArrayTrackedDeviceProperty; - - [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, ushort 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 _IsInputAvailable(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsInputAvailable IsInputAvailable; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsSteamVRDrawingControllers(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsSteamVRDrawingControllers IsSteamVRDrawingControllers; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _ShouldApplicationPause(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ShouldApplicationPause ShouldApplicationPause; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _ShouldApplicationReduceRenderingWork(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ShouldApplicationReduceRenderingWork ShouldApplicationReduceRenderingWork; - - [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 uint _GetAppContainerFilePaths(System.Text.StringBuilder pchBuffer, uint unBufferSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetAppContainerFilePaths GetAppContainerFilePaths; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetRuntimeVersion(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetRuntimeVersion GetRuntimeVersion; - -} - -[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, uint nCameraIndex, 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, uint nCameraIndex, 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; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetCameraTrackingSpace(ETrackingUniverseOrigin eUniverse); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetCameraTrackingSpace SetCameraTrackingSpace; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ETrackingUniverseOrigin _GetCameraTrackingSpace(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCameraTrackingSpace GetCameraTrackingSpace; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRApplications -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _AddApplicationManifest(IntPtr pchApplicationManifestFullPath, bool bTemporary); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _AddApplicationManifest AddApplicationManifest; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _RemoveApplicationManifest(IntPtr pchApplicationManifestFullPath); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _RemoveApplicationManifest RemoveApplicationManifest; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsApplicationInstalled(IntPtr 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, System.Text.StringBuilder pchAppKeyBuffer, uint unAppKeyBufferLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationKeyByProcessId GetApplicationKeyByProcessId; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _LaunchApplication(IntPtr pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LaunchApplication LaunchApplication; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _LaunchTemplateApplication(IntPtr pchTemplateAppKey, IntPtr pchNewAppKey, [In, Out] AppOverrideKeys_t[] pKeys, uint unKeys); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LaunchTemplateApplication LaunchTemplateApplication; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _LaunchApplicationFromMimeType(IntPtr pchMimeType, IntPtr pchArgs); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LaunchApplicationFromMimeType LaunchApplicationFromMimeType; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _LaunchDashboardOverlay(IntPtr pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LaunchDashboardOverlay LaunchDashboardOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _CancelApplicationLaunch(IntPtr pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CancelApplicationLaunch CancelApplicationLaunch; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _IdentifyApplication(uint unProcessId, IntPtr pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IdentifyApplication IdentifyApplication; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetApplicationProcessId(IntPtr 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(IntPtr 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(IntPtr pchAppKey, EVRApplicationProperty eProperty, ref EVRApplicationError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationPropertyBool GetApplicationPropertyBool; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ulong _GetApplicationPropertyUint64(IntPtr pchAppKey, EVRApplicationProperty eProperty, ref EVRApplicationError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationPropertyUint64 GetApplicationPropertyUint64; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _SetApplicationAutoLaunch(IntPtr pchAppKey, bool bAutoLaunch); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetApplicationAutoLaunch SetApplicationAutoLaunch; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetApplicationAutoLaunch(IntPtr pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationAutoLaunch GetApplicationAutoLaunch; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _SetDefaultApplicationForMimeType(IntPtr pchAppKey, IntPtr pchMimeType); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetDefaultApplicationForMimeType SetDefaultApplicationForMimeType; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetDefaultApplicationForMimeType(IntPtr pchMimeType, System.Text.StringBuilder pchAppKeyBuffer, uint unAppKeyBufferLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetDefaultApplicationForMimeType GetDefaultApplicationForMimeType; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetApplicationSupportedMimeTypes(IntPtr pchAppKey, System.Text.StringBuilder pchMimeTypesBuffer, uint unMimeTypesBuffer); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationSupportedMimeTypes GetApplicationSupportedMimeTypes; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetApplicationsThatSupportMimeType(IntPtr pchMimeType, System.Text.StringBuilder pchAppKeysThatSupportBuffer, uint unAppKeysThatSupportBuffer); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationsThatSupportMimeType GetApplicationsThatSupportMimeType; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetApplicationLaunchArguments(uint unHandle, System.Text.StringBuilder pchArgs, uint unArgs); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationLaunchArguments GetApplicationLaunchArguments; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _GetStartingApplication(System.Text.StringBuilder pchAppKeyBuffer, uint unAppKeyBufferLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetStartingApplication GetStartingApplication; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRSceneApplicationState _GetSceneApplicationState(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetSceneApplicationState GetSceneApplicationState; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _PerformApplicationPrelaunchCheck(IntPtr pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _PerformApplicationPrelaunchCheck PerformApplicationPrelaunchCheck; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetSceneApplicationStateNameFromEnum(EVRSceneApplicationState state); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetSceneApplicationStateNameFromEnum GetSceneApplicationStateNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _LaunchInternalProcess(IntPtr pchBinaryPath, IntPtr pchArguments, IntPtr 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; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ResetZeroPose(ETrackingUniverseOrigin eTrackingUniverseOrigin); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ResetZeroPose ResetZeroPose; - -} - -[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 _SetWorkingPerimeter([In, Out] HmdVector2_t[] pPointBuffer, uint unPointCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetWorkingPerimeter SetWorkingPerimeter; - - [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 bool _ExportLiveToBuffer(System.Text.StringBuilder pBuffer, ref uint pnBufferLength); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ExportLiveToBuffer ExportLiveToBuffer; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _ImportFromBufferToWorking(IntPtr pBuffer, uint nImportFlags); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ImportFromBufferToWorking ImportFromBufferToWorking; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ShowWorkingSetPreview(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ShowWorkingSetPreview ShowWorkingSetPreview; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _HideWorkingSetPreview(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _HideWorkingSetPreview HideWorkingSetPreview; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _RoomSetupStarting(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _RoomSetupStarting RoomSetupStarting; - -} - -[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([In, Out] 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(EVRCompositorTimingMode eTimingMode); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetExplicitTimingMode SetExplicitTimingMode; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _SubmitExplicitTimingData(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SubmitExplicitTimingData SubmitExplicitTimingData; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsMotionSmoothingEnabled(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsMotionSmoothingEnabled IsMotionSmoothingEnabled; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsMotionSmoothingSupported(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsMotionSmoothingSupported IsMotionSmoothingSupported; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsCurrentSceneFocusAppLoading(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsCurrentSceneFocusAppLoading IsCurrentSceneFocusAppLoading; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _SetStageOverride_Async(IntPtr pchRenderModelPath, ref HmdMatrix34_t pTransform, ref Compositor_StageRenderSettings pRenderSettings, uint nSizeOfRenderSettings); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetStageOverride_Async SetStageOverride_Async; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ClearStageOverride(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ClearStageOverride ClearStageOverride; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetCompositorBenchmarkResults(ref Compositor_BenchmarkResults pBenchmarkResults, uint nSizeOfBenchmarkResults); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCompositorBenchmarkResults GetCompositorBenchmarkResults; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _GetLastPosePredictionIDs(ref uint pRenderPosePredictionID, ref uint pGamePosePredictionID); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetLastPosePredictionIDs GetLastPosePredictionIDs; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _GetPosesForFrame(uint unPosePredictionID, [In, Out] TrackedDevicePose_t[] pPoseArray, uint unPoseArrayCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetPosesForFrame GetPosesForFrame; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVROverlay -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _FindOverlay(IntPtr pchOverlayKey, ref ulong pOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _FindOverlay FindOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _CreateOverlay(IntPtr pchOverlayKey, IntPtr 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 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, IntPtr 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 _GetOverlayFlags(ulong ulOverlayHandle, ref uint pFlags); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayFlags GetOverlayFlags; - - [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 _SetOverlayCurvature(ulong ulOverlayHandle, float fCurvature); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayCurvature SetOverlayCurvature; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayCurvature(ulong ulOverlayHandle, ref float pfCurvature); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayCurvature GetOverlayCurvature; - - [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 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, IntPtr pchComponentName); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayTransformTrackedDeviceComponent SetOverlayTransformTrackedDeviceComponent; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTransformTrackedDeviceComponent(ulong ulOverlayHandle, ref uint punDeviceIndex, System.Text.StringBuilder 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 _SetOverlayTransformCursor(ulong ulCursorOverlayHandle, ref HmdVector2_t pvHotspot); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayTransformCursor SetOverlayTransformCursor; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTransformCursor(ulong ulOverlayHandle, ref HmdVector2_t pvHotspot); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTransformCursor GetOverlayTransformCursor; - - [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 _IsHoverTargetOverlay(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsHoverTargetOverlay IsHoverTargetOverlay; - - [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 _TriggerLaserMouseHapticVibration(ulong ulOverlayHandle, float fDurationSeconds, float fFrequency, float fAmplitude); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _TriggerLaserMouseHapticVibration TriggerLaserMouseHapticVibration; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayCursor(ulong ulOverlayHandle, ulong ulCursorHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayCursor SetOverlayCursor; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayCursorPositionOverride(ulong ulOverlayHandle, ref HmdVector2_t pvCursor); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayCursorPositionOverride SetOverlayCursorPositionOverride; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _ClearOverlayCursorPositionOverride(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ClearOverlayCursorPositionOverride ClearOverlayCursorPositionOverride; - - [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 unBytesPerPixel); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayRaw SetOverlayRaw; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayFromFile(ulong ulOverlayHandle, IntPtr 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(IntPtr pchOverlayKey, IntPtr 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(IntPtr 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, uint unFlags, IntPtr pchDescription, uint unCharMax, IntPtr pchExistingText, ulong uUserValue); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ShowKeyboard ShowKeyboard; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _ShowKeyboardForOverlay(ulong ulOverlayHandle, int eInputMode, int eLineInputMode, uint unFlags, IntPtr pchDescription, uint unCharMax, IntPtr pchExistingText, 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 VRMessageOverlayResponse _ShowMessageOverlay(IntPtr pchText, IntPtr pchCaption, IntPtr pchButton0Text, IntPtr pchButton1Text, IntPtr pchButton2Text, IntPtr 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 IVROverlayView -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _AcquireOverlayView(ulong ulOverlayHandle, ref VRNativeDevice_t pNativeDevice, ref VROverlayView_t pOverlayView, uint unOverlayViewSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _AcquireOverlayView AcquireOverlayView; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _ReleaseOverlayView(ref VROverlayView_t pOverlayView); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReleaseOverlayView ReleaseOverlayView; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _PostOverlayEvent(ulong ulOverlayHandle, ref VREvent_t pvrEvent); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _PostOverlayEvent PostOverlayEvent; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsViewingPermitted(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsViewingPermitted IsViewingPermitted; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRHeadsetView -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetHeadsetViewSize(uint nWidth, uint nHeight); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetHeadsetViewSize SetHeadsetViewSize; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetHeadsetViewSize(ref uint pnWidth, ref uint pnHeight); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetHeadsetViewSize GetHeadsetViewSize; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetHeadsetViewMode(uint eHeadsetViewMode); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetHeadsetViewMode SetHeadsetViewMode; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetHeadsetViewMode(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetHeadsetViewMode GetHeadsetViewMode; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetHeadsetViewCropped(bool bCropped); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetHeadsetViewCropped SetHeadsetViewCropped; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetHeadsetViewCropped(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetHeadsetViewCropped GetHeadsetViewCropped; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate float _GetHeadsetViewAspectRatio(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetHeadsetViewAspectRatio GetHeadsetViewAspectRatio; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetHeadsetViewBlendRange(float flStartPct, float flEndPct); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetHeadsetViewBlendRange SetHeadsetViewBlendRange; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetHeadsetViewBlendRange(ref float pStartPct, ref float pEndPct); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetHeadsetViewBlendRange GetHeadsetViewBlendRange; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRRenderModels -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRRenderModelError _LoadRenderModel_Async(IntPtr 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(IntPtr pchRenderModelName); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetComponentCount GetComponentCount; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetComponentName(IntPtr pchRenderModelName, uint unComponentIndex, System.Text.StringBuilder pchComponentName, uint unComponentNameLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetComponentName GetComponentName; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ulong _GetComponentButtonMask(IntPtr pchRenderModelName, IntPtr pchComponentName); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetComponentButtonMask GetComponentButtonMask; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetComponentRenderModelName(IntPtr pchRenderModelName, IntPtr pchComponentName, System.Text.StringBuilder pchComponentRenderModelName, uint unComponentRenderModelNameLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetComponentRenderModelName GetComponentRenderModelName; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetComponentStateForDevicePath(IntPtr pchRenderModelName, IntPtr pchComponentName, ulong devicePath, ref RenderModel_ControllerMode_State_t pState, ref RenderModel_ComponentState_t pComponentState); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetComponentStateForDevicePath GetComponentStateForDevicePath; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetComponentState(IntPtr pchRenderModelName, IntPtr 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(IntPtr pchRenderModelName, IntPtr pchComponentName); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _RenderModelHasComponent RenderModelHasComponent; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetRenderModelThumbnailURL(IntPtr pchRenderModelName, System.Text.StringBuilder pchThumbnailURL, uint unThumbnailURLLen, ref EVRRenderModelError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetRenderModelThumbnailURL GetRenderModelThumbnailURL; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetRenderModelOriginalPath(IntPtr 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, IntPtr 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 void _SetBool(IntPtr pchSection, IntPtr pchSettingsKey, bool bValue, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetBool SetBool; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetInt32(IntPtr pchSection, IntPtr pchSettingsKey, int nValue, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetInt32 SetInt32; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetFloat(IntPtr pchSection, IntPtr pchSettingsKey, float flValue, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetFloat SetFloat; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetString(IntPtr pchSection, IntPtr pchSettingsKey, IntPtr pchValue, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetString SetString; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetBool(IntPtr pchSection, IntPtr pchSettingsKey, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetBool GetBool; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate int _GetInt32(IntPtr pchSection, IntPtr pchSettingsKey, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetInt32 GetInt32; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate float _GetFloat(IntPtr pchSection, IntPtr pchSettingsKey, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetFloat GetFloat; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetString(IntPtr pchSection, IntPtr pchSettingsKey, System.Text.StringBuilder pchValue, uint unValueLen, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetString GetString; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _RemoveSection(IntPtr pchSection, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _RemoveSection RemoveSection; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _RemoveKeyInSection(IntPtr pchSection, IntPtr 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, IntPtr pchPreviewFilename, IntPtr 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, IntPtr pchPreviewFilename, IntPtr pchVRFilename); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _TakeStereoScreenshot TakeStereoScreenshot; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRScreenshotError _SubmitScreenshot(uint screenshotHandle, EVRScreenshotType type, IntPtr pchSourcePreviewFilename, IntPtr pchSourceVRFilename); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SubmitScreenshot SubmitScreenshot; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRResources -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _LoadSharedResource(IntPtr pchResourceName, string pchBuffer, uint unBufferLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LoadSharedResource LoadSharedResource; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetResourceFullPath(IntPtr pchResourceName, IntPtr pchResourceTypeDirectory, System.Text.StringBuilder 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; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ulong _GetDriverHandle(IntPtr pchDriverName); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetDriverHandle GetDriverHandle; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsEnabled(uint nDriver); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsEnabled IsEnabled; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRInput -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _SetActionManifestPath(IntPtr pchActionManifestPath); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetActionManifestPath SetActionManifestPath; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _GetActionSetHandle(IntPtr pchActionSetName, ref ulong pHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetActionSetHandle GetActionSetHandle; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _GetActionHandle(IntPtr pchActionName, ref ulong pHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetActionHandle GetActionHandle; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _GetInputSourceHandle(IntPtr pchInputSourcePath, ref ulong pHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetInputSourceHandle GetInputSourceHandle; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _UpdateActionState([In, Out] VRActiveActionSet_t[] pSets, uint unSizeOfVRSelectedActionSet_t, uint unSetCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _UpdateActionState UpdateActionState; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _GetDigitalActionData(ulong action, ref InputDigitalActionData_t pActionData, uint unActionDataSize, ulong ulRestrictToDevice); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetDigitalActionData GetDigitalActionData; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _GetAnalogActionData(ulong action, ref InputAnalogActionData_t pActionData, uint unActionDataSize, ulong ulRestrictToDevice); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetAnalogActionData GetAnalogActionData; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _GetPoseActionDataRelativeToNow(ulong action, ETrackingUniverseOrigin eOrigin, float fPredictedSecondsFromNow, ref InputPoseActionData_t pActionData, uint unActionDataSize, ulong ulRestrictToDevice); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetPoseActionDataRelativeToNow GetPoseActionDataRelativeToNow; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _GetPoseActionDataForNextFrame(ulong action, ETrackingUniverseOrigin eOrigin, ref InputPoseActionData_t pActionData, uint unActionDataSize, ulong ulRestrictToDevice); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetPoseActionDataForNextFrame GetPoseActionDataForNextFrame; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _GetSkeletalActionData(ulong action, ref InputSkeletalActionData_t pActionData, uint unActionDataSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetSkeletalActionData GetSkeletalActionData; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _GetDominantHand(ref ETrackedControllerRole peDominantHand); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetDominantHand GetDominantHand; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _SetDominantHand(ETrackedControllerRole eDominantHand); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetDominantHand SetDominantHand; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _GetBoneCount(ulong action, ref uint pBoneCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetBoneCount GetBoneCount; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _GetBoneHierarchy(ulong action, [In, Out] int[] pParentIndices, uint unIndexArayCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetBoneHierarchy GetBoneHierarchy; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _GetBoneName(ulong action, int nBoneIndex, System.Text.StringBuilder pchBoneName, uint unNameBufferSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetBoneName GetBoneName; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _GetSkeletalReferenceTransforms(ulong action, EVRSkeletalTransformSpace eTransformSpace, EVRSkeletalReferencePose eReferencePose, [In, Out] VRBoneTransform_t[] pTransformArray, uint unTransformArrayCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetSkeletalReferenceTransforms GetSkeletalReferenceTransforms; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _GetSkeletalTrackingLevel(ulong action, ref EVRSkeletalTrackingLevel pSkeletalTrackingLevel); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetSkeletalTrackingLevel GetSkeletalTrackingLevel; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _GetSkeletalBoneData(ulong action, EVRSkeletalTransformSpace eTransformSpace, EVRSkeletalMotionRange eMotionRange, [In, Out] VRBoneTransform_t[] pTransformArray, uint unTransformArrayCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetSkeletalBoneData GetSkeletalBoneData; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _GetSkeletalSummaryData(ulong action, EVRSummaryType eSummaryType, ref VRSkeletalSummaryData_t pSkeletalSummaryData); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetSkeletalSummaryData GetSkeletalSummaryData; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _GetSkeletalBoneDataCompressed(ulong action, EVRSkeletalMotionRange eMotionRange, IntPtr pvCompressedData, uint unCompressedSize, ref uint punRequiredCompressedSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetSkeletalBoneDataCompressed GetSkeletalBoneDataCompressed; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _DecompressSkeletalBoneData(IntPtr pvCompressedBuffer, uint unCompressedBufferSize, EVRSkeletalTransformSpace eTransformSpace, [In, Out] VRBoneTransform_t[] pTransformArray, uint unTransformArrayCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _DecompressSkeletalBoneData DecompressSkeletalBoneData; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _TriggerHapticVibrationAction(ulong action, float fStartSecondsFromNow, float fDurationSeconds, float fFrequency, float fAmplitude, ulong ulRestrictToDevice); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _TriggerHapticVibrationAction TriggerHapticVibrationAction; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _GetActionOrigins(ulong actionSetHandle, ulong digitalActionHandle, [In, Out] ulong[] originsOut, uint originOutCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetActionOrigins GetActionOrigins; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _GetOriginLocalizedName(ulong origin, System.Text.StringBuilder pchNameArray, uint unNameArraySize, int unStringSectionsToInclude); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOriginLocalizedName GetOriginLocalizedName; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _GetOriginTrackedDeviceInfo(ulong origin, ref InputOriginInfo_t pOriginInfo, uint unOriginInfoSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOriginTrackedDeviceInfo GetOriginTrackedDeviceInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _GetActionBindingInfo(ulong action, ref InputBindingInfo_t pOriginInfo, uint unBindingInfoSize, uint unBindingInfoCount, ref uint punReturnedBindingInfoCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetActionBindingInfo GetActionBindingInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _ShowActionOrigins(ulong actionSetHandle, ulong ulActionHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ShowActionOrigins ShowActionOrigins; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _ShowBindingsForActionSet([In, Out] VRActiveActionSet_t[] pSets, uint unSizeOfVRSelectedActionSet_t, uint unSetCount, ulong originToHighlight); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ShowBindingsForActionSet ShowBindingsForActionSet; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _GetComponentStateForBinding(IntPtr pchRenderModelName, IntPtr pchComponentName, ref InputBindingInfo_t pOriginInfo, uint unBindingInfoSize, uint unBindingInfoCount, ref RenderModel_ComponentState_t pComponentState); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetComponentStateForBinding GetComponentStateForBinding; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsUsingLegacyInput(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsUsingLegacyInput IsUsingLegacyInput; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _OpenBindingUI(IntPtr pchAppKey, ulong ulActionSetHandle, ulong ulDeviceHandle, bool bShowOnDesktop); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _OpenBindingUI OpenBindingUI; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRInputError _GetBindingVariant(ulong ulDevicePath, System.Text.StringBuilder pchVariantArray, uint unVariantArraySize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetBindingVariant GetBindingVariant; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRIOBuffer -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EIOBufferError _Open(IntPtr pchPath, EIOBufferMode mode, uint unElementSize, uint unElements, ref ulong pulBuffer); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _Open Open; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EIOBufferError _Close(ulong ulBuffer); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _Close Close; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EIOBufferError _Read(ulong ulBuffer, IntPtr pDst, uint unBytes, ref uint punRead); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _Read Read; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EIOBufferError _Write(ulong ulBuffer, IntPtr pSrc, uint unBytes); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _Write Write; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ulong _PropertyContainer(ulong ulBuffer); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _PropertyContainer PropertyContainer; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _HasReaders(ulong ulBuffer); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _HasReaders HasReaders; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRSpatialAnchors -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRSpatialAnchorError _CreateSpatialAnchorFromDescriptor(IntPtr pchDescriptor, ref uint pHandleOut); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CreateSpatialAnchorFromDescriptor CreateSpatialAnchorFromDescriptor; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRSpatialAnchorError _CreateSpatialAnchorFromPose(uint unDeviceIndex, ETrackingUniverseOrigin eOrigin, ref SpatialAnchorPose_t pPose, ref uint pHandleOut); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CreateSpatialAnchorFromPose CreateSpatialAnchorFromPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRSpatialAnchorError _GetSpatialAnchorPose(uint unHandle, ETrackingUniverseOrigin eOrigin, ref SpatialAnchorPose_t pPoseOut); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetSpatialAnchorPose GetSpatialAnchorPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRSpatialAnchorError _GetSpatialAnchorDescriptor(uint unHandle, System.Text.StringBuilder pchDescriptorOut, ref uint punDescriptorBufferLenInOut); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetSpatialAnchorDescriptor GetSpatialAnchorDescriptor; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRDebug -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRDebugError _EmitVrProfilerEvent(IntPtr pchMessage); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _EmitVrProfilerEvent EmitVrProfilerEvent; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRDebugError _BeginVrProfilerEvent(ref ulong pHandleOut); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _BeginVrProfilerEvent BeginVrProfilerEvent; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRDebugError _FinishVrProfilerEvent(ulong hHandle, IntPtr pchMessage); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _FinishVrProfilerEvent FinishVrProfilerEvent; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _DriverDebugRequest(uint unDeviceIndex, IntPtr pchRequest, System.Text.StringBuilder pchResponseBuffer, uint unResponseBufferSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _DriverDebugRequest DriverDebugRequest; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRProperties -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ETrackedPropertyError _ReadPropertyBatch(ulong ulContainerHandle, ref PropertyRead_t pBatch, uint unBatchEntryCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReadPropertyBatch ReadPropertyBatch; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ETrackedPropertyError _WritePropertyBatch(ulong ulContainerHandle, ref PropertyWrite_t pBatch, uint unBatchEntryCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _WritePropertyBatch WritePropertyBatch; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetPropErrorNameFromEnum(ETrackedPropertyError error); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetPropErrorNameFromEnum GetPropErrorNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ulong _TrackedDeviceToPropertyContainer(uint nDevice); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _TrackedDeviceToPropertyContainer TrackedDeviceToPropertyContainer; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRPaths -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ETrackedPropertyError _ReadPathBatch(ulong ulRootHandle, ref PathRead_t pBatch, uint unBatchEntryCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReadPathBatch ReadPathBatch; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ETrackedPropertyError _WritePathBatch(ulong ulRootHandle, ref PathWrite_t pBatch, uint unBatchEntryCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _WritePathBatch WritePathBatch; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ETrackedPropertyError _StringToHandle(ref ulong pHandle, IntPtr pchPath); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _StringToHandle StringToHandle; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ETrackedPropertyError _HandleToString(ulong pHandle, string pchBuffer, uint unBufferSize, ref uint punBufferSizeUsed); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _HandleToString HandleToString; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRBlockQueue -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EBlockQueueError _Create(ref ulong pulQueueHandle, IntPtr pchPath, uint unBlockDataSize, uint unBlockHeaderSize, uint unBlockCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _Create Create; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EBlockQueueError _Connect(ref ulong pulQueueHandle, IntPtr pchPath); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _Connect Connect; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EBlockQueueError _Destroy(ulong ulQueueHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _Destroy Destroy; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EBlockQueueError _AcquireWriteOnlyBlock(ulong ulQueueHandle, ref ulong pulBlockHandle, ref IntPtr ppvBuffer); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _AcquireWriteOnlyBlock AcquireWriteOnlyBlock; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EBlockQueueError _ReleaseWriteOnlyBlock(ulong ulQueueHandle, ulong ulBlockHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReleaseWriteOnlyBlock ReleaseWriteOnlyBlock; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EBlockQueueError _WaitAndAcquireReadOnlyBlock(ulong ulQueueHandle, ref ulong pulBlockHandle, ref IntPtr ppvBuffer, EBlockQueueReadType eReadType, uint unTimeoutMs); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _WaitAndAcquireReadOnlyBlock WaitAndAcquireReadOnlyBlock; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EBlockQueueError _AcquireReadOnlyBlock(ulong ulQueueHandle, ref ulong pulBlockHandle, ref IntPtr ppvBuffer, EBlockQueueReadType eReadType); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _AcquireReadOnlyBlock AcquireReadOnlyBlock; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EBlockQueueError _ReleaseReadOnlyBlock(ulong ulQueueHandle, ulong ulBlockHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReleaseReadOnlyBlock ReleaseReadOnlyBlock; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EBlockQueueError _QueueHasReader(ulong ulQueueHandle, ref bool pbHasReaders); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _QueueHasReader QueueHasReader; - -} - - -public class Utils -{ - public static IntPtr ToUtf8(string managedString) - { - if (managedString == null) - { - return IntPtr.Zero; - } - - int size = System.Text.Encoding.UTF8.GetByteCount(managedString) + 1; - if (buffer.Length < size) buffer = new byte[size]; - int written = System.Text.Encoding.UTF8.GetBytes(managedString, 0, managedString.Length, buffer, 0); - buffer[written] = 0x00; // null terminate - IntPtr nativeUtf8 = Marshal.AllocHGlobal(written+1); - Marshal.Copy(buffer, 0, nativeUtf8, written+1); - return nativeUtf8; - } - private static byte[] buffer = new byte[1024]; -} - -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 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 GetArrayTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,uint propType,IntPtr pBuffer,uint unBufferSize,ref ETrackedPropertyError pError) - { - uint result = FnTable.GetArrayTrackedDeviceProperty(unDeviceIndex,prop,propType,pBuffer,unBufferSize,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,ushort 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 IsInputAvailable() - { - bool result = FnTable.IsInputAvailable(); - return result; - } - public bool IsSteamVRDrawingControllers() - { - bool result = FnTable.IsSteamVRDrawingControllers(); - return result; - } - public bool ShouldApplicationPause() - { - bool result = FnTable.ShouldApplicationPause(); - return result; - } - public bool ShouldApplicationReduceRenderingWork() - { - bool result = FnTable.ShouldApplicationReduceRenderingWork(); - return result; - } - public EVRFirmwareError PerformFirmwareUpdate(uint unDeviceIndex) - { - EVRFirmwareError result = FnTable.PerformFirmwareUpdate(unDeviceIndex); - return result; - } - public void AcknowledgeQuit_Exiting() - { - FnTable.AcknowledgeQuit_Exiting(); - } - public uint GetAppContainerFilePaths(System.Text.StringBuilder pchBuffer,uint unBufferSize) - { - uint result = FnTable.GetAppContainerFilePaths(pchBuffer,unBufferSize); - return result; - } - public string GetRuntimeVersion() - { - IntPtr result = FnTable.GetRuntimeVersion(); - return Marshal.PtrToStringAnsi(result); - } -} - - -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,uint nCameraIndex,EVRTrackedCameraFrameType eFrameType,ref HmdVector2_t pFocalLength,ref HmdVector2_t pCenter) - { - EVRTrackedCameraError result = FnTable.GetCameraIntrinsics(nDeviceIndex,nCameraIndex,eFrameType,ref pFocalLength,ref pCenter); - return result; - } - public EVRTrackedCameraError GetCameraProjection(uint nDeviceIndex,uint nCameraIndex,EVRTrackedCameraFrameType eFrameType,float flZNear,float flZFar,ref HmdMatrix44_t pProjection) - { - EVRTrackedCameraError result = FnTable.GetCameraProjection(nDeviceIndex,nCameraIndex,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 void SetCameraTrackingSpace(ETrackingUniverseOrigin eUniverse) - { - FnTable.SetCameraTrackingSpace(eUniverse); - } - public ETrackingUniverseOrigin GetCameraTrackingSpace() - { - ETrackingUniverseOrigin result = FnTable.GetCameraTrackingSpace(); - 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) - { - IntPtr pchApplicationManifestFullPathUtf8 = Utils.ToUtf8(pchApplicationManifestFullPath); - EVRApplicationError result = FnTable.AddApplicationManifest(pchApplicationManifestFullPathUtf8,bTemporary); - Marshal.FreeHGlobal(pchApplicationManifestFullPathUtf8); - return result; - } - public EVRApplicationError RemoveApplicationManifest(string pchApplicationManifestFullPath) - { - IntPtr pchApplicationManifestFullPathUtf8 = Utils.ToUtf8(pchApplicationManifestFullPath); - EVRApplicationError result = FnTable.RemoveApplicationManifest(pchApplicationManifestFullPathUtf8); - Marshal.FreeHGlobal(pchApplicationManifestFullPathUtf8); - return result; - } - public bool IsApplicationInstalled(string pchAppKey) - { - IntPtr pchAppKeyUtf8 = Utils.ToUtf8(pchAppKey); - bool result = FnTable.IsApplicationInstalled(pchAppKeyUtf8); - Marshal.FreeHGlobal(pchAppKeyUtf8); - 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,System.Text.StringBuilder pchAppKeyBuffer,uint unAppKeyBufferLen) - { - EVRApplicationError result = FnTable.GetApplicationKeyByProcessId(unProcessId,pchAppKeyBuffer,unAppKeyBufferLen); - return result; - } - public EVRApplicationError LaunchApplication(string pchAppKey) - { - IntPtr pchAppKeyUtf8 = Utils.ToUtf8(pchAppKey); - EVRApplicationError result = FnTable.LaunchApplication(pchAppKeyUtf8); - Marshal.FreeHGlobal(pchAppKeyUtf8); - return result; - } - public EVRApplicationError LaunchTemplateApplication(string pchTemplateAppKey,string pchNewAppKey,AppOverrideKeys_t [] pKeys) - { - IntPtr pchTemplateAppKeyUtf8 = Utils.ToUtf8(pchTemplateAppKey); - IntPtr pchNewAppKeyUtf8 = Utils.ToUtf8(pchNewAppKey); - EVRApplicationError result = FnTable.LaunchTemplateApplication(pchTemplateAppKeyUtf8,pchNewAppKeyUtf8,pKeys,(uint) pKeys.Length); - Marshal.FreeHGlobal(pchTemplateAppKeyUtf8); - Marshal.FreeHGlobal(pchNewAppKeyUtf8); - return result; - } - public EVRApplicationError LaunchApplicationFromMimeType(string pchMimeType,string pchArgs) - { - IntPtr pchMimeTypeUtf8 = Utils.ToUtf8(pchMimeType); - IntPtr pchArgsUtf8 = Utils.ToUtf8(pchArgs); - EVRApplicationError result = FnTable.LaunchApplicationFromMimeType(pchMimeTypeUtf8,pchArgsUtf8); - Marshal.FreeHGlobal(pchMimeTypeUtf8); - Marshal.FreeHGlobal(pchArgsUtf8); - return result; - } - public EVRApplicationError LaunchDashboardOverlay(string pchAppKey) - { - IntPtr pchAppKeyUtf8 = Utils.ToUtf8(pchAppKey); - EVRApplicationError result = FnTable.LaunchDashboardOverlay(pchAppKeyUtf8); - Marshal.FreeHGlobal(pchAppKeyUtf8); - return result; - } - public bool CancelApplicationLaunch(string pchAppKey) - { - IntPtr pchAppKeyUtf8 = Utils.ToUtf8(pchAppKey); - bool result = FnTable.CancelApplicationLaunch(pchAppKeyUtf8); - Marshal.FreeHGlobal(pchAppKeyUtf8); - return result; - } - public EVRApplicationError IdentifyApplication(uint unProcessId,string pchAppKey) - { - IntPtr pchAppKeyUtf8 = Utils.ToUtf8(pchAppKey); - EVRApplicationError result = FnTable.IdentifyApplication(unProcessId,pchAppKeyUtf8); - Marshal.FreeHGlobal(pchAppKeyUtf8); - return result; - } - public uint GetApplicationProcessId(string pchAppKey) - { - IntPtr pchAppKeyUtf8 = Utils.ToUtf8(pchAppKey); - uint result = FnTable.GetApplicationProcessId(pchAppKeyUtf8); - Marshal.FreeHGlobal(pchAppKeyUtf8); - 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) - { - IntPtr pchAppKeyUtf8 = Utils.ToUtf8(pchAppKey); - uint result = FnTable.GetApplicationPropertyString(pchAppKeyUtf8,eProperty,pchPropertyValueBuffer,unPropertyValueBufferLen,ref peError); - Marshal.FreeHGlobal(pchAppKeyUtf8); - return result; - } - public bool GetApplicationPropertyBool(string pchAppKey,EVRApplicationProperty eProperty,ref EVRApplicationError peError) - { - IntPtr pchAppKeyUtf8 = Utils.ToUtf8(pchAppKey); - bool result = FnTable.GetApplicationPropertyBool(pchAppKeyUtf8,eProperty,ref peError); - Marshal.FreeHGlobal(pchAppKeyUtf8); - return result; - } - public ulong GetApplicationPropertyUint64(string pchAppKey,EVRApplicationProperty eProperty,ref EVRApplicationError peError) - { - IntPtr pchAppKeyUtf8 = Utils.ToUtf8(pchAppKey); - ulong result = FnTable.GetApplicationPropertyUint64(pchAppKeyUtf8,eProperty,ref peError); - Marshal.FreeHGlobal(pchAppKeyUtf8); - return result; - } - public EVRApplicationError SetApplicationAutoLaunch(string pchAppKey,bool bAutoLaunch) - { - IntPtr pchAppKeyUtf8 = Utils.ToUtf8(pchAppKey); - EVRApplicationError result = FnTable.SetApplicationAutoLaunch(pchAppKeyUtf8,bAutoLaunch); - Marshal.FreeHGlobal(pchAppKeyUtf8); - return result; - } - public bool GetApplicationAutoLaunch(string pchAppKey) - { - IntPtr pchAppKeyUtf8 = Utils.ToUtf8(pchAppKey); - bool result = FnTable.GetApplicationAutoLaunch(pchAppKeyUtf8); - Marshal.FreeHGlobal(pchAppKeyUtf8); - return result; - } - public EVRApplicationError SetDefaultApplicationForMimeType(string pchAppKey,string pchMimeType) - { - IntPtr pchAppKeyUtf8 = Utils.ToUtf8(pchAppKey); - IntPtr pchMimeTypeUtf8 = Utils.ToUtf8(pchMimeType); - EVRApplicationError result = FnTable.SetDefaultApplicationForMimeType(pchAppKeyUtf8,pchMimeTypeUtf8); - Marshal.FreeHGlobal(pchAppKeyUtf8); - Marshal.FreeHGlobal(pchMimeTypeUtf8); - return result; - } - public bool GetDefaultApplicationForMimeType(string pchMimeType,System.Text.StringBuilder pchAppKeyBuffer,uint unAppKeyBufferLen) - { - IntPtr pchMimeTypeUtf8 = Utils.ToUtf8(pchMimeType); - bool result = FnTable.GetDefaultApplicationForMimeType(pchMimeTypeUtf8,pchAppKeyBuffer,unAppKeyBufferLen); - Marshal.FreeHGlobal(pchMimeTypeUtf8); - return result; - } - public bool GetApplicationSupportedMimeTypes(string pchAppKey,System.Text.StringBuilder pchMimeTypesBuffer,uint unMimeTypesBuffer) - { - IntPtr pchAppKeyUtf8 = Utils.ToUtf8(pchAppKey); - bool result = FnTable.GetApplicationSupportedMimeTypes(pchAppKeyUtf8,pchMimeTypesBuffer,unMimeTypesBuffer); - Marshal.FreeHGlobal(pchAppKeyUtf8); - return result; - } - public uint GetApplicationsThatSupportMimeType(string pchMimeType,System.Text.StringBuilder pchAppKeysThatSupportBuffer,uint unAppKeysThatSupportBuffer) - { - IntPtr pchMimeTypeUtf8 = Utils.ToUtf8(pchMimeType); - uint result = FnTable.GetApplicationsThatSupportMimeType(pchMimeTypeUtf8,pchAppKeysThatSupportBuffer,unAppKeysThatSupportBuffer); - Marshal.FreeHGlobal(pchMimeTypeUtf8); - return result; - } - public uint GetApplicationLaunchArguments(uint unHandle,System.Text.StringBuilder pchArgs,uint unArgs) - { - uint result = FnTable.GetApplicationLaunchArguments(unHandle,pchArgs,unArgs); - return result; - } - public EVRApplicationError GetStartingApplication(System.Text.StringBuilder pchAppKeyBuffer,uint unAppKeyBufferLen) - { - EVRApplicationError result = FnTable.GetStartingApplication(pchAppKeyBuffer,unAppKeyBufferLen); - return result; - } - public EVRSceneApplicationState GetSceneApplicationState() - { - EVRSceneApplicationState result = FnTable.GetSceneApplicationState(); - return result; - } - public EVRApplicationError PerformApplicationPrelaunchCheck(string pchAppKey) - { - IntPtr pchAppKeyUtf8 = Utils.ToUtf8(pchAppKey); - EVRApplicationError result = FnTable.PerformApplicationPrelaunchCheck(pchAppKeyUtf8); - Marshal.FreeHGlobal(pchAppKeyUtf8); - return result; - } - public string GetSceneApplicationStateNameFromEnum(EVRSceneApplicationState state) - { - IntPtr result = FnTable.GetSceneApplicationStateNameFromEnum(state); - return Marshal.PtrToStringAnsi(result); - } - public EVRApplicationError LaunchInternalProcess(string pchBinaryPath,string pchArguments,string pchWorkingDirectory) - { - IntPtr pchBinaryPathUtf8 = Utils.ToUtf8(pchBinaryPath); - IntPtr pchArgumentsUtf8 = Utils.ToUtf8(pchArguments); - IntPtr pchWorkingDirectoryUtf8 = Utils.ToUtf8(pchWorkingDirectory); - EVRApplicationError result = FnTable.LaunchInternalProcess(pchBinaryPathUtf8,pchArgumentsUtf8,pchWorkingDirectoryUtf8); - Marshal.FreeHGlobal(pchBinaryPathUtf8); - Marshal.FreeHGlobal(pchArgumentsUtf8); - Marshal.FreeHGlobal(pchWorkingDirectoryUtf8); - 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 void ResetZeroPose(ETrackingUniverseOrigin eTrackingUniverseOrigin) - { - FnTable.ResetZeroPose(eTrackingUniverseOrigin); - } -} - - -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 SetWorkingPerimeter(HmdVector2_t [] pPointBuffer) - { - FnTable.SetWorkingPerimeter(pPointBuffer,(uint) pPointBuffer.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 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) - { - IntPtr pBufferUtf8 = Utils.ToUtf8(pBuffer); - bool result = FnTable.ImportFromBufferToWorking(pBufferUtf8,nImportFlags); - Marshal.FreeHGlobal(pBufferUtf8); - return result; - } - public void ShowWorkingSetPreview() - { - FnTable.ShowWorkingSetPreview(); - } - public void HideWorkingSetPreview() - { - FnTable.HideWorkingSetPreview(); - } - public void RoomSetupStarting() - { - FnTable.RoomSetupStarting(); - } -} - - -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(Compositor_FrameTiming [] pTiming) - { - uint result = FnTable.GetFrameTimings(pTiming,(uint) pTiming.Length); - 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(EVRCompositorTimingMode eTimingMode) - { - FnTable.SetExplicitTimingMode(eTimingMode); - } - public EVRCompositorError SubmitExplicitTimingData() - { - EVRCompositorError result = FnTable.SubmitExplicitTimingData(); - return result; - } - public bool IsMotionSmoothingEnabled() - { - bool result = FnTable.IsMotionSmoothingEnabled(); - return result; - } - public bool IsMotionSmoothingSupported() - { - bool result = FnTable.IsMotionSmoothingSupported(); - return result; - } - public bool IsCurrentSceneFocusAppLoading() - { - bool result = FnTable.IsCurrentSceneFocusAppLoading(); - return result; - } - public EVRCompositorError SetStageOverride_Async(string pchRenderModelPath,ref HmdMatrix34_t pTransform,ref Compositor_StageRenderSettings pRenderSettings,uint nSizeOfRenderSettings) - { - IntPtr pchRenderModelPathUtf8 = Utils.ToUtf8(pchRenderModelPath); - EVRCompositorError result = FnTable.SetStageOverride_Async(pchRenderModelPathUtf8,ref pTransform,ref pRenderSettings,nSizeOfRenderSettings); - Marshal.FreeHGlobal(pchRenderModelPathUtf8); - return result; - } - public void ClearStageOverride() - { - FnTable.ClearStageOverride(); - } - public bool GetCompositorBenchmarkResults(ref Compositor_BenchmarkResults pBenchmarkResults,uint nSizeOfBenchmarkResults) - { - bool result = FnTable.GetCompositorBenchmarkResults(ref pBenchmarkResults,nSizeOfBenchmarkResults); - return result; - } - public EVRCompositorError GetLastPosePredictionIDs(ref uint pRenderPosePredictionID,ref uint pGamePosePredictionID) - { - pRenderPosePredictionID = 0; - pGamePosePredictionID = 0; - EVRCompositorError result = FnTable.GetLastPosePredictionIDs(ref pRenderPosePredictionID,ref pGamePosePredictionID); - return result; - } - public EVRCompositorError GetPosesForFrame(uint unPosePredictionID,TrackedDevicePose_t [] pPoseArray) - { - EVRCompositorError result = FnTable.GetPosesForFrame(unPosePredictionID,pPoseArray,(uint) pPoseArray.Length); - 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) - { - IntPtr pchOverlayKeyUtf8 = Utils.ToUtf8(pchOverlayKey); - pOverlayHandle = 0; - EVROverlayError result = FnTable.FindOverlay(pchOverlayKeyUtf8,ref pOverlayHandle); - Marshal.FreeHGlobal(pchOverlayKeyUtf8); - return result; - } - public EVROverlayError CreateOverlay(string pchOverlayKey,string pchOverlayName,ref ulong pOverlayHandle) - { - IntPtr pchOverlayKeyUtf8 = Utils.ToUtf8(pchOverlayKey); - IntPtr pchOverlayNameUtf8 = Utils.ToUtf8(pchOverlayName); - pOverlayHandle = 0; - EVROverlayError result = FnTable.CreateOverlay(pchOverlayKeyUtf8,pchOverlayNameUtf8,ref pOverlayHandle); - Marshal.FreeHGlobal(pchOverlayKeyUtf8); - Marshal.FreeHGlobal(pchOverlayNameUtf8); - return result; - } - public EVROverlayError DestroyOverlay(ulong ulOverlayHandle) - { - EVROverlayError result = FnTable.DestroyOverlay(ulOverlayHandle); - 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) - { - IntPtr pchNameUtf8 = Utils.ToUtf8(pchName); - EVROverlayError result = FnTable.SetOverlayName(ulOverlayHandle,pchNameUtf8); - Marshal.FreeHGlobal(pchNameUtf8); - 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 GetOverlayFlags(ulong ulOverlayHandle,ref uint pFlags) - { - pFlags = 0; - EVROverlayError result = FnTable.GetOverlayFlags(ulOverlayHandle,ref pFlags); - 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 SetOverlayCurvature(ulong ulOverlayHandle,float fCurvature) - { - EVROverlayError result = FnTable.SetOverlayCurvature(ulOverlayHandle,fCurvature); - return result; - } - public EVROverlayError GetOverlayCurvature(ulong ulOverlayHandle,ref float pfCurvature) - { - pfCurvature = 0; - EVROverlayError result = FnTable.GetOverlayCurvature(ulOverlayHandle,ref pfCurvature); - 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 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) - { - IntPtr pchComponentNameUtf8 = Utils.ToUtf8(pchComponentName); - EVROverlayError result = FnTable.SetOverlayTransformTrackedDeviceComponent(ulOverlayHandle,unDeviceIndex,pchComponentNameUtf8); - Marshal.FreeHGlobal(pchComponentNameUtf8); - return result; - } - public EVROverlayError GetOverlayTransformTrackedDeviceComponent(ulong ulOverlayHandle,ref uint punDeviceIndex,System.Text.StringBuilder 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 SetOverlayTransformCursor(ulong ulCursorOverlayHandle,ref HmdVector2_t pvHotspot) - { - EVROverlayError result = FnTable.SetOverlayTransformCursor(ulCursorOverlayHandle,ref pvHotspot); - return result; - } - public EVROverlayError GetOverlayTransformCursor(ulong ulOverlayHandle,ref HmdVector2_t pvHotspot) - { - EVROverlayError result = FnTable.GetOverlayTransformCursor(ulOverlayHandle,ref pvHotspot); - 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 IsHoverTargetOverlay(ulong ulOverlayHandle) - { - bool result = FnTable.IsHoverTargetOverlay(ulOverlayHandle); - return result; - } - 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 TriggerLaserMouseHapticVibration(ulong ulOverlayHandle,float fDurationSeconds,float fFrequency,float fAmplitude) - { - EVROverlayError result = FnTable.TriggerLaserMouseHapticVibration(ulOverlayHandle,fDurationSeconds,fFrequency,fAmplitude); - return result; - } - public EVROverlayError SetOverlayCursor(ulong ulOverlayHandle,ulong ulCursorHandle) - { - EVROverlayError result = FnTable.SetOverlayCursor(ulOverlayHandle,ulCursorHandle); - return result; - } - public EVROverlayError SetOverlayCursorPositionOverride(ulong ulOverlayHandle,ref HmdVector2_t pvCursor) - { - EVROverlayError result = FnTable.SetOverlayCursorPositionOverride(ulOverlayHandle,ref pvCursor); - return result; - } - public EVROverlayError ClearOverlayCursorPositionOverride(ulong ulOverlayHandle) - { - EVROverlayError result = FnTable.ClearOverlayCursorPositionOverride(ulOverlayHandle); - 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 unBytesPerPixel) - { - EVROverlayError result = FnTable.SetOverlayRaw(ulOverlayHandle,pvBuffer,unWidth,unHeight,unBytesPerPixel); - return result; - } - public EVROverlayError SetOverlayFromFile(ulong ulOverlayHandle,string pchFilePath) - { - IntPtr pchFilePathUtf8 = Utils.ToUtf8(pchFilePath); - EVROverlayError result = FnTable.SetOverlayFromFile(ulOverlayHandle,pchFilePathUtf8); - Marshal.FreeHGlobal(pchFilePathUtf8); - 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) - { - IntPtr pchOverlayKeyUtf8 = Utils.ToUtf8(pchOverlayKey); - IntPtr pchOverlayFriendlyNameUtf8 = Utils.ToUtf8(pchOverlayFriendlyName); - pMainHandle = 0; - pThumbnailHandle = 0; - EVROverlayError result = FnTable.CreateDashboardOverlay(pchOverlayKeyUtf8,pchOverlayFriendlyNameUtf8,ref pMainHandle,ref pThumbnailHandle); - Marshal.FreeHGlobal(pchOverlayKeyUtf8); - Marshal.FreeHGlobal(pchOverlayFriendlyNameUtf8); - 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) - { - IntPtr pchOverlayToShowUtf8 = Utils.ToUtf8(pchOverlayToShow); - FnTable.ShowDashboard(pchOverlayToShowUtf8); - Marshal.FreeHGlobal(pchOverlayToShowUtf8); - } - public uint GetPrimaryDashboardDevice() - { - uint result = FnTable.GetPrimaryDashboardDevice(); - return result; - } - public EVROverlayError ShowKeyboard(int eInputMode,int eLineInputMode,uint unFlags,string pchDescription,uint unCharMax,string pchExistingText,ulong uUserValue) - { - IntPtr pchDescriptionUtf8 = Utils.ToUtf8(pchDescription); - IntPtr pchExistingTextUtf8 = Utils.ToUtf8(pchExistingText); - EVROverlayError result = FnTable.ShowKeyboard(eInputMode,eLineInputMode,unFlags,pchDescriptionUtf8,unCharMax,pchExistingTextUtf8,uUserValue); - Marshal.FreeHGlobal(pchDescriptionUtf8); - Marshal.FreeHGlobal(pchExistingTextUtf8); - return result; - } - public EVROverlayError ShowKeyboardForOverlay(ulong ulOverlayHandle,int eInputMode,int eLineInputMode,uint unFlags,string pchDescription,uint unCharMax,string pchExistingText,ulong uUserValue) - { - IntPtr pchDescriptionUtf8 = Utils.ToUtf8(pchDescription); - IntPtr pchExistingTextUtf8 = Utils.ToUtf8(pchExistingText); - EVROverlayError result = FnTable.ShowKeyboardForOverlay(ulOverlayHandle,eInputMode,eLineInputMode,unFlags,pchDescriptionUtf8,unCharMax,pchExistingTextUtf8,uUserValue); - Marshal.FreeHGlobal(pchDescriptionUtf8); - Marshal.FreeHGlobal(pchExistingTextUtf8); - 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 VRMessageOverlayResponse ShowMessageOverlay(string pchText,string pchCaption,string pchButton0Text,string pchButton1Text,string pchButton2Text,string pchButton3Text) - { - IntPtr pchTextUtf8 = Utils.ToUtf8(pchText); - IntPtr pchCaptionUtf8 = Utils.ToUtf8(pchCaption); - IntPtr pchButton0TextUtf8 = Utils.ToUtf8(pchButton0Text); - IntPtr pchButton1TextUtf8 = Utils.ToUtf8(pchButton1Text); - IntPtr pchButton2TextUtf8 = Utils.ToUtf8(pchButton2Text); - IntPtr pchButton3TextUtf8 = Utils.ToUtf8(pchButton3Text); - VRMessageOverlayResponse result = FnTable.ShowMessageOverlay(pchTextUtf8,pchCaptionUtf8,pchButton0TextUtf8,pchButton1TextUtf8,pchButton2TextUtf8,pchButton3TextUtf8); - Marshal.FreeHGlobal(pchTextUtf8); - Marshal.FreeHGlobal(pchCaptionUtf8); - Marshal.FreeHGlobal(pchButton0TextUtf8); - Marshal.FreeHGlobal(pchButton1TextUtf8); - Marshal.FreeHGlobal(pchButton2TextUtf8); - Marshal.FreeHGlobal(pchButton3TextUtf8); - return result; - } - public void CloseMessageOverlay() - { - FnTable.CloseMessageOverlay(); - } -} - - -public class CVROverlayView -{ - IVROverlayView FnTable; - internal CVROverlayView(IntPtr pInterface) - { - FnTable = (IVROverlayView)Marshal.PtrToStructure(pInterface, typeof(IVROverlayView)); - } - public EVROverlayError AcquireOverlayView(ulong ulOverlayHandle,ref VRNativeDevice_t pNativeDevice,ref VROverlayView_t pOverlayView,uint unOverlayViewSize) - { - EVROverlayError result = FnTable.AcquireOverlayView(ulOverlayHandle,ref pNativeDevice,ref pOverlayView,unOverlayViewSize); - return result; - } - public EVROverlayError ReleaseOverlayView(ref VROverlayView_t pOverlayView) - { - EVROverlayError result = FnTable.ReleaseOverlayView(ref pOverlayView); - return result; - } - public void PostOverlayEvent(ulong ulOverlayHandle,ref VREvent_t pvrEvent) - { - FnTable.PostOverlayEvent(ulOverlayHandle,ref pvrEvent); - } - public bool IsViewingPermitted(ulong ulOverlayHandle) - { - bool result = FnTable.IsViewingPermitted(ulOverlayHandle); - return result; - } -} - - -public class CVRHeadsetView -{ - IVRHeadsetView FnTable; - internal CVRHeadsetView(IntPtr pInterface) - { - FnTable = (IVRHeadsetView)Marshal.PtrToStructure(pInterface, typeof(IVRHeadsetView)); - } - public void SetHeadsetViewSize(uint nWidth,uint nHeight) - { - FnTable.SetHeadsetViewSize(nWidth,nHeight); - } - public void GetHeadsetViewSize(ref uint pnWidth,ref uint pnHeight) - { - pnWidth = 0; - pnHeight = 0; - FnTable.GetHeadsetViewSize(ref pnWidth,ref pnHeight); - } - public void SetHeadsetViewMode(uint eHeadsetViewMode) - { - FnTable.SetHeadsetViewMode(eHeadsetViewMode); - } - public uint GetHeadsetViewMode() - { - uint result = FnTable.GetHeadsetViewMode(); - return result; - } - public void SetHeadsetViewCropped(bool bCropped) - { - FnTable.SetHeadsetViewCropped(bCropped); - } - public bool GetHeadsetViewCropped() - { - bool result = FnTable.GetHeadsetViewCropped(); - return result; - } - public float GetHeadsetViewAspectRatio() - { - float result = FnTable.GetHeadsetViewAspectRatio(); - return result; - } - public void SetHeadsetViewBlendRange(float flStartPct,float flEndPct) - { - FnTable.SetHeadsetViewBlendRange(flStartPct,flEndPct); - } - public void GetHeadsetViewBlendRange(ref float pStartPct,ref float pEndPct) - { - pStartPct = 0; - pEndPct = 0; - FnTable.GetHeadsetViewBlendRange(ref pStartPct,ref pEndPct); - } -} - - -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) - { - IntPtr pchRenderModelNameUtf8 = Utils.ToUtf8(pchRenderModelName); - EVRRenderModelError result = FnTable.LoadRenderModel_Async(pchRenderModelNameUtf8,ref ppRenderModel); - Marshal.FreeHGlobal(pchRenderModelNameUtf8); - 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) - { - IntPtr pchRenderModelNameUtf8 = Utils.ToUtf8(pchRenderModelName); - uint result = FnTable.GetComponentCount(pchRenderModelNameUtf8); - Marshal.FreeHGlobal(pchRenderModelNameUtf8); - return result; - } - public uint GetComponentName(string pchRenderModelName,uint unComponentIndex,System.Text.StringBuilder pchComponentName,uint unComponentNameLen) - { - IntPtr pchRenderModelNameUtf8 = Utils.ToUtf8(pchRenderModelName); - uint result = FnTable.GetComponentName(pchRenderModelNameUtf8,unComponentIndex,pchComponentName,unComponentNameLen); - Marshal.FreeHGlobal(pchRenderModelNameUtf8); - return result; - } - public ulong GetComponentButtonMask(string pchRenderModelName,string pchComponentName) - { - IntPtr pchRenderModelNameUtf8 = Utils.ToUtf8(pchRenderModelName); - IntPtr pchComponentNameUtf8 = Utils.ToUtf8(pchComponentName); - ulong result = FnTable.GetComponentButtonMask(pchRenderModelNameUtf8,pchComponentNameUtf8); - Marshal.FreeHGlobal(pchRenderModelNameUtf8); - Marshal.FreeHGlobal(pchComponentNameUtf8); - return result; - } - public uint GetComponentRenderModelName(string pchRenderModelName,string pchComponentName,System.Text.StringBuilder pchComponentRenderModelName,uint unComponentRenderModelNameLen) - { - IntPtr pchRenderModelNameUtf8 = Utils.ToUtf8(pchRenderModelName); - IntPtr pchComponentNameUtf8 = Utils.ToUtf8(pchComponentName); - uint result = FnTable.GetComponentRenderModelName(pchRenderModelNameUtf8,pchComponentNameUtf8,pchComponentRenderModelName,unComponentRenderModelNameLen); - Marshal.FreeHGlobal(pchRenderModelNameUtf8); - Marshal.FreeHGlobal(pchComponentNameUtf8); - return result; - } - public bool GetComponentStateForDevicePath(string pchRenderModelName,string pchComponentName,ulong devicePath,ref RenderModel_ControllerMode_State_t pState,ref RenderModel_ComponentState_t pComponentState) - { - IntPtr pchRenderModelNameUtf8 = Utils.ToUtf8(pchRenderModelName); - IntPtr pchComponentNameUtf8 = Utils.ToUtf8(pchComponentName); - bool result = FnTable.GetComponentStateForDevicePath(pchRenderModelNameUtf8,pchComponentNameUtf8,devicePath,ref pState,ref pComponentState); - Marshal.FreeHGlobal(pchRenderModelNameUtf8); - Marshal.FreeHGlobal(pchComponentNameUtf8); - 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(IntPtr pchRenderModelName,IntPtr 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) - { - IntPtr pchRenderModelNameUtf8 = Utils.ToUtf8(pchRenderModelName); - IntPtr pchComponentNameUtf8 = Utils.ToUtf8(pchComponentName); -#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(pchRenderModelNameUtf8,pchComponentNameUtf8,ref state_packed,ref pState,ref pComponentState); - - state_packed.Unpack(ref pControllerState); - return packed_result; - } -#endif - bool result = FnTable.GetComponentState(pchRenderModelNameUtf8,pchComponentNameUtf8,ref pControllerState,ref pState,ref pComponentState); - Marshal.FreeHGlobal(pchRenderModelNameUtf8); - Marshal.FreeHGlobal(pchComponentNameUtf8); - return result; - } - public bool RenderModelHasComponent(string pchRenderModelName,string pchComponentName) - { - IntPtr pchRenderModelNameUtf8 = Utils.ToUtf8(pchRenderModelName); - IntPtr pchComponentNameUtf8 = Utils.ToUtf8(pchComponentName); - bool result = FnTable.RenderModelHasComponent(pchRenderModelNameUtf8,pchComponentNameUtf8); - Marshal.FreeHGlobal(pchRenderModelNameUtf8); - Marshal.FreeHGlobal(pchComponentNameUtf8); - return result; - } - public uint GetRenderModelThumbnailURL(string pchRenderModelName,System.Text.StringBuilder pchThumbnailURL,uint unThumbnailURLLen,ref EVRRenderModelError peError) - { - IntPtr pchRenderModelNameUtf8 = Utils.ToUtf8(pchRenderModelName); - uint result = FnTable.GetRenderModelThumbnailURL(pchRenderModelNameUtf8,pchThumbnailURL,unThumbnailURLLen,ref peError); - Marshal.FreeHGlobal(pchRenderModelNameUtf8); - return result; - } - public uint GetRenderModelOriginalPath(string pchRenderModelName,System.Text.StringBuilder pchOriginalPath,uint unOriginalPathLen,ref EVRRenderModelError peError) - { - IntPtr pchRenderModelNameUtf8 = Utils.ToUtf8(pchRenderModelName); - uint result = FnTable.GetRenderModelOriginalPath(pchRenderModelNameUtf8,pchOriginalPath,unOriginalPathLen,ref peError); - Marshal.FreeHGlobal(pchRenderModelNameUtf8); - 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) - { - IntPtr pchTextUtf8 = Utils.ToUtf8(pchText); - pNotificationId = 0; - EVRNotificationError result = FnTable.CreateNotification(ulOverlayHandle,ulUserValue,type,pchTextUtf8,style,ref pImage,ref pNotificationId); - Marshal.FreeHGlobal(pchTextUtf8); - 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 void SetBool(string pchSection,string pchSettingsKey,bool bValue,ref EVRSettingsError peError) - { - IntPtr pchSectionUtf8 = Utils.ToUtf8(pchSection); - IntPtr pchSettingsKeyUtf8 = Utils.ToUtf8(pchSettingsKey); - FnTable.SetBool(pchSectionUtf8,pchSettingsKeyUtf8,bValue,ref peError); - Marshal.FreeHGlobal(pchSectionUtf8); - Marshal.FreeHGlobal(pchSettingsKeyUtf8); - } - public void SetInt32(string pchSection,string pchSettingsKey,int nValue,ref EVRSettingsError peError) - { - IntPtr pchSectionUtf8 = Utils.ToUtf8(pchSection); - IntPtr pchSettingsKeyUtf8 = Utils.ToUtf8(pchSettingsKey); - FnTable.SetInt32(pchSectionUtf8,pchSettingsKeyUtf8,nValue,ref peError); - Marshal.FreeHGlobal(pchSectionUtf8); - Marshal.FreeHGlobal(pchSettingsKeyUtf8); - } - public void SetFloat(string pchSection,string pchSettingsKey,float flValue,ref EVRSettingsError peError) - { - IntPtr pchSectionUtf8 = Utils.ToUtf8(pchSection); - IntPtr pchSettingsKeyUtf8 = Utils.ToUtf8(pchSettingsKey); - FnTable.SetFloat(pchSectionUtf8,pchSettingsKeyUtf8,flValue,ref peError); - Marshal.FreeHGlobal(pchSectionUtf8); - Marshal.FreeHGlobal(pchSettingsKeyUtf8); - } - public void SetString(string pchSection,string pchSettingsKey,string pchValue,ref EVRSettingsError peError) - { - IntPtr pchSectionUtf8 = Utils.ToUtf8(pchSection); - IntPtr pchSettingsKeyUtf8 = Utils.ToUtf8(pchSettingsKey); - IntPtr pchValueUtf8 = Utils.ToUtf8(pchValue); - FnTable.SetString(pchSectionUtf8,pchSettingsKeyUtf8,pchValueUtf8,ref peError); - Marshal.FreeHGlobal(pchSectionUtf8); - Marshal.FreeHGlobal(pchSettingsKeyUtf8); - Marshal.FreeHGlobal(pchValueUtf8); - } - public bool GetBool(string pchSection,string pchSettingsKey,ref EVRSettingsError peError) - { - IntPtr pchSectionUtf8 = Utils.ToUtf8(pchSection); - IntPtr pchSettingsKeyUtf8 = Utils.ToUtf8(pchSettingsKey); - bool result = FnTable.GetBool(pchSectionUtf8,pchSettingsKeyUtf8,ref peError); - Marshal.FreeHGlobal(pchSectionUtf8); - Marshal.FreeHGlobal(pchSettingsKeyUtf8); - return result; - } - public int GetInt32(string pchSection,string pchSettingsKey,ref EVRSettingsError peError) - { - IntPtr pchSectionUtf8 = Utils.ToUtf8(pchSection); - IntPtr pchSettingsKeyUtf8 = Utils.ToUtf8(pchSettingsKey); - int result = FnTable.GetInt32(pchSectionUtf8,pchSettingsKeyUtf8,ref peError); - Marshal.FreeHGlobal(pchSectionUtf8); - Marshal.FreeHGlobal(pchSettingsKeyUtf8); - return result; - } - public float GetFloat(string pchSection,string pchSettingsKey,ref EVRSettingsError peError) - { - IntPtr pchSectionUtf8 = Utils.ToUtf8(pchSection); - IntPtr pchSettingsKeyUtf8 = Utils.ToUtf8(pchSettingsKey); - float result = FnTable.GetFloat(pchSectionUtf8,pchSettingsKeyUtf8,ref peError); - Marshal.FreeHGlobal(pchSectionUtf8); - Marshal.FreeHGlobal(pchSettingsKeyUtf8); - return result; - } - public void GetString(string pchSection,string pchSettingsKey,System.Text.StringBuilder pchValue,uint unValueLen,ref EVRSettingsError peError) - { - IntPtr pchSectionUtf8 = Utils.ToUtf8(pchSection); - IntPtr pchSettingsKeyUtf8 = Utils.ToUtf8(pchSettingsKey); - FnTable.GetString(pchSectionUtf8,pchSettingsKeyUtf8,pchValue,unValueLen,ref peError); - Marshal.FreeHGlobal(pchSectionUtf8); - Marshal.FreeHGlobal(pchSettingsKeyUtf8); - } - public void RemoveSection(string pchSection,ref EVRSettingsError peError) - { - IntPtr pchSectionUtf8 = Utils.ToUtf8(pchSection); - FnTable.RemoveSection(pchSectionUtf8,ref peError); - Marshal.FreeHGlobal(pchSectionUtf8); - } - public void RemoveKeyInSection(string pchSection,string pchSettingsKey,ref EVRSettingsError peError) - { - IntPtr pchSectionUtf8 = Utils.ToUtf8(pchSection); - IntPtr pchSettingsKeyUtf8 = Utils.ToUtf8(pchSettingsKey); - FnTable.RemoveKeyInSection(pchSectionUtf8,pchSettingsKeyUtf8,ref peError); - Marshal.FreeHGlobal(pchSectionUtf8); - Marshal.FreeHGlobal(pchSettingsKeyUtf8); - } -} - - -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; - IntPtr pchPreviewFilenameUtf8 = Utils.ToUtf8(pchPreviewFilename); - IntPtr pchVRFilenameUtf8 = Utils.ToUtf8(pchVRFilename); - EVRScreenshotError result = FnTable.RequestScreenshot(ref pOutScreenshotHandle,type,pchPreviewFilenameUtf8,pchVRFilenameUtf8); - Marshal.FreeHGlobal(pchPreviewFilenameUtf8); - Marshal.FreeHGlobal(pchVRFilenameUtf8); - 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; - IntPtr pchPreviewFilenameUtf8 = Utils.ToUtf8(pchPreviewFilename); - IntPtr pchVRFilenameUtf8 = Utils.ToUtf8(pchVRFilename); - EVRScreenshotError result = FnTable.TakeStereoScreenshot(ref pOutScreenshotHandle,pchPreviewFilenameUtf8,pchVRFilenameUtf8); - Marshal.FreeHGlobal(pchPreviewFilenameUtf8); - Marshal.FreeHGlobal(pchVRFilenameUtf8); - return result; - } - public EVRScreenshotError SubmitScreenshot(uint screenshotHandle,EVRScreenshotType type,string pchSourcePreviewFilename,string pchSourceVRFilename) - { - IntPtr pchSourcePreviewFilenameUtf8 = Utils.ToUtf8(pchSourcePreviewFilename); - IntPtr pchSourceVRFilenameUtf8 = Utils.ToUtf8(pchSourceVRFilename); - EVRScreenshotError result = FnTable.SubmitScreenshot(screenshotHandle,type,pchSourcePreviewFilenameUtf8,pchSourceVRFilenameUtf8); - Marshal.FreeHGlobal(pchSourcePreviewFilenameUtf8); - Marshal.FreeHGlobal(pchSourceVRFilenameUtf8); - 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) - { - IntPtr pchResourceNameUtf8 = Utils.ToUtf8(pchResourceName); - uint result = FnTable.LoadSharedResource(pchResourceNameUtf8,pchBuffer,unBufferLen); - Marshal.FreeHGlobal(pchResourceNameUtf8); - return result; - } - public uint GetResourceFullPath(string pchResourceName,string pchResourceTypeDirectory,System.Text.StringBuilder pchPathBuffer,uint unBufferLen) - { - IntPtr pchResourceNameUtf8 = Utils.ToUtf8(pchResourceName); - IntPtr pchResourceTypeDirectoryUtf8 = Utils.ToUtf8(pchResourceTypeDirectory); - uint result = FnTable.GetResourceFullPath(pchResourceNameUtf8,pchResourceTypeDirectoryUtf8,pchPathBuffer,unBufferLen); - Marshal.FreeHGlobal(pchResourceNameUtf8); - Marshal.FreeHGlobal(pchResourceTypeDirectoryUtf8); - 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 ulong GetDriverHandle(string pchDriverName) - { - IntPtr pchDriverNameUtf8 = Utils.ToUtf8(pchDriverName); - ulong result = FnTable.GetDriverHandle(pchDriverNameUtf8); - Marshal.FreeHGlobal(pchDriverNameUtf8); - return result; - } - public bool IsEnabled(uint nDriver) - { - bool result = FnTable.IsEnabled(nDriver); - return result; - } -} - - -public class CVRInput -{ - IVRInput FnTable; - internal CVRInput(IntPtr pInterface) - { - FnTable = (IVRInput)Marshal.PtrToStructure(pInterface, typeof(IVRInput)); - } - public EVRInputError SetActionManifestPath(string pchActionManifestPath) - { - IntPtr pchActionManifestPathUtf8 = Utils.ToUtf8(pchActionManifestPath); - EVRInputError result = FnTable.SetActionManifestPath(pchActionManifestPathUtf8); - Marshal.FreeHGlobal(pchActionManifestPathUtf8); - return result; - } - public EVRInputError GetActionSetHandle(string pchActionSetName,ref ulong pHandle) - { - IntPtr pchActionSetNameUtf8 = Utils.ToUtf8(pchActionSetName); - pHandle = 0; - EVRInputError result = FnTable.GetActionSetHandle(pchActionSetNameUtf8,ref pHandle); - Marshal.FreeHGlobal(pchActionSetNameUtf8); - return result; - } - public EVRInputError GetActionHandle(string pchActionName,ref ulong pHandle) - { - IntPtr pchActionNameUtf8 = Utils.ToUtf8(pchActionName); - pHandle = 0; - EVRInputError result = FnTable.GetActionHandle(pchActionNameUtf8,ref pHandle); - Marshal.FreeHGlobal(pchActionNameUtf8); - return result; - } - public EVRInputError GetInputSourceHandle(string pchInputSourcePath,ref ulong pHandle) - { - IntPtr pchInputSourcePathUtf8 = Utils.ToUtf8(pchInputSourcePath); - pHandle = 0; - EVRInputError result = FnTable.GetInputSourceHandle(pchInputSourcePathUtf8,ref pHandle); - Marshal.FreeHGlobal(pchInputSourcePathUtf8); - return result; - } - public EVRInputError UpdateActionState(VRActiveActionSet_t [] pSets,uint unSizeOfVRSelectedActionSet_t) - { - EVRInputError result = FnTable.UpdateActionState(pSets,unSizeOfVRSelectedActionSet_t,(uint) pSets.Length); - return result; - } - public EVRInputError GetDigitalActionData(ulong action,ref InputDigitalActionData_t pActionData,uint unActionDataSize,ulong ulRestrictToDevice) - { - EVRInputError result = FnTable.GetDigitalActionData(action,ref pActionData,unActionDataSize,ulRestrictToDevice); - return result; - } - public EVRInputError GetAnalogActionData(ulong action,ref InputAnalogActionData_t pActionData,uint unActionDataSize,ulong ulRestrictToDevice) - { - EVRInputError result = FnTable.GetAnalogActionData(action,ref pActionData,unActionDataSize,ulRestrictToDevice); - return result; - } - public EVRInputError GetPoseActionDataRelativeToNow(ulong action,ETrackingUniverseOrigin eOrigin,float fPredictedSecondsFromNow,ref InputPoseActionData_t pActionData,uint unActionDataSize,ulong ulRestrictToDevice) - { - EVRInputError result = FnTable.GetPoseActionDataRelativeToNow(action,eOrigin,fPredictedSecondsFromNow,ref pActionData,unActionDataSize,ulRestrictToDevice); - return result; - } - public EVRInputError GetPoseActionDataForNextFrame(ulong action,ETrackingUniverseOrigin eOrigin,ref InputPoseActionData_t pActionData,uint unActionDataSize,ulong ulRestrictToDevice) - { - EVRInputError result = FnTable.GetPoseActionDataForNextFrame(action,eOrigin,ref pActionData,unActionDataSize,ulRestrictToDevice); - return result; - } - public EVRInputError GetSkeletalActionData(ulong action,ref InputSkeletalActionData_t pActionData,uint unActionDataSize) - { - EVRInputError result = FnTable.GetSkeletalActionData(action,ref pActionData,unActionDataSize); - return result; - } - public EVRInputError GetDominantHand(ref ETrackedControllerRole peDominantHand) - { - EVRInputError result = FnTable.GetDominantHand(ref peDominantHand); - return result; - } - public EVRInputError SetDominantHand(ETrackedControllerRole eDominantHand) - { - EVRInputError result = FnTable.SetDominantHand(eDominantHand); - return result; - } - public EVRInputError GetBoneCount(ulong action,ref uint pBoneCount) - { - pBoneCount = 0; - EVRInputError result = FnTable.GetBoneCount(action,ref pBoneCount); - return result; - } - public EVRInputError GetBoneHierarchy(ulong action,int [] pParentIndices) - { - EVRInputError result = FnTable.GetBoneHierarchy(action,pParentIndices,(uint) pParentIndices.Length); - return result; - } - public EVRInputError GetBoneName(ulong action,int nBoneIndex,System.Text.StringBuilder pchBoneName,uint unNameBufferSize) - { - EVRInputError result = FnTable.GetBoneName(action,nBoneIndex,pchBoneName,unNameBufferSize); - return result; - } - public EVRInputError GetSkeletalReferenceTransforms(ulong action,EVRSkeletalTransformSpace eTransformSpace,EVRSkeletalReferencePose eReferencePose,VRBoneTransform_t [] pTransformArray) - { - EVRInputError result = FnTable.GetSkeletalReferenceTransforms(action,eTransformSpace,eReferencePose,pTransformArray,(uint) pTransformArray.Length); - return result; - } - public EVRInputError GetSkeletalTrackingLevel(ulong action,ref EVRSkeletalTrackingLevel pSkeletalTrackingLevel) - { - EVRInputError result = FnTable.GetSkeletalTrackingLevel(action,ref pSkeletalTrackingLevel); - return result; - } - public EVRInputError GetSkeletalBoneData(ulong action,EVRSkeletalTransformSpace eTransformSpace,EVRSkeletalMotionRange eMotionRange,VRBoneTransform_t [] pTransformArray) - { - EVRInputError result = FnTable.GetSkeletalBoneData(action,eTransformSpace,eMotionRange,pTransformArray,(uint) pTransformArray.Length); - return result; - } - public EVRInputError GetSkeletalSummaryData(ulong action,EVRSummaryType eSummaryType,ref VRSkeletalSummaryData_t pSkeletalSummaryData) - { - EVRInputError result = FnTable.GetSkeletalSummaryData(action,eSummaryType,ref pSkeletalSummaryData); - return result; - } - public EVRInputError GetSkeletalBoneDataCompressed(ulong action,EVRSkeletalMotionRange eMotionRange,IntPtr pvCompressedData,uint unCompressedSize,ref uint punRequiredCompressedSize) - { - punRequiredCompressedSize = 0; - EVRInputError result = FnTable.GetSkeletalBoneDataCompressed(action,eMotionRange,pvCompressedData,unCompressedSize,ref punRequiredCompressedSize); - return result; - } - public EVRInputError DecompressSkeletalBoneData(IntPtr pvCompressedBuffer,uint unCompressedBufferSize,EVRSkeletalTransformSpace eTransformSpace,VRBoneTransform_t [] pTransformArray) - { - EVRInputError result = FnTable.DecompressSkeletalBoneData(pvCompressedBuffer,unCompressedBufferSize,eTransformSpace,pTransformArray,(uint) pTransformArray.Length); - return result; - } - public EVRInputError TriggerHapticVibrationAction(ulong action,float fStartSecondsFromNow,float fDurationSeconds,float fFrequency,float fAmplitude,ulong ulRestrictToDevice) - { - EVRInputError result = FnTable.TriggerHapticVibrationAction(action,fStartSecondsFromNow,fDurationSeconds,fFrequency,fAmplitude,ulRestrictToDevice); - return result; - } - public EVRInputError GetActionOrigins(ulong actionSetHandle,ulong digitalActionHandle,ulong [] originsOut) - { - EVRInputError result = FnTable.GetActionOrigins(actionSetHandle,digitalActionHandle,originsOut,(uint) originsOut.Length); - return result; - } - public EVRInputError GetOriginLocalizedName(ulong origin,System.Text.StringBuilder pchNameArray,uint unNameArraySize,int unStringSectionsToInclude) - { - EVRInputError result = FnTable.GetOriginLocalizedName(origin,pchNameArray,unNameArraySize,unStringSectionsToInclude); - return result; - } - public EVRInputError GetOriginTrackedDeviceInfo(ulong origin,ref InputOriginInfo_t pOriginInfo,uint unOriginInfoSize) - { - EVRInputError result = FnTable.GetOriginTrackedDeviceInfo(origin,ref pOriginInfo,unOriginInfoSize); - return result; - } - public EVRInputError GetActionBindingInfo(ulong action,ref InputBindingInfo_t pOriginInfo,uint unBindingInfoSize,uint unBindingInfoCount,ref uint punReturnedBindingInfoCount) - { - punReturnedBindingInfoCount = 0; - EVRInputError result = FnTable.GetActionBindingInfo(action,ref pOriginInfo,unBindingInfoSize,unBindingInfoCount,ref punReturnedBindingInfoCount); - return result; - } - public EVRInputError ShowActionOrigins(ulong actionSetHandle,ulong ulActionHandle) - { - EVRInputError result = FnTable.ShowActionOrigins(actionSetHandle,ulActionHandle); - return result; - } - public EVRInputError ShowBindingsForActionSet(VRActiveActionSet_t [] pSets,uint unSizeOfVRSelectedActionSet_t,ulong originToHighlight) - { - EVRInputError result = FnTable.ShowBindingsForActionSet(pSets,unSizeOfVRSelectedActionSet_t,(uint) pSets.Length,originToHighlight); - return result; - } - public EVRInputError GetComponentStateForBinding(string pchRenderModelName,string pchComponentName,ref InputBindingInfo_t pOriginInfo,uint unBindingInfoSize,uint unBindingInfoCount,ref RenderModel_ComponentState_t pComponentState) - { - IntPtr pchRenderModelNameUtf8 = Utils.ToUtf8(pchRenderModelName); - IntPtr pchComponentNameUtf8 = Utils.ToUtf8(pchComponentName); - EVRInputError result = FnTable.GetComponentStateForBinding(pchRenderModelNameUtf8,pchComponentNameUtf8,ref pOriginInfo,unBindingInfoSize,unBindingInfoCount,ref pComponentState); - Marshal.FreeHGlobal(pchRenderModelNameUtf8); - Marshal.FreeHGlobal(pchComponentNameUtf8); - return result; - } - public bool IsUsingLegacyInput() - { - bool result = FnTable.IsUsingLegacyInput(); - return result; - } - public EVRInputError OpenBindingUI(string pchAppKey,ulong ulActionSetHandle,ulong ulDeviceHandle,bool bShowOnDesktop) - { - IntPtr pchAppKeyUtf8 = Utils.ToUtf8(pchAppKey); - EVRInputError result = FnTable.OpenBindingUI(pchAppKeyUtf8,ulActionSetHandle,ulDeviceHandle,bShowOnDesktop); - Marshal.FreeHGlobal(pchAppKeyUtf8); - return result; - } - public EVRInputError GetBindingVariant(ulong ulDevicePath,System.Text.StringBuilder pchVariantArray,uint unVariantArraySize) - { - EVRInputError result = FnTable.GetBindingVariant(ulDevicePath,pchVariantArray,unVariantArraySize); - return result; - } -} - - -public class CVRIOBuffer -{ - IVRIOBuffer FnTable; - internal CVRIOBuffer(IntPtr pInterface) - { - FnTable = (IVRIOBuffer)Marshal.PtrToStructure(pInterface, typeof(IVRIOBuffer)); - } - public EIOBufferError Open(string pchPath,EIOBufferMode mode,uint unElementSize,uint unElements,ref ulong pulBuffer) - { - IntPtr pchPathUtf8 = Utils.ToUtf8(pchPath); - pulBuffer = 0; - EIOBufferError result = FnTable.Open(pchPathUtf8,mode,unElementSize,unElements,ref pulBuffer); - Marshal.FreeHGlobal(pchPathUtf8); - return result; - } - public EIOBufferError Close(ulong ulBuffer) - { - EIOBufferError result = FnTable.Close(ulBuffer); - return result; - } - public EIOBufferError Read(ulong ulBuffer,IntPtr pDst,uint unBytes,ref uint punRead) - { - punRead = 0; - EIOBufferError result = FnTable.Read(ulBuffer,pDst,unBytes,ref punRead); - return result; - } - public EIOBufferError Write(ulong ulBuffer,IntPtr pSrc,uint unBytes) - { - EIOBufferError result = FnTable.Write(ulBuffer,pSrc,unBytes); - return result; - } - public ulong PropertyContainer(ulong ulBuffer) - { - ulong result = FnTable.PropertyContainer(ulBuffer); - return result; - } - public bool HasReaders(ulong ulBuffer) - { - bool result = FnTable.HasReaders(ulBuffer); - return result; - } -} - - -public class CVRSpatialAnchors -{ - IVRSpatialAnchors FnTable; - internal CVRSpatialAnchors(IntPtr pInterface) - { - FnTable = (IVRSpatialAnchors)Marshal.PtrToStructure(pInterface, typeof(IVRSpatialAnchors)); - } - public EVRSpatialAnchorError CreateSpatialAnchorFromDescriptor(string pchDescriptor,ref uint pHandleOut) - { - IntPtr pchDescriptorUtf8 = Utils.ToUtf8(pchDescriptor); - pHandleOut = 0; - EVRSpatialAnchorError result = FnTable.CreateSpatialAnchorFromDescriptor(pchDescriptorUtf8,ref pHandleOut); - Marshal.FreeHGlobal(pchDescriptorUtf8); - return result; - } - public EVRSpatialAnchorError CreateSpatialAnchorFromPose(uint unDeviceIndex,ETrackingUniverseOrigin eOrigin,ref SpatialAnchorPose_t pPose,ref uint pHandleOut) - { - pHandleOut = 0; - EVRSpatialAnchorError result = FnTable.CreateSpatialAnchorFromPose(unDeviceIndex,eOrigin,ref pPose,ref pHandleOut); - return result; - } - public EVRSpatialAnchorError GetSpatialAnchorPose(uint unHandle,ETrackingUniverseOrigin eOrigin,ref SpatialAnchorPose_t pPoseOut) - { - EVRSpatialAnchorError result = FnTable.GetSpatialAnchorPose(unHandle,eOrigin,ref pPoseOut); - return result; - } - public EVRSpatialAnchorError GetSpatialAnchorDescriptor(uint unHandle,System.Text.StringBuilder pchDescriptorOut,ref uint punDescriptorBufferLenInOut) - { - punDescriptorBufferLenInOut = 0; - EVRSpatialAnchorError result = FnTable.GetSpatialAnchorDescriptor(unHandle,pchDescriptorOut,ref punDescriptorBufferLenInOut); - return result; - } -} - - -public class CVRDebug -{ - IVRDebug FnTable; - internal CVRDebug(IntPtr pInterface) - { - FnTable = (IVRDebug)Marshal.PtrToStructure(pInterface, typeof(IVRDebug)); - } - public EVRDebugError EmitVrProfilerEvent(string pchMessage) - { - IntPtr pchMessageUtf8 = Utils.ToUtf8(pchMessage); - EVRDebugError result = FnTable.EmitVrProfilerEvent(pchMessageUtf8); - Marshal.FreeHGlobal(pchMessageUtf8); - return result; - } - public EVRDebugError BeginVrProfilerEvent(ref ulong pHandleOut) - { - pHandleOut = 0; - EVRDebugError result = FnTable.BeginVrProfilerEvent(ref pHandleOut); - return result; - } - public EVRDebugError FinishVrProfilerEvent(ulong hHandle,string pchMessage) - { - IntPtr pchMessageUtf8 = Utils.ToUtf8(pchMessage); - EVRDebugError result = FnTable.FinishVrProfilerEvent(hHandle,pchMessageUtf8); - Marshal.FreeHGlobal(pchMessageUtf8); - return result; - } - public uint DriverDebugRequest(uint unDeviceIndex,string pchRequest,System.Text.StringBuilder pchResponseBuffer,uint unResponseBufferSize) - { - IntPtr pchRequestUtf8 = Utils.ToUtf8(pchRequest); - uint result = FnTable.DriverDebugRequest(unDeviceIndex,pchRequestUtf8,pchResponseBuffer,unResponseBufferSize); - Marshal.FreeHGlobal(pchRequestUtf8); - return result; - } -} - - -public class CVRProperties -{ - IVRProperties FnTable; - internal CVRProperties(IntPtr pInterface) - { - FnTable = (IVRProperties)Marshal.PtrToStructure(pInterface, typeof(IVRProperties)); - } - public ETrackedPropertyError ReadPropertyBatch(ulong ulContainerHandle,ref PropertyRead_t pBatch,uint unBatchEntryCount) - { - ETrackedPropertyError result = FnTable.ReadPropertyBatch(ulContainerHandle,ref pBatch,unBatchEntryCount); - return result; - } - public ETrackedPropertyError WritePropertyBatch(ulong ulContainerHandle,ref PropertyWrite_t pBatch,uint unBatchEntryCount) - { - ETrackedPropertyError result = FnTable.WritePropertyBatch(ulContainerHandle,ref pBatch,unBatchEntryCount); - return result; - } - public string GetPropErrorNameFromEnum(ETrackedPropertyError error) - { - IntPtr result = FnTable.GetPropErrorNameFromEnum(error); - return Marshal.PtrToStringAnsi(result); - } - public ulong TrackedDeviceToPropertyContainer(uint nDevice) - { - ulong result = FnTable.TrackedDeviceToPropertyContainer(nDevice); - return result; - } -} - - -public class CVRPaths -{ - IVRPaths FnTable; - internal CVRPaths(IntPtr pInterface) - { - FnTable = (IVRPaths)Marshal.PtrToStructure(pInterface, typeof(IVRPaths)); - } - public ETrackedPropertyError ReadPathBatch(ulong ulRootHandle,ref PathRead_t pBatch,uint unBatchEntryCount) - { - ETrackedPropertyError result = FnTable.ReadPathBatch(ulRootHandle,ref pBatch,unBatchEntryCount); - return result; - } - public ETrackedPropertyError WritePathBatch(ulong ulRootHandle,ref PathWrite_t pBatch,uint unBatchEntryCount) - { - ETrackedPropertyError result = FnTable.WritePathBatch(ulRootHandle,ref pBatch,unBatchEntryCount); - return result; - } - public ETrackedPropertyError StringToHandle(ref ulong pHandle,string pchPath) - { - pHandle = 0; - IntPtr pchPathUtf8 = Utils.ToUtf8(pchPath); - ETrackedPropertyError result = FnTable.StringToHandle(ref pHandle,pchPathUtf8); - Marshal.FreeHGlobal(pchPathUtf8); - return result; - } - public ETrackedPropertyError HandleToString(ulong pHandle,string pchBuffer,uint unBufferSize,ref uint punBufferSizeUsed) - { - punBufferSizeUsed = 0; - ETrackedPropertyError result = FnTable.HandleToString(pHandle,pchBuffer,unBufferSize,ref punBufferSizeUsed); - return result; - } -} - - -public class CVRBlockQueue -{ - IVRBlockQueue FnTable; - internal CVRBlockQueue(IntPtr pInterface) - { - FnTable = (IVRBlockQueue)Marshal.PtrToStructure(pInterface, typeof(IVRBlockQueue)); - } - public EBlockQueueError Create(ref ulong pulQueueHandle,string pchPath,uint unBlockDataSize,uint unBlockHeaderSize,uint unBlockCount) - { - pulQueueHandle = 0; - IntPtr pchPathUtf8 = Utils.ToUtf8(pchPath); - EBlockQueueError result = FnTable.Create(ref pulQueueHandle,pchPathUtf8,unBlockDataSize,unBlockHeaderSize,unBlockCount); - Marshal.FreeHGlobal(pchPathUtf8); - return result; - } - public EBlockQueueError Connect(ref ulong pulQueueHandle,string pchPath) - { - pulQueueHandle = 0; - IntPtr pchPathUtf8 = Utils.ToUtf8(pchPath); - EBlockQueueError result = FnTable.Connect(ref pulQueueHandle,pchPathUtf8); - Marshal.FreeHGlobal(pchPathUtf8); - return result; - } - public EBlockQueueError Destroy(ulong ulQueueHandle) - { - EBlockQueueError result = FnTable.Destroy(ulQueueHandle); - return result; - } - public EBlockQueueError AcquireWriteOnlyBlock(ulong ulQueueHandle,ref ulong pulBlockHandle,ref IntPtr ppvBuffer) - { - pulBlockHandle = 0; - EBlockQueueError result = FnTable.AcquireWriteOnlyBlock(ulQueueHandle,ref pulBlockHandle,ref ppvBuffer); - return result; - } - public EBlockQueueError ReleaseWriteOnlyBlock(ulong ulQueueHandle,ulong ulBlockHandle) - { - EBlockQueueError result = FnTable.ReleaseWriteOnlyBlock(ulQueueHandle,ulBlockHandle); - return result; - } - public EBlockQueueError WaitAndAcquireReadOnlyBlock(ulong ulQueueHandle,ref ulong pulBlockHandle,ref IntPtr ppvBuffer,EBlockQueueReadType eReadType,uint unTimeoutMs) - { - pulBlockHandle = 0; - EBlockQueueError result = FnTable.WaitAndAcquireReadOnlyBlock(ulQueueHandle,ref pulBlockHandle,ref ppvBuffer,eReadType,unTimeoutMs); - return result; - } - public EBlockQueueError AcquireReadOnlyBlock(ulong ulQueueHandle,ref ulong pulBlockHandle,ref IntPtr ppvBuffer,EBlockQueueReadType eReadType) - { - pulBlockHandle = 0; - EBlockQueueError result = FnTable.AcquireReadOnlyBlock(ulQueueHandle,ref pulBlockHandle,ref ppvBuffer,eReadType); - return result; - } - public EBlockQueueError ReleaseReadOnlyBlock(ulong ulQueueHandle,ulong ulBlockHandle) - { - EBlockQueueError result = FnTable.ReleaseReadOnlyBlock(ulQueueHandle,ulBlockHandle); - return result; - } - public EBlockQueueError QueueHasReader(ulong ulQueueHandle,ref bool pbHasReaders) - { - pbHasReaders = false; - EBlockQueueError result = FnTable.QueueHasReader(ulQueueHandle,ref pbHasReaders); - 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_InitInternal2", CallingConvention = CallingConvention.Cdecl)] - internal static extern uint InitInternal2(ref EVRInitError peError, EVRApplicationType eApplicationType,[In, MarshalAs(UnmanagedType.LPStr)] string pStartupInfo); - [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_RuntimePath", CallingConvention = CallingConvention.Cdecl)] - internal static extern string RuntimePath(); - [DllImportAttribute("openvr_api", EntryPoint = "VR_GetRuntimePath", CallingConvention = CallingConvention.Cdecl)] - internal static extern bool GetRuntimePath(System.Text.StringBuilder pchPathBuffer, uint unBufferSize, ref uint punRequiredBufferSize); - [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 -{ - Invalid = -1, - DirectX = 0, - OpenGL = 1, - Vulkan = 2, - IOSurface = 3, - DirectX12 = 4, - DXGISharedHandle = 5, - Metal = 6, -} -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, - Fallback_RotationOnly = 300, -} -public enum ETrackedDeviceClass -{ - Invalid = 0, - HMD = 1, - Controller = 2, - GenericTracker = 3, - TrackingReference = 4, - DisplayRedirect = 5, - Max = 6, -} -public enum ETrackedControllerRole -{ - Invalid = 0, - LeftHand = 1, - RightHand = 2, - OptOut = 3, - Treadmill = 4, - Stylus = 5, - Max = 5, -} -public enum ETrackingUniverseOrigin -{ - TrackingUniverseSeated = 0, - TrackingUniverseStanding = 1, - TrackingUniverseRawAndUncalibrated = 2, -} -public enum EAdditionalRadioFeatures -{ - None = 0, - HTCLinkBox = 1, - InternalDongle = 2, - ExternalDongle = 4, -} -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_RegisteredDeviceType_String = 1036, - Prop_InputProfilePath_String = 1037, - Prop_NeverTracked_Bool = 1038, - Prop_NumCameras_Int32 = 1039, - Prop_CameraFrameLayout_Int32 = 1040, - Prop_CameraStreamFormat_Int32 = 1041, - Prop_AdditionalDeviceSettingsPath_String = 1042, - Prop_Identifiable_Bool = 1043, - Prop_BootloaderVersion_Uint64 = 1044, - Prop_AdditionalSystemReportData_String = 1045, - Prop_CompositeFirmwareVersion_String = 1046, - Prop_Firmware_RemindUpdate_Bool = 1047, - Prop_PeripheralApplicationVersion_Uint64 = 1048, - Prop_ManufacturerSerialNumber_String = 1049, - Prop_ComputedSerialNumber_String = 1050, - Prop_EstimatedDeviceFirstUseTime_Int32 = 1051, - 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_ExpectedTrackingReferenceCount_Int32 = 2049, - Prop_ExpectedControllerCount_Int32 = 2050, - Prop_NamedIconPathControllerLeftDeviceOff_String = 2051, - Prop_NamedIconPathControllerRightDeviceOff_String = 2052, - Prop_NamedIconPathTrackingReferenceDeviceOff_String = 2053, - Prop_DoNotApplyPrediction_Bool = 2054, - Prop_CameraToHeadTransforms_Matrix34_Array = 2055, - Prop_DistortionMeshResolution_Int32 = 2056, - Prop_DriverIsDrawingControllers_Bool = 2057, - Prop_DriverRequestsApplicationPause_Bool = 2058, - Prop_DriverRequestsReducedRendering_Bool = 2059, - Prop_MinimumIpdStepMeters_Float = 2060, - Prop_AudioBridgeFirmwareVersion_Uint64 = 2061, - Prop_ImageBridgeFirmwareVersion_Uint64 = 2062, - Prop_ImuToHeadTransform_Matrix34 = 2063, - Prop_ImuFactoryGyroBias_Vector3 = 2064, - Prop_ImuFactoryGyroScale_Vector3 = 2065, - Prop_ImuFactoryAccelerometerBias_Vector3 = 2066, - Prop_ImuFactoryAccelerometerScale_Vector3 = 2067, - Prop_ConfigurationIncludesLighthouse20Features_Bool = 2069, - Prop_AdditionalRadioFeatures_Uint64 = 2070, - Prop_CameraWhiteBalance_Vector4_Array = 2071, - Prop_CameraDistortionFunction_Int32_Array = 2072, - Prop_CameraDistortionCoefficients_Float_Array = 2073, - Prop_ExpectedControllerType_String = 2074, - Prop_HmdTrackingStyle_Int32 = 2075, - Prop_DriverProvidedChaperoneVisibility_Bool = 2076, - Prop_HmdColumnCorrectionSettingPrefix_String = 2077, - Prop_CameraSupportsCompatibilityModes_Bool = 2078, - Prop_SupportsRoomViewDepthProjection_Bool = 2079, - Prop_DisplayAvailableFrameRates_Float_Array = 2080, - Prop_DisplaySupportsMultipleFramerates_Bool = 2081, - Prop_DisplayColorMultLeft_Vector3 = 2082, - Prop_DisplayColorMultRight_Vector3 = 2083, - Prop_DisplaySupportsRuntimeFramerateChange_Bool = 2084, - Prop_DisplaySupportsAnalogGain_Bool = 2085, - Prop_DisplayMinAnalogGain_Float = 2086, - Prop_DisplayMaxAnalogGain_Float = 2087, - Prop_DashboardScale_Float = 2091, - Prop_IpdUIRangeMinMeters_Float = 2100, - Prop_IpdUIRangeMaxMeters_Float = 2101, - Prop_DriverRequestedMuraCorrectionMode_Int32 = 2200, - Prop_DriverRequestedMuraFeather_InnerLeft_Int32 = 2201, - Prop_DriverRequestedMuraFeather_InnerRight_Int32 = 2202, - Prop_DriverRequestedMuraFeather_InnerTop_Int32 = 2203, - Prop_DriverRequestedMuraFeather_InnerBottom_Int32 = 2204, - Prop_DriverRequestedMuraFeather_OuterLeft_Int32 = 2205, - Prop_DriverRequestedMuraFeather_OuterRight_Int32 = 2206, - Prop_DriverRequestedMuraFeather_OuterTop_Int32 = 2207, - Prop_DriverRequestedMuraFeather_OuterBottom_Int32 = 2208, - Prop_Audio_DefaultPlaybackDeviceId_String = 2300, - Prop_Audio_DefaultRecordingDeviceId_String = 2301, - Prop_Audio_DefaultPlaybackDeviceVolume_Float = 2302, - Prop_Audio_SupportsDualSpeakerAndJackOutput_Bool = 2303, - 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_CanWirelessIdentify_Bool = 4007, - Prop_Nonce_Int32 = 4008, - 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_NamedIconPathDeviceStandbyAlert_String = 5009, - Prop_DisplayHiddenArea_Binary_Start = 5100, - Prop_DisplayHiddenArea_Binary_End = 5150, - Prop_ParentContainer = 5151, - Prop_OverrideContainer_Uint64 = 5152, - 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_HasSpatialAnchorsSupport_Bool = 6007, - Prop_ControllerType_String = 7000, - Prop_ControllerHandSelectionPriority_Int32 = 7002, - Prop_VendorSpecific_Reserved_Start = 10000, - Prop_VendorSpecific_Reserved_End = 10999, - Prop_TrackedDeviceProperty_Max = 1000000, -} -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, - TrackedProp_CannotWriteToWildcards = 12, - TrackedProp_IPCReadFailure = 13, - TrackedProp_OutOfMemory = 14, - TrackedProp_InvalidContainer = 15, -} -public enum EHmdTrackingStyle -{ - Unknown = 0, - Lighthouse = 1, - OutsideInCameras = 2, - InsideOutCameras = 3, -} -public enum EVRSubmitFlags -{ - Submit_Default = 0, - Submit_LensDistortionAlreadyApplied = 1, - Submit_GlRenderBuffer = 2, - Submit_Reserved = 4, - Submit_TextureWithPose = 8, - Submit_TextureWithDepth = 16, - Submit_FrameDiscontinuty = 32, - Submit_VulkanTextureWithArrayData = 64, -} -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_Modal_Cancel = 257, - VREvent_MouseMove = 300, - VREvent_MouseButtonDown = 301, - VREvent_MouseButtonUp = 302, - VREvent_FocusEnter = 303, - VREvent_FocusLeave = 304, - VREvent_ScrollDiscrete = 305, - VREvent_TouchPadMove = 306, - VREvent_OverlayFocusChanged = 307, - VREvent_ReloadOverlays = 308, - VREvent_ScrollSmooth = 309, - VREvent_LockMousePosition = 310, - VREvent_UnlockMousePosition = 311, - VREvent_InputFocusCaptured = 400, - VREvent_InputFocusReleased = 401, - VREvent_SceneApplicationChanged = 404, - VREvent_SceneFocusChanged = 405, - VREvent_InputFocusChanged = 406, - VREvent_SceneApplicationUsingWrongGraphicsAdapter = 408, - VREvent_ActionBindingReloaded = 409, - VREvent_HideRenderModels = 410, - VREvent_ShowRenderModels = 411, - VREvent_SceneApplicationStateChanged = 412, - VREvent_ConsoleOpened = 420, - VREvent_ConsoleClosed = 421, - VREvent_OverlayShown = 500, - VREvent_OverlayHidden = 501, - VREvent_DashboardActivated = 502, - VREvent_DashboardDeactivated = 503, - VREvent_DashboardRequested = 505, - VREvent_ResetDashboard = 506, - VREvent_ImageLoaded = 508, - VREvent_ShowKeyboard = 509, - VREvent_HideKeyboard = 510, - VREvent_OverlayGamepadFocusGained = 511, - VREvent_OverlayGamepadFocusLost = 512, - VREvent_OverlaySharedTextureChanged = 513, - VREvent_ScreenshotTriggered = 516, - VREvent_ImageFailed = 517, - VREvent_DashboardOverlayCreated = 518, - VREvent_SwitchGamepadFocus = 519, - VREvent_RequestScreenshot = 520, - VREvent_ScreenshotTaken = 521, - VREvent_ScreenshotFailed = 522, - VREvent_SubmitScreenshotToDashboard = 523, - VREvent_ScreenshotProgressToDashboard = 524, - VREvent_PrimaryDashboardDeviceChanged = 525, - VREvent_RoomViewShown = 526, - VREvent_RoomViewHidden = 527, - VREvent_ShowUI = 528, - VREvent_ShowDevTools = 529, - VREvent_DesktopViewUpdating = 530, - VREvent_DesktopViewReady = 531, - VREvent_Notification_Shown = 600, - VREvent_Notification_Hidden = 601, - VREvent_Notification_BeginInteraction = 602, - VREvent_Notification_Destroyed = 603, - VREvent_Quit = 700, - VREvent_ProcessQuit = 701, - VREvent_QuitAcknowledged = 703, - VREvent_DriverRequestedQuit = 704, - VREvent_RestartRequested = 705, - VREvent_ChaperoneDataHasChanged = 800, - VREvent_ChaperoneUniverseHasChanged = 801, - VREvent_ChaperoneTempDataHasChanged = 802, - VREvent_ChaperoneSettingsHaveChanged = 803, - VREvent_SeatedZeroPoseReset = 804, - VREvent_ChaperoneFlushCache = 805, - VREvent_ChaperoneRoomSetupStarting = 806, - VREvent_ChaperoneRoomSetupFinished = 807, - VREvent_StandingZeroPoseReset = 808, - 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_SteamVRSectionSettingChanged = 857, - VREvent_LighthouseSectionSettingChanged = 858, - VREvent_NullSectionSettingChanged = 859, - VREvent_UserInterfaceSectionSettingChanged = 860, - VREvent_NotificationsSectionSettingChanged = 861, - VREvent_KeyboardSectionSettingChanged = 862, - VREvent_PerfSectionSettingChanged = 863, - VREvent_DashboardSectionSettingChanged = 864, - VREvent_WebInterfaceSectionSettingChanged = 865, - VREvent_TrackersSectionSettingChanged = 866, - VREvent_LastKnownSectionSettingChanged = 867, - VREvent_DismissedWarningsSectionSettingChanged = 868, - VREvent_GpuSpeedSectionSettingChanged = 869, - VREvent_WindowsMRSectionSettingChanged = 870, - VREvent_OtherSectionSettingChanged = 871, - VREvent_StatusUpdate = 900, - VREvent_WebInterface_InstallDriverCompleted = 950, - VREvent_MCImageUpdated = 1000, - VREvent_FirmwareUpdateStarted = 1100, - VREvent_FirmwareUpdateFinished = 1101, - VREvent_KeyboardClosed = 1200, - VREvent_KeyboardCharInput = 1201, - VREvent_KeyboardDone = 1202, - VREvent_ApplicationListUpdated = 1303, - VREvent_ApplicationMimeTypeLoad = 1304, - VREvent_ProcessConnected = 1306, - VREvent_ProcessDisconnected = 1307, - VREvent_Compositor_ChaperoneBoundsShown = 1410, - VREvent_Compositor_ChaperoneBoundsHidden = 1411, - VREvent_Compositor_DisplayDisconnected = 1412, - VREvent_Compositor_DisplayReconnected = 1413, - VREvent_Compositor_HDCPError = 1414, - VREvent_Compositor_ApplicationNotResponding = 1415, - VREvent_Compositor_ApplicationResumed = 1416, - VREvent_Compositor_OutOfVideoMemory = 1417, - VREvent_Compositor_DisplayModeNotSupported = 1418, - VREvent_Compositor_StageOverrideReady = 1419, - 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_Input_HapticVibration = 1700, - VREvent_Input_BindingLoadFailed = 1701, - VREvent_Input_BindingLoadSuccessful = 1702, - VREvent_Input_ActionManifestReloaded = 1703, - VREvent_Input_ActionManifestLoadFailed = 1704, - VREvent_Input_ProgressUpdate = 1705, - VREvent_Input_TrackerActivated = 1706, - VREvent_Input_BindingsUpdated = 1707, - VREvent_Input_BindingSubscriptionChanged = 1708, - VREvent_SpatialAnchors_PoseUpdated = 1800, - VREvent_SpatialAnchors_DescriptorUpdated = 1801, - VREvent_SpatialAnchors_RequestPoseUpdate = 1802, - VREvent_SpatialAnchors_RequestDescriptorUpdate = 1803, - VREvent_SystemReport_Started = 1900, - VREvent_Monitor_ShowHeadsetView = 2000, - VREvent_Monitor_HideHeadsetView = 2001, - 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, - k_EDeviceActivityLevel_Idle_Timeout = 4, -} -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_IndexController_A = 2, - k_EButton_IndexController_B = 1, - k_EButton_IndexController_JoyStick = 35, - k_EButton_Max = 64, -} -public enum EVRMouseButton -{ - Left = 1, - Right = 2, - Middle = 4, -} -public enum EShowUIType -{ - ShowUI_ControllerBinding = 0, - ShowUI_ManageTrackers = 1, - ShowUI_Pairing = 3, - ShowUI_Settings = 4, - ShowUI_DebugCommands = 5, - ShowUI_FullControllerBinding = 6, - ShowUI_ManageDrivers = 7, -} -public enum EHDCPError -{ - None = 0, - LinkLost = 1, - Tampered = 2, - DeviceRevoked = 3, - Unknown = 4, -} -public enum EVRComponentProperty -{ - IsStatic = 1, - IsVisible = 2, - IsTouched = 4, - IsPressed = 8, - IsScrolled = 16, - IsHighlighted = 32, -} -public enum EVRInputError -{ - None = 0, - NameNotFound = 1, - WrongType = 2, - InvalidHandle = 3, - InvalidParam = 4, - NoSteam = 5, - MaxCapacityReached = 6, - IPCError = 7, - NoActiveActionSet = 8, - InvalidDevice = 9, - InvalidSkeleton = 10, - InvalidBoneCount = 11, - InvalidCompressedData = 12, - NoData = 13, - BufferTooSmall = 14, - MismatchedActionManifest = 15, - MissingSkeletonData = 16, - InvalidBoneIndex = 17, - InvalidPriority = 18, - PermissionDenied = 19, - InvalidRenderModel = 20, -} -public enum EVRSpatialAnchorError -{ - Success = 0, - Internal = 1, - UnknownHandle = 2, - ArrayTooSmall = 3, - InvalidDescriptorChar = 4, - NotYetAvailable = 5, - NotAvailableInThisUniverse = 6, - PermanentlyUnavailable = 7, - WrongDriver = 8, - DescriptorTooLong = 9, - Unknown = 10, - NoRoomCalibration = 11, - InvalidArgument = 12, - UnknownDriver = 13, -} -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, - TextureAlreadyLocked = 31, - TextureLockCapacityReached = 32, - TextureNotLocked = 33, -} -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_WebHelper = 8, - VRApplication_OpenXR = 9, - VRApplication_Max = 10, -} -public enum EVRFirmwareError -{ - None = 0, - Success = 1, - Fail = 2, -} -public enum EVRNotificationError -{ - OK = 0, - InvalidNotificationId = 100, - NotificationQueueFull = 101, - InvalidOverlayHandle = 102, - SystemWithUserValueAlreadyExists = 103, -} -public enum EVRSkeletalMotionRange -{ - WithController = 0, - WithoutController = 1, -} -public enum EVRSkeletalTrackingLevel -{ - VRSkeletalTracking_Estimated = 0, - VRSkeletalTracking_Partial = 1, - VRSkeletalTracking_Full = 2, - Count = 3, - Max = 2, -} -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, - Init_USBServiceBusy = 140, - Init_VRWebHelperStartupFailed = 141, - Init_TrackerManagerInitFailed = 142, - Init_AlreadyRunning = 143, - Init_FailedForVrMonitor = 144, - Init_PropertyManagerInitFailed = 145, - Init_WebServerFailed = 146, - 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, - Driver_HmdDisplayNotFoundLaptop = 213, - 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, - IPC_ConnectFailedAfterTargetExited = 309, - IPC_NamespaceUnavailable = 310, - Compositor_Failed = 400, - Compositor_D3D11HardwareRequired = 401, - Compositor_FirmwareRequiresUpdate = 402, - Compositor_OverlayInitFailed = 403, - Compositor_ScreenshotsInitFailed = 404, - Compositor_UnableToCreateDevice = 405, - Compositor_SharedStateIsNull = 406, - Compositor_NotificationManagerIsNull = 407, - Compositor_ResourceManagerClientIsNull = 408, - Compositor_MessageOverlaySharedStateInitFailure = 409, - Compositor_PropertiesInterfaceIsNull = 410, - Compositor_CreateFullscreenWindowFailed = 411, - Compositor_SettingsInterfaceIsNull = 412, - Compositor_FailedToShowWindow = 413, - Compositor_DistortInterfaceIsNull = 414, - Compositor_DisplayFrequencyFailure = 415, - Compositor_RendererInitializationFailed = 416, - Compositor_DXGIFactoryInterfaceIsNull = 417, - Compositor_DXGIFactoryCreateFailed = 418, - Compositor_DXGIFactoryQueryFailed = 419, - Compositor_InvalidAdapterDesktop = 420, - Compositor_InvalidHmdAttachment = 421, - Compositor_InvalidOutputDesktop = 422, - Compositor_InvalidDeviceProvided = 423, - Compositor_D3D11RendererInitializationFailed = 424, - Compositor_FailedToFindDisplayMode = 425, - Compositor_FailedToCreateSwapChain = 426, - Compositor_FailedToGetBackBuffer = 427, - Compositor_FailedToCreateRenderTarget = 428, - Compositor_FailedToCreateDXGI2SwapChain = 429, - Compositor_FailedtoGetDXGI2BackBuffer = 430, - Compositor_FailedToCreateDXGI2RenderTarget = 431, - Compositor_FailedToGetDXGIDeviceInterface = 432, - Compositor_SelectDisplayMode = 433, - Compositor_FailedToCreateNvAPIRenderTargets = 434, - Compositor_NvAPISetDisplayMode = 435, - Compositor_FailedToCreateDirectModeDisplay = 436, - Compositor_InvalidHmdPropertyContainer = 437, - Compositor_UpdateDisplayFrequency = 438, - Compositor_CreateRasterizerState = 439, - Compositor_CreateWireframeRasterizerState = 440, - Compositor_CreateSamplerState = 441, - Compositor_CreateClampToBorderSamplerState = 442, - Compositor_CreateAnisoSamplerState = 443, - Compositor_CreateOverlaySamplerState = 444, - Compositor_CreatePanoramaSamplerState = 445, - Compositor_CreateFontSamplerState = 446, - Compositor_CreateNoBlendState = 447, - Compositor_CreateBlendState = 448, - Compositor_CreateAlphaBlendState = 449, - Compositor_CreateBlendStateMaskR = 450, - Compositor_CreateBlendStateMaskG = 451, - Compositor_CreateBlendStateMaskB = 452, - Compositor_CreateDepthStencilState = 453, - Compositor_CreateDepthStencilStateNoWrite = 454, - Compositor_CreateDepthStencilStateNoDepth = 455, - Compositor_CreateFlushTexture = 456, - Compositor_CreateDistortionSurfaces = 457, - Compositor_CreateConstantBuffer = 458, - Compositor_CreateHmdPoseConstantBuffer = 459, - Compositor_CreateHmdPoseStagingConstantBuffer = 460, - Compositor_CreateSharedFrameInfoConstantBuffer = 461, - Compositor_CreateOverlayConstantBuffer = 462, - Compositor_CreateSceneTextureIndexConstantBuffer = 463, - Compositor_CreateReadableSceneTextureIndexConstantBuffer = 464, - Compositor_CreateLayerGraphicsTextureIndexConstantBuffer = 465, - Compositor_CreateLayerComputeTextureIndexConstantBuffer = 466, - Compositor_CreateLayerComputeSceneTextureIndexConstantBuffer = 467, - Compositor_CreateComputeHmdPoseConstantBuffer = 468, - Compositor_CreateGeomConstantBuffer = 469, - Compositor_CreatePanelMaskConstantBuffer = 470, - Compositor_CreatePixelSimUBO = 471, - Compositor_CreateMSAARenderTextures = 472, - Compositor_CreateResolveRenderTextures = 473, - Compositor_CreateComputeResolveRenderTextures = 474, - Compositor_CreateDriverDirectModeResolveTextures = 475, - Compositor_OpenDriverDirectModeResolveTextures = 476, - Compositor_CreateFallbackSyncTexture = 477, - Compositor_ShareFallbackSyncTexture = 478, - Compositor_CreateOverlayIndexBuffer = 479, - Compositor_CreateOverlayVertexBuffer = 480, - Compositor_CreateTextVertexBuffer = 481, - Compositor_CreateTextIndexBuffer = 482, - Compositor_CreateMirrorTextures = 483, - Compositor_CreateLastFrameRenderTexture = 484, - Compositor_CreateMirrorOverlay = 485, - Compositor_FailedToCreateVirtualDisplayBackbuffer = 486, - Compositor_DisplayModeNotSupported = 487, - Compositor_CreateOverlayInvalidCall = 488, - Compositor_CreateOverlayAlreadyInitialized = 489, - Compositor_FailedToCreateMailbox = 490, - VendorSpecific_UnableToConnectToOculusRuntime = 1000, - VendorSpecific_WindowsNotInDevMode = 1001, - 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, - VendorSpecific_OculusRuntimeBadInstall = 1114, - Steam_SteamInstallationNotFound = 2000, - LastError = 2001, -} -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 EVRTrackedCameraFrameLayout -{ - Mono = 1, - Stereo = 2, - VerticalLayout = 16, - HorizontalLayout = 32, -} -public enum EVRTrackedCameraFrameType -{ - Distorted = 0, - Undistorted = 1, - MaximumUndistorted = 2, - MAX_CAMERA_FRAME_TYPES = 3, -} -public enum EVRDistortionFunctionType -{ - None = 0, - FTheta = 1, - Extended_FTheta = 2, - MAX_DISTORTION_FUNCTION_TYPES = 3, -} -public enum EVSync -{ - None = 0, - WaitRender = 1, - NoWaitRender = 2, -} -public enum EVRMuraCorrectionMode -{ - Default = 0, - NoCorrection = 1, -} -public enum Imu_OffScaleFlags -{ - OffScale_AccelX = 1, - OffScale_AccelY = 2, - OffScale_AccelZ = 4, - OffScale_GyroX = 8, - OffScale_GyroY = 16, - OffScale_GyroZ = 32, -} -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, - ActionManifestURL_String = 54, - IsDashboardOverlay_Bool = 60, - IsTemplate_Bool = 61, - IsInstanced_Bool = 62, - IsInternal_Bool = 63, - WantsCompositorPauseInStandby_Bool = 64, - IsHidden_Bool = 65, - LastLaunchTime_Uint64 = 70, -} -public enum EVRSceneApplicationState -{ - None = 0, - Starting = 1, - Quitting = 2, - Running = 3, - Waiting = 4, -} -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, - AlreadySet = 110, -} -public enum EVRCompositorTimingMode -{ - Implicit = 0, - Explicit_RuntimePerformsPostPresentHandoff = 1, - Explicit_ApplicationPerformsPostPresentHandoff = 2, -} -public enum VROverlayInputMethod -{ - None = 0, - Mouse = 1, -} -public enum VROverlayTransformType -{ - VROverlayTransform_Invalid = -1, - VROverlayTransform_Absolute = 0, - VROverlayTransform_TrackedDeviceRelative = 1, - VROverlayTransform_SystemOverlay = 2, - VROverlayTransform_TrackedComponent = 3, - VROverlayTransform_Cursor = 4, - VROverlayTransform_DashboardTab = 5, - VROverlayTransform_DashboardThumb = 6, - VROverlayTransform_Mountable = 7, -} -public enum VROverlayFlags -{ - NoDashboardTab = 8, - SendVRDiscreteScrollEvents = 64, - SendVRTouchpadEvents = 128, - ShowTouchPadScrollWheel = 256, - TransferOwnershipToInternalProcess = 512, - SideBySide_Parallel = 1024, - SideBySide_Crossed = 2048, - Panorama = 4096, - StereoPanorama = 8192, - SortWithNonSceneOverlays = 16384, - VisibleInDashboard = 32768, - MakeOverlaysInteractiveIfVisible = 65536, - SendVRSmoothScrollEvents = 131072, - ProtectedContent = 262144, - HideLaserIntersection = 524288, - WantsModalBehavior = 1048576, - IsPremultiplied = 2097152, -} -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 EVROverlayIntersectionMaskPrimitiveType -{ - OverlayIntersectionPrimitiveType_Rectangle = 0, - OverlayIntersectionPrimitiveType_Circle = 1, -} -public enum EKeyboardFlags -{ - KeyboardFlag_Minimal = 1, - KeyboardFlag_Modal = 2, -} -public enum EDeviceType -{ - Invalid = -1, - DirectX11 = 0, - Vulkan = 1, -} -public enum HeadsetViewMode_t -{ - HeadsetViewMode_Left = 0, - HeadsetViewMode_Right = 1, - HeadsetViewMode_Both = 2, -} -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 EVRRenderModelTextureFormat -{ - RGBA8_SRGB = 0, - BC2 = 1, - BC4 = 2, - BC7 = 3, - BC7_SRGB = 4, -} -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, -} -public enum EVRSkeletalTransformSpace -{ - Model = 0, - Parent = 1, -} -public enum EVRSkeletalReferencePose -{ - BindPose = 0, - OpenHand = 1, - Fist = 2, - GripLimit = 3, -} -public enum EVRFinger -{ - Thumb = 0, - Index = 1, - Middle = 2, - Ring = 3, - Pinky = 4, - Count = 5, -} -public enum EVRFingerSplay -{ - Thumb_Index = 0, - Index_Middle = 1, - Middle_Ring = 2, - Ring_Pinky = 3, - Count = 4, -} -public enum EVRSummaryType -{ - FromAnimation = 0, - FromDevice = 1, -} -public enum EVRInputFilterCancelType -{ - VRInputFilterCancel_Timers = 0, - VRInputFilterCancel_Momentum = 1, -} -public enum EVRInputStringBits -{ - VRInputString_Hand = 1, - VRInputString_ControllerType = 2, - VRInputString_InputSource = 4, - VRInputString_All = -1, -} -public enum EIOBufferError -{ - IOBuffer_Success = 0, - IOBuffer_OperationFailed = 100, - IOBuffer_InvalidHandle = 101, - IOBuffer_InvalidArgument = 102, - IOBuffer_PathExists = 103, - IOBuffer_PathDoesNotExist = 104, - IOBuffer_Permission = 105, -} -public enum EIOBufferMode -{ - Read = 1, - Write = 2, - Create = 512, -} -public enum EVRDebugError -{ - Success = 0, - BadParameter = 1, -} -public enum EPropertyWriteType -{ - PropertyWrite_Set = 0, - PropertyWrite_Erase = 1, - PropertyWrite_SetError = 2, -} -public enum EBlockQueueError -{ - None = 0, - QueueAlreadyExists = 1, - QueueNotFound = 2, - BlockNotAvailable = 3, - InvalidHandle = 4, - InvalidParam = 5, - ParamMismatch = 6, - InternalError = 7, - AlreadyInitialized = 8, - OperationIsServerOnly = 9, - TooManyConnections = 10, -} -public enum EBlockQueueReadType -{ - BlockQueueRead_Latest = 0, - BlockQueueRead_New = 1, - BlockQueueRead_Next = 2, -} - -[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_Property_t property; - [FieldOffset(0)] public VREvent_HapticVibration_t hapticVibration; - [FieldOffset(0)] public VREvent_WebConsole_t webConsole; - [FieldOffset(0)] public VREvent_InputBindingLoad_t inputBinding; - [FieldOffset(0)] public VREvent_SpatialAnchor_t spatialAnchor; - [FieldOffset(0)] public VREvent_InputActionManifestLoad_t actionManifest; - [FieldOffset(0)] public VREvent_ProgressUpdate_t progressUpdate; - [FieldOffset(0)] public VREvent_ShowUI_t showUi; - [FieldOffset(0)] public VREvent_ShowDevTools_t showDevTools; - [FieldOffset(0)] public VREvent_HDCPError_t hdcpError; - [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; -#if UNITY_5_3_OR_NEWER - - public Vector3 GetPosition() - { - return new Vector3(m3, m7, -m11); - } - - public bool IsRotationValid() - { - return ((m2 != 0 || m6 != 0 || m10 != 0) && (m1 != 0 || m5 != 0 || m9 != 0)); - } - - public Quaternion GetRotation() - { - if (IsRotationValid()) - { - float w = Mathf.Sqrt(Mathf.Max(0, 1 + m0 + m5 + m10)) / 2; - float x = Mathf.Sqrt(Mathf.Max(0, 1 + m0 - m5 - m10)) / 2; - float y = Mathf.Sqrt(Mathf.Max(0, 1 - m0 + m5 - m10)) / 2; - float z = Mathf.Sqrt(Mathf.Max(0, 1 - m0 - m5 + m10)) / 2; - - _copysign(ref x, -m9 - -m6); - _copysign(ref y, -m2 - -m8); - _copysign(ref z, m4 - m1); - - return new Quaternion(x, y, z, w); - } - return Quaternion.identity; - } - - private static void _copysign(ref float sizeval, float signval) - { - if (signval > 0 != sizeval > 0) - sizeval = -sizeval; - } -#endif -} -[StructLayout(LayoutKind.Sequential)] public struct HmdMatrix33_t -{ - public float m0; //float[3][3] - public float m1; - public float m2; - public float m3; - public float m4; - public float m5; - public float m6; - public float m7; - public float m8; -} -[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 HmdQuaternionf_t -{ - public float w; - public float x; - public float y; - public float 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 IntPtr handle; // void * - public ETextureType eType; - public EColorSpace eColorSpace; - public HmdMatrix34_t mDeviceToAbsoluteTracking; -} -[StructLayout(LayoutKind.Sequential)] public struct VRTextureDepthInfo_t -{ - public IntPtr handle; // void * - public HmdMatrix44_t mProjection; - public HmdVector2_t vRange; -} -[StructLayout(LayoutKind.Sequential)] public struct VRTextureWithDepth_t -{ - public IntPtr handle; // void * - public ETextureType eType; - public EColorSpace eColorSpace; - public VRTextureDepthInfo_t depth; -} -[StructLayout(LayoutKind.Sequential)] public struct VRTextureWithPoseAndDepth_t -{ - public IntPtr handle; // void * - public ETextureType eType; - public EColorSpace eColorSpace; - public HmdMatrix34_t mDeviceToAbsoluteTracking; - public VRTextureDepthInfo_t depth; -} -[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 VRVulkanTextureArrayData_t -{ - public uint m_unArrayIndex; - public uint m_unArraySize; -} -[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 unused; - public float viewportscale; -} -[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; - [MarshalAs(UnmanagedType.I1)] - public bool bConnectionLost; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Overlay_t -{ - public ulong overlayHandle; - public ulong devicePath; -} -[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 string cNewInput - { - get - { - return new string(new char[] { - (char)cNewInput0, - (char)cNewInput1, - (char)cNewInput2, - (char)cNewInput3, - (char)cNewInput4, - (char)cNewInput5, - (char)cNewInput6, - (char)cNewInput7 - }).TrimEnd('\0'); - } - } - 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; - public ulong reserved2; - public ulong reserved3; - public ulong reserved4; - public ulong reserved5; -} -[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_HapticVibration_t -{ - public ulong containerHandle; - public ulong componentHandle; - public float fDurationSeconds; - public float fFrequency; - public float fAmplitude; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_WebConsole_t -{ - public ulong webConsoleHandle; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_InputBindingLoad_t -{ - public ulong ulAppContainer; - public ulong pathMessage; - public ulong pathUrl; - public ulong pathControllerType; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_InputActionManifestLoad_t -{ - public ulong pathAppKey; - public ulong pathMessage; - public ulong pathMessageParam; - public ulong pathManifestPath; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_SpatialAnchor_t -{ - public uint unHandle; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_ProgressUpdate_t -{ - public ulong ulApplicationPropertyContainer; - public ulong pathDevice; - public ulong pathInputSource; - public ulong pathProgressAction; - public ulong pathIcon; - public float fProgress; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_ShowUI_t -{ - public EShowUIType eType; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_ShowDevTools_t -{ - public int nBrowserIdentifier; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_HDCPError_t -{ - public EHDCPError eCode; -} -[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 RenderModel_ComponentState_t -{ - public HmdMatrix34_t mTrackingToComponentRenderModel; - public HmdMatrix34_t mTrackingToComponentLocal; - public uint uProperties; -} -[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 VRBoneTransform_t -{ - public HmdVector4_t position; - public HmdQuaternionf_t orientation; -} -[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 trackedDevicePose; - public ulong ulFrameExposureTime; -} -[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; - public uint m_nNumVSyncsReadyForUse; - public uint m_nNumVSyncsToFirstView; -} -[StructLayout(LayoutKind.Sequential)] public struct Compositor_BenchmarkResults -{ - public float m_flMegaPixelsPerSecond; - public float m_flHmdRecommendedMegaPixelsPerSecond; -} -[StructLayout(LayoutKind.Sequential)] public struct DriverDirectMode_FrameTiming -{ - public uint m_nSize; - public uint m_nNumFramePresents; - public uint m_nNumMisPresented; - public uint m_nNumDroppedFrames; - public uint m_nReprojectionFlags; -} -[StructLayout(LayoutKind.Sequential)] public struct ImuSample_t -{ - public double fSampleTime; - public HmdVector3d_t vAccel; - public HmdVector3d_t vGyro; - public uint unOffScaleFlags; -} -[StructLayout(LayoutKind.Sequential)] public struct AppOverrideKeys_t -{ - public IntPtr pchKey; // const char * - public IntPtr pchValue; // const char * -} -[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 Compositor_StageRenderSettings -{ - public HmdColor_t m_PrimaryColor; - public HmdColor_t m_SecondaryColor; - public float m_flVignetteInnerRadius; - public float m_flVignetteOuterRadius; - public float m_flFresnelStrength; - [MarshalAs(UnmanagedType.I1)] - public bool m_bBackfaceCulling; - [MarshalAs(UnmanagedType.I1)] - public bool m_bGreyscale; - [MarshalAs(UnmanagedType.I1)] - public bool m_bWireframe; -} -[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 VROverlayView_t -{ - public ulong overlayHandle; - public Texture_t texture; - public VRTextureBounds_t textureBounds; -} -[StructLayout(LayoutKind.Sequential)] public struct VRVulkanDevice_t -{ - public IntPtr m_pInstance; // struct VkInstance_T * - public IntPtr m_pDevice; // struct VkDevice_T * - public IntPtr m_pPhysicalDevice; // struct VkPhysicalDevice_T * - public IntPtr m_pQueue; // struct VkQueue_T * - public uint m_uQueueFamilyIndex; -} -[StructLayout(LayoutKind.Sequential)] public struct VRNativeDevice_t -{ - public IntPtr handle; // void * - public EDeviceType eType; -} -[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 ushort unWidth; - public ushort unHeight; - public IntPtr rubTextureMapData; // const uint8_t * - public EVRRenderModelTextureFormat format; -} -// This structure is for backwards binary compatibility on Linux and OSX only -[StructLayout(LayoutKind.Sequential, Pack = 4)] public struct RenderModel_TextureMap_t_Packed -{ - public ushort unWidth; - public ushort unHeight; - public IntPtr rubTextureMapData; // const uint8_t * - public EVRRenderModelTextureFormat format; - public RenderModel_TextureMap_t_Packed(RenderModel_TextureMap_t unpacked) - { - this.unWidth = unpacked.unWidth; - this.unHeight = unpacked.unHeight; - this.rubTextureMapData = unpacked.rubTextureMapData; - this.format = unpacked.format; - } - public void Unpack(ref RenderModel_TextureMap_t unpacked) - { - unpacked.unWidth = this.unWidth; - unpacked.unHeight = this.unHeight; - unpacked.rubTextureMapData = this.rubTextureMapData; - unpacked.format = this.format; - } -} -[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 CVRSettingHelper -{ - public IntPtr m_pSettings; // class vr::IVRSettings * -} -[StructLayout(LayoutKind.Sequential)] public struct InputAnalogActionData_t -{ - [MarshalAs(UnmanagedType.I1)] - public bool bActive; - public ulong activeOrigin; - public float x; - public float y; - public float z; - public float deltaX; - public float deltaY; - public float deltaZ; - public float fUpdateTime; -} -[StructLayout(LayoutKind.Sequential)] public struct InputDigitalActionData_t -{ - [MarshalAs(UnmanagedType.I1)] - public bool bActive; - public ulong activeOrigin; - [MarshalAs(UnmanagedType.I1)] - public bool bState; - [MarshalAs(UnmanagedType.I1)] - public bool bChanged; - public float fUpdateTime; -} -[StructLayout(LayoutKind.Sequential)] public struct InputPoseActionData_t -{ - [MarshalAs(UnmanagedType.I1)] - public bool bActive; - public ulong activeOrigin; - public TrackedDevicePose_t pose; -} -[StructLayout(LayoutKind.Sequential)] public struct InputSkeletalActionData_t -{ - [MarshalAs(UnmanagedType.I1)] - public bool bActive; - public ulong activeOrigin; -} -[StructLayout(LayoutKind.Sequential)] public struct InputOriginInfo_t -{ - public ulong devicePath; - public uint trackedDeviceIndex; - public byte rchRenderModelComponentName0,rchRenderModelComponentName1,rchRenderModelComponentName2,rchRenderModelComponentName3,rchRenderModelComponentName4,rchRenderModelComponentName5,rchRenderModelComponentName6,rchRenderModelComponentName7,rchRenderModelComponentName8,rchRenderModelComponentName9,rchRenderModelComponentName10,rchRenderModelComponentName11,rchRenderModelComponentName12,rchRenderModelComponentName13,rchRenderModelComponentName14,rchRenderModelComponentName15,rchRenderModelComponentName16,rchRenderModelComponentName17,rchRenderModelComponentName18,rchRenderModelComponentName19,rchRenderModelComponentName20,rchRenderModelComponentName21,rchRenderModelComponentName22,rchRenderModelComponentName23,rchRenderModelComponentName24,rchRenderModelComponentName25,rchRenderModelComponentName26,rchRenderModelComponentName27,rchRenderModelComponentName28,rchRenderModelComponentName29,rchRenderModelComponentName30,rchRenderModelComponentName31,rchRenderModelComponentName32,rchRenderModelComponentName33,rchRenderModelComponentName34,rchRenderModelComponentName35,rchRenderModelComponentName36,rchRenderModelComponentName37,rchRenderModelComponentName38,rchRenderModelComponentName39,rchRenderModelComponentName40,rchRenderModelComponentName41,rchRenderModelComponentName42,rchRenderModelComponentName43,rchRenderModelComponentName44,rchRenderModelComponentName45,rchRenderModelComponentName46,rchRenderModelComponentName47,rchRenderModelComponentName48,rchRenderModelComponentName49,rchRenderModelComponentName50,rchRenderModelComponentName51,rchRenderModelComponentName52,rchRenderModelComponentName53,rchRenderModelComponentName54,rchRenderModelComponentName55,rchRenderModelComponentName56,rchRenderModelComponentName57,rchRenderModelComponentName58,rchRenderModelComponentName59,rchRenderModelComponentName60,rchRenderModelComponentName61,rchRenderModelComponentName62,rchRenderModelComponentName63,rchRenderModelComponentName64,rchRenderModelComponentName65,rchRenderModelComponentName66,rchRenderModelComponentName67,rchRenderModelComponentName68,rchRenderModelComponentName69,rchRenderModelComponentName70,rchRenderModelComponentName71,rchRenderModelComponentName72,rchRenderModelComponentName73,rchRenderModelComponentName74,rchRenderModelComponentName75,rchRenderModelComponentName76,rchRenderModelComponentName77,rchRenderModelComponentName78,rchRenderModelComponentName79,rchRenderModelComponentName80,rchRenderModelComponentName81,rchRenderModelComponentName82,rchRenderModelComponentName83,rchRenderModelComponentName84,rchRenderModelComponentName85,rchRenderModelComponentName86,rchRenderModelComponentName87,rchRenderModelComponentName88,rchRenderModelComponentName89,rchRenderModelComponentName90,rchRenderModelComponentName91,rchRenderModelComponentName92,rchRenderModelComponentName93,rchRenderModelComponentName94,rchRenderModelComponentName95,rchRenderModelComponentName96,rchRenderModelComponentName97,rchRenderModelComponentName98,rchRenderModelComponentName99,rchRenderModelComponentName100,rchRenderModelComponentName101,rchRenderModelComponentName102,rchRenderModelComponentName103,rchRenderModelComponentName104,rchRenderModelComponentName105,rchRenderModelComponentName106,rchRenderModelComponentName107,rchRenderModelComponentName108,rchRenderModelComponentName109,rchRenderModelComponentName110,rchRenderModelComponentName111,rchRenderModelComponentName112,rchRenderModelComponentName113,rchRenderModelComponentName114,rchRenderModelComponentName115,rchRenderModelComponentName116,rchRenderModelComponentName117,rchRenderModelComponentName118,rchRenderModelComponentName119,rchRenderModelComponentName120,rchRenderModelComponentName121,rchRenderModelComponentName122,rchRenderModelComponentName123,rchRenderModelComponentName124,rchRenderModelComponentName125,rchRenderModelComponentName126,rchRenderModelComponentName127; - public string rchRenderModelComponentName - { - get - { - return new string(new char[] { - (char)rchRenderModelComponentName0, - (char)rchRenderModelComponentName1, - (char)rchRenderModelComponentName2, - (char)rchRenderModelComponentName3, - (char)rchRenderModelComponentName4, - (char)rchRenderModelComponentName5, - (char)rchRenderModelComponentName6, - (char)rchRenderModelComponentName7, - (char)rchRenderModelComponentName8, - (char)rchRenderModelComponentName9, - (char)rchRenderModelComponentName10, - (char)rchRenderModelComponentName11, - (char)rchRenderModelComponentName12, - (char)rchRenderModelComponentName13, - (char)rchRenderModelComponentName14, - (char)rchRenderModelComponentName15, - (char)rchRenderModelComponentName16, - (char)rchRenderModelComponentName17, - (char)rchRenderModelComponentName18, - (char)rchRenderModelComponentName19, - (char)rchRenderModelComponentName20, - (char)rchRenderModelComponentName21, - (char)rchRenderModelComponentName22, - (char)rchRenderModelComponentName23, - (char)rchRenderModelComponentName24, - (char)rchRenderModelComponentName25, - (char)rchRenderModelComponentName26, - (char)rchRenderModelComponentName27, - (char)rchRenderModelComponentName28, - (char)rchRenderModelComponentName29, - (char)rchRenderModelComponentName30, - (char)rchRenderModelComponentName31, - (char)rchRenderModelComponentName32, - (char)rchRenderModelComponentName33, - (char)rchRenderModelComponentName34, - (char)rchRenderModelComponentName35, - (char)rchRenderModelComponentName36, - (char)rchRenderModelComponentName37, - (char)rchRenderModelComponentName38, - (char)rchRenderModelComponentName39, - (char)rchRenderModelComponentName40, - (char)rchRenderModelComponentName41, - (char)rchRenderModelComponentName42, - (char)rchRenderModelComponentName43, - (char)rchRenderModelComponentName44, - (char)rchRenderModelComponentName45, - (char)rchRenderModelComponentName46, - (char)rchRenderModelComponentName47, - (char)rchRenderModelComponentName48, - (char)rchRenderModelComponentName49, - (char)rchRenderModelComponentName50, - (char)rchRenderModelComponentName51, - (char)rchRenderModelComponentName52, - (char)rchRenderModelComponentName53, - (char)rchRenderModelComponentName54, - (char)rchRenderModelComponentName55, - (char)rchRenderModelComponentName56, - (char)rchRenderModelComponentName57, - (char)rchRenderModelComponentName58, - (char)rchRenderModelComponentName59, - (char)rchRenderModelComponentName60, - (char)rchRenderModelComponentName61, - (char)rchRenderModelComponentName62, - (char)rchRenderModelComponentName63, - (char)rchRenderModelComponentName64, - (char)rchRenderModelComponentName65, - (char)rchRenderModelComponentName66, - (char)rchRenderModelComponentName67, - (char)rchRenderModelComponentName68, - (char)rchRenderModelComponentName69, - (char)rchRenderModelComponentName70, - (char)rchRenderModelComponentName71, - (char)rchRenderModelComponentName72, - (char)rchRenderModelComponentName73, - (char)rchRenderModelComponentName74, - (char)rchRenderModelComponentName75, - (char)rchRenderModelComponentName76, - (char)rchRenderModelComponentName77, - (char)rchRenderModelComponentName78, - (char)rchRenderModelComponentName79, - (char)rchRenderModelComponentName80, - (char)rchRenderModelComponentName81, - (char)rchRenderModelComponentName82, - (char)rchRenderModelComponentName83, - (char)rchRenderModelComponentName84, - (char)rchRenderModelComponentName85, - (char)rchRenderModelComponentName86, - (char)rchRenderModelComponentName87, - (char)rchRenderModelComponentName88, - (char)rchRenderModelComponentName89, - (char)rchRenderModelComponentName90, - (char)rchRenderModelComponentName91, - (char)rchRenderModelComponentName92, - (char)rchRenderModelComponentName93, - (char)rchRenderModelComponentName94, - (char)rchRenderModelComponentName95, - (char)rchRenderModelComponentName96, - (char)rchRenderModelComponentName97, - (char)rchRenderModelComponentName98, - (char)rchRenderModelComponentName99, - (char)rchRenderModelComponentName100, - (char)rchRenderModelComponentName101, - (char)rchRenderModelComponentName102, - (char)rchRenderModelComponentName103, - (char)rchRenderModelComponentName104, - (char)rchRenderModelComponentName105, - (char)rchRenderModelComponentName106, - (char)rchRenderModelComponentName107, - (char)rchRenderModelComponentName108, - (char)rchRenderModelComponentName109, - (char)rchRenderModelComponentName110, - (char)rchRenderModelComponentName111, - (char)rchRenderModelComponentName112, - (char)rchRenderModelComponentName113, - (char)rchRenderModelComponentName114, - (char)rchRenderModelComponentName115, - (char)rchRenderModelComponentName116, - (char)rchRenderModelComponentName117, - (char)rchRenderModelComponentName118, - (char)rchRenderModelComponentName119, - (char)rchRenderModelComponentName120, - (char)rchRenderModelComponentName121, - (char)rchRenderModelComponentName122, - (char)rchRenderModelComponentName123, - (char)rchRenderModelComponentName124, - (char)rchRenderModelComponentName125, - (char)rchRenderModelComponentName126, - (char)rchRenderModelComponentName127 - }).TrimEnd('\0'); - } - } -} -[StructLayout(LayoutKind.Sequential)] public struct InputBindingInfo_t -{ - public byte rchDevicePathName0,rchDevicePathName1,rchDevicePathName2,rchDevicePathName3,rchDevicePathName4,rchDevicePathName5,rchDevicePathName6,rchDevicePathName7,rchDevicePathName8,rchDevicePathName9,rchDevicePathName10,rchDevicePathName11,rchDevicePathName12,rchDevicePathName13,rchDevicePathName14,rchDevicePathName15,rchDevicePathName16,rchDevicePathName17,rchDevicePathName18,rchDevicePathName19,rchDevicePathName20,rchDevicePathName21,rchDevicePathName22,rchDevicePathName23,rchDevicePathName24,rchDevicePathName25,rchDevicePathName26,rchDevicePathName27,rchDevicePathName28,rchDevicePathName29,rchDevicePathName30,rchDevicePathName31,rchDevicePathName32,rchDevicePathName33,rchDevicePathName34,rchDevicePathName35,rchDevicePathName36,rchDevicePathName37,rchDevicePathName38,rchDevicePathName39,rchDevicePathName40,rchDevicePathName41,rchDevicePathName42,rchDevicePathName43,rchDevicePathName44,rchDevicePathName45,rchDevicePathName46,rchDevicePathName47,rchDevicePathName48,rchDevicePathName49,rchDevicePathName50,rchDevicePathName51,rchDevicePathName52,rchDevicePathName53,rchDevicePathName54,rchDevicePathName55,rchDevicePathName56,rchDevicePathName57,rchDevicePathName58,rchDevicePathName59,rchDevicePathName60,rchDevicePathName61,rchDevicePathName62,rchDevicePathName63,rchDevicePathName64,rchDevicePathName65,rchDevicePathName66,rchDevicePathName67,rchDevicePathName68,rchDevicePathName69,rchDevicePathName70,rchDevicePathName71,rchDevicePathName72,rchDevicePathName73,rchDevicePathName74,rchDevicePathName75,rchDevicePathName76,rchDevicePathName77,rchDevicePathName78,rchDevicePathName79,rchDevicePathName80,rchDevicePathName81,rchDevicePathName82,rchDevicePathName83,rchDevicePathName84,rchDevicePathName85,rchDevicePathName86,rchDevicePathName87,rchDevicePathName88,rchDevicePathName89,rchDevicePathName90,rchDevicePathName91,rchDevicePathName92,rchDevicePathName93,rchDevicePathName94,rchDevicePathName95,rchDevicePathName96,rchDevicePathName97,rchDevicePathName98,rchDevicePathName99,rchDevicePathName100,rchDevicePathName101,rchDevicePathName102,rchDevicePathName103,rchDevicePathName104,rchDevicePathName105,rchDevicePathName106,rchDevicePathName107,rchDevicePathName108,rchDevicePathName109,rchDevicePathName110,rchDevicePathName111,rchDevicePathName112,rchDevicePathName113,rchDevicePathName114,rchDevicePathName115,rchDevicePathName116,rchDevicePathName117,rchDevicePathName118,rchDevicePathName119,rchDevicePathName120,rchDevicePathName121,rchDevicePathName122,rchDevicePathName123,rchDevicePathName124,rchDevicePathName125,rchDevicePathName126,rchDevicePathName127; - public string rchDevicePathName - { - get - { - return new string(new char[] { - (char)rchDevicePathName0, - (char)rchDevicePathName1, - (char)rchDevicePathName2, - (char)rchDevicePathName3, - (char)rchDevicePathName4, - (char)rchDevicePathName5, - (char)rchDevicePathName6, - (char)rchDevicePathName7, - (char)rchDevicePathName8, - (char)rchDevicePathName9, - (char)rchDevicePathName10, - (char)rchDevicePathName11, - (char)rchDevicePathName12, - (char)rchDevicePathName13, - (char)rchDevicePathName14, - (char)rchDevicePathName15, - (char)rchDevicePathName16, - (char)rchDevicePathName17, - (char)rchDevicePathName18, - (char)rchDevicePathName19, - (char)rchDevicePathName20, - (char)rchDevicePathName21, - (char)rchDevicePathName22, - (char)rchDevicePathName23, - (char)rchDevicePathName24, - (char)rchDevicePathName25, - (char)rchDevicePathName26, - (char)rchDevicePathName27, - (char)rchDevicePathName28, - (char)rchDevicePathName29, - (char)rchDevicePathName30, - (char)rchDevicePathName31, - (char)rchDevicePathName32, - (char)rchDevicePathName33, - (char)rchDevicePathName34, - (char)rchDevicePathName35, - (char)rchDevicePathName36, - (char)rchDevicePathName37, - (char)rchDevicePathName38, - (char)rchDevicePathName39, - (char)rchDevicePathName40, - (char)rchDevicePathName41, - (char)rchDevicePathName42, - (char)rchDevicePathName43, - (char)rchDevicePathName44, - (char)rchDevicePathName45, - (char)rchDevicePathName46, - (char)rchDevicePathName47, - (char)rchDevicePathName48, - (char)rchDevicePathName49, - (char)rchDevicePathName50, - (char)rchDevicePathName51, - (char)rchDevicePathName52, - (char)rchDevicePathName53, - (char)rchDevicePathName54, - (char)rchDevicePathName55, - (char)rchDevicePathName56, - (char)rchDevicePathName57, - (char)rchDevicePathName58, - (char)rchDevicePathName59, - (char)rchDevicePathName60, - (char)rchDevicePathName61, - (char)rchDevicePathName62, - (char)rchDevicePathName63, - (char)rchDevicePathName64, - (char)rchDevicePathName65, - (char)rchDevicePathName66, - (char)rchDevicePathName67, - (char)rchDevicePathName68, - (char)rchDevicePathName69, - (char)rchDevicePathName70, - (char)rchDevicePathName71, - (char)rchDevicePathName72, - (char)rchDevicePathName73, - (char)rchDevicePathName74, - (char)rchDevicePathName75, - (char)rchDevicePathName76, - (char)rchDevicePathName77, - (char)rchDevicePathName78, - (char)rchDevicePathName79, - (char)rchDevicePathName80, - (char)rchDevicePathName81, - (char)rchDevicePathName82, - (char)rchDevicePathName83, - (char)rchDevicePathName84, - (char)rchDevicePathName85, - (char)rchDevicePathName86, - (char)rchDevicePathName87, - (char)rchDevicePathName88, - (char)rchDevicePathName89, - (char)rchDevicePathName90, - (char)rchDevicePathName91, - (char)rchDevicePathName92, - (char)rchDevicePathName93, - (char)rchDevicePathName94, - (char)rchDevicePathName95, - (char)rchDevicePathName96, - (char)rchDevicePathName97, - (char)rchDevicePathName98, - (char)rchDevicePathName99, - (char)rchDevicePathName100, - (char)rchDevicePathName101, - (char)rchDevicePathName102, - (char)rchDevicePathName103, - (char)rchDevicePathName104, - (char)rchDevicePathName105, - (char)rchDevicePathName106, - (char)rchDevicePathName107, - (char)rchDevicePathName108, - (char)rchDevicePathName109, - (char)rchDevicePathName110, - (char)rchDevicePathName111, - (char)rchDevicePathName112, - (char)rchDevicePathName113, - (char)rchDevicePathName114, - (char)rchDevicePathName115, - (char)rchDevicePathName116, - (char)rchDevicePathName117, - (char)rchDevicePathName118, - (char)rchDevicePathName119, - (char)rchDevicePathName120, - (char)rchDevicePathName121, - (char)rchDevicePathName122, - (char)rchDevicePathName123, - (char)rchDevicePathName124, - (char)rchDevicePathName125, - (char)rchDevicePathName126, - (char)rchDevicePathName127 - }).TrimEnd('\0'); - } - } - public byte rchInputPathName0,rchInputPathName1,rchInputPathName2,rchInputPathName3,rchInputPathName4,rchInputPathName5,rchInputPathName6,rchInputPathName7,rchInputPathName8,rchInputPathName9,rchInputPathName10,rchInputPathName11,rchInputPathName12,rchInputPathName13,rchInputPathName14,rchInputPathName15,rchInputPathName16,rchInputPathName17,rchInputPathName18,rchInputPathName19,rchInputPathName20,rchInputPathName21,rchInputPathName22,rchInputPathName23,rchInputPathName24,rchInputPathName25,rchInputPathName26,rchInputPathName27,rchInputPathName28,rchInputPathName29,rchInputPathName30,rchInputPathName31,rchInputPathName32,rchInputPathName33,rchInputPathName34,rchInputPathName35,rchInputPathName36,rchInputPathName37,rchInputPathName38,rchInputPathName39,rchInputPathName40,rchInputPathName41,rchInputPathName42,rchInputPathName43,rchInputPathName44,rchInputPathName45,rchInputPathName46,rchInputPathName47,rchInputPathName48,rchInputPathName49,rchInputPathName50,rchInputPathName51,rchInputPathName52,rchInputPathName53,rchInputPathName54,rchInputPathName55,rchInputPathName56,rchInputPathName57,rchInputPathName58,rchInputPathName59,rchInputPathName60,rchInputPathName61,rchInputPathName62,rchInputPathName63,rchInputPathName64,rchInputPathName65,rchInputPathName66,rchInputPathName67,rchInputPathName68,rchInputPathName69,rchInputPathName70,rchInputPathName71,rchInputPathName72,rchInputPathName73,rchInputPathName74,rchInputPathName75,rchInputPathName76,rchInputPathName77,rchInputPathName78,rchInputPathName79,rchInputPathName80,rchInputPathName81,rchInputPathName82,rchInputPathName83,rchInputPathName84,rchInputPathName85,rchInputPathName86,rchInputPathName87,rchInputPathName88,rchInputPathName89,rchInputPathName90,rchInputPathName91,rchInputPathName92,rchInputPathName93,rchInputPathName94,rchInputPathName95,rchInputPathName96,rchInputPathName97,rchInputPathName98,rchInputPathName99,rchInputPathName100,rchInputPathName101,rchInputPathName102,rchInputPathName103,rchInputPathName104,rchInputPathName105,rchInputPathName106,rchInputPathName107,rchInputPathName108,rchInputPathName109,rchInputPathName110,rchInputPathName111,rchInputPathName112,rchInputPathName113,rchInputPathName114,rchInputPathName115,rchInputPathName116,rchInputPathName117,rchInputPathName118,rchInputPathName119,rchInputPathName120,rchInputPathName121,rchInputPathName122,rchInputPathName123,rchInputPathName124,rchInputPathName125,rchInputPathName126,rchInputPathName127; - public string rchInputPathName - { - get - { - return new string(new char[] { - (char)rchInputPathName0, - (char)rchInputPathName1, - (char)rchInputPathName2, - (char)rchInputPathName3, - (char)rchInputPathName4, - (char)rchInputPathName5, - (char)rchInputPathName6, - (char)rchInputPathName7, - (char)rchInputPathName8, - (char)rchInputPathName9, - (char)rchInputPathName10, - (char)rchInputPathName11, - (char)rchInputPathName12, - (char)rchInputPathName13, - (char)rchInputPathName14, - (char)rchInputPathName15, - (char)rchInputPathName16, - (char)rchInputPathName17, - (char)rchInputPathName18, - (char)rchInputPathName19, - (char)rchInputPathName20, - (char)rchInputPathName21, - (char)rchInputPathName22, - (char)rchInputPathName23, - (char)rchInputPathName24, - (char)rchInputPathName25, - (char)rchInputPathName26, - (char)rchInputPathName27, - (char)rchInputPathName28, - (char)rchInputPathName29, - (char)rchInputPathName30, - (char)rchInputPathName31, - (char)rchInputPathName32, - (char)rchInputPathName33, - (char)rchInputPathName34, - (char)rchInputPathName35, - (char)rchInputPathName36, - (char)rchInputPathName37, - (char)rchInputPathName38, - (char)rchInputPathName39, - (char)rchInputPathName40, - (char)rchInputPathName41, - (char)rchInputPathName42, - (char)rchInputPathName43, - (char)rchInputPathName44, - (char)rchInputPathName45, - (char)rchInputPathName46, - (char)rchInputPathName47, - (char)rchInputPathName48, - (char)rchInputPathName49, - (char)rchInputPathName50, - (char)rchInputPathName51, - (char)rchInputPathName52, - (char)rchInputPathName53, - (char)rchInputPathName54, - (char)rchInputPathName55, - (char)rchInputPathName56, - (char)rchInputPathName57, - (char)rchInputPathName58, - (char)rchInputPathName59, - (char)rchInputPathName60, - (char)rchInputPathName61, - (char)rchInputPathName62, - (char)rchInputPathName63, - (char)rchInputPathName64, - (char)rchInputPathName65, - (char)rchInputPathName66, - (char)rchInputPathName67, - (char)rchInputPathName68, - (char)rchInputPathName69, - (char)rchInputPathName70, - (char)rchInputPathName71, - (char)rchInputPathName72, - (char)rchInputPathName73, - (char)rchInputPathName74, - (char)rchInputPathName75, - (char)rchInputPathName76, - (char)rchInputPathName77, - (char)rchInputPathName78, - (char)rchInputPathName79, - (char)rchInputPathName80, - (char)rchInputPathName81, - (char)rchInputPathName82, - (char)rchInputPathName83, - (char)rchInputPathName84, - (char)rchInputPathName85, - (char)rchInputPathName86, - (char)rchInputPathName87, - (char)rchInputPathName88, - (char)rchInputPathName89, - (char)rchInputPathName90, - (char)rchInputPathName91, - (char)rchInputPathName92, - (char)rchInputPathName93, - (char)rchInputPathName94, - (char)rchInputPathName95, - (char)rchInputPathName96, - (char)rchInputPathName97, - (char)rchInputPathName98, - (char)rchInputPathName99, - (char)rchInputPathName100, - (char)rchInputPathName101, - (char)rchInputPathName102, - (char)rchInputPathName103, - (char)rchInputPathName104, - (char)rchInputPathName105, - (char)rchInputPathName106, - (char)rchInputPathName107, - (char)rchInputPathName108, - (char)rchInputPathName109, - (char)rchInputPathName110, - (char)rchInputPathName111, - (char)rchInputPathName112, - (char)rchInputPathName113, - (char)rchInputPathName114, - (char)rchInputPathName115, - (char)rchInputPathName116, - (char)rchInputPathName117, - (char)rchInputPathName118, - (char)rchInputPathName119, - (char)rchInputPathName120, - (char)rchInputPathName121, - (char)rchInputPathName122, - (char)rchInputPathName123, - (char)rchInputPathName124, - (char)rchInputPathName125, - (char)rchInputPathName126, - (char)rchInputPathName127 - }).TrimEnd('\0'); - } - } - public byte rchModeName0,rchModeName1,rchModeName2,rchModeName3,rchModeName4,rchModeName5,rchModeName6,rchModeName7,rchModeName8,rchModeName9,rchModeName10,rchModeName11,rchModeName12,rchModeName13,rchModeName14,rchModeName15,rchModeName16,rchModeName17,rchModeName18,rchModeName19,rchModeName20,rchModeName21,rchModeName22,rchModeName23,rchModeName24,rchModeName25,rchModeName26,rchModeName27,rchModeName28,rchModeName29,rchModeName30,rchModeName31,rchModeName32,rchModeName33,rchModeName34,rchModeName35,rchModeName36,rchModeName37,rchModeName38,rchModeName39,rchModeName40,rchModeName41,rchModeName42,rchModeName43,rchModeName44,rchModeName45,rchModeName46,rchModeName47,rchModeName48,rchModeName49,rchModeName50,rchModeName51,rchModeName52,rchModeName53,rchModeName54,rchModeName55,rchModeName56,rchModeName57,rchModeName58,rchModeName59,rchModeName60,rchModeName61,rchModeName62,rchModeName63,rchModeName64,rchModeName65,rchModeName66,rchModeName67,rchModeName68,rchModeName69,rchModeName70,rchModeName71,rchModeName72,rchModeName73,rchModeName74,rchModeName75,rchModeName76,rchModeName77,rchModeName78,rchModeName79,rchModeName80,rchModeName81,rchModeName82,rchModeName83,rchModeName84,rchModeName85,rchModeName86,rchModeName87,rchModeName88,rchModeName89,rchModeName90,rchModeName91,rchModeName92,rchModeName93,rchModeName94,rchModeName95,rchModeName96,rchModeName97,rchModeName98,rchModeName99,rchModeName100,rchModeName101,rchModeName102,rchModeName103,rchModeName104,rchModeName105,rchModeName106,rchModeName107,rchModeName108,rchModeName109,rchModeName110,rchModeName111,rchModeName112,rchModeName113,rchModeName114,rchModeName115,rchModeName116,rchModeName117,rchModeName118,rchModeName119,rchModeName120,rchModeName121,rchModeName122,rchModeName123,rchModeName124,rchModeName125,rchModeName126,rchModeName127; - public string rchModeName - { - get - { - return new string(new char[] { - (char)rchModeName0, - (char)rchModeName1, - (char)rchModeName2, - (char)rchModeName3, - (char)rchModeName4, - (char)rchModeName5, - (char)rchModeName6, - (char)rchModeName7, - (char)rchModeName8, - (char)rchModeName9, - (char)rchModeName10, - (char)rchModeName11, - (char)rchModeName12, - (char)rchModeName13, - (char)rchModeName14, - (char)rchModeName15, - (char)rchModeName16, - (char)rchModeName17, - (char)rchModeName18, - (char)rchModeName19, - (char)rchModeName20, - (char)rchModeName21, - (char)rchModeName22, - (char)rchModeName23, - (char)rchModeName24, - (char)rchModeName25, - (char)rchModeName26, - (char)rchModeName27, - (char)rchModeName28, - (char)rchModeName29, - (char)rchModeName30, - (char)rchModeName31, - (char)rchModeName32, - (char)rchModeName33, - (char)rchModeName34, - (char)rchModeName35, - (char)rchModeName36, - (char)rchModeName37, - (char)rchModeName38, - (char)rchModeName39, - (char)rchModeName40, - (char)rchModeName41, - (char)rchModeName42, - (char)rchModeName43, - (char)rchModeName44, - (char)rchModeName45, - (char)rchModeName46, - (char)rchModeName47, - (char)rchModeName48, - (char)rchModeName49, - (char)rchModeName50, - (char)rchModeName51, - (char)rchModeName52, - (char)rchModeName53, - (char)rchModeName54, - (char)rchModeName55, - (char)rchModeName56, - (char)rchModeName57, - (char)rchModeName58, - (char)rchModeName59, - (char)rchModeName60, - (char)rchModeName61, - (char)rchModeName62, - (char)rchModeName63, - (char)rchModeName64, - (char)rchModeName65, - (char)rchModeName66, - (char)rchModeName67, - (char)rchModeName68, - (char)rchModeName69, - (char)rchModeName70, - (char)rchModeName71, - (char)rchModeName72, - (char)rchModeName73, - (char)rchModeName74, - (char)rchModeName75, - (char)rchModeName76, - (char)rchModeName77, - (char)rchModeName78, - (char)rchModeName79, - (char)rchModeName80, - (char)rchModeName81, - (char)rchModeName82, - (char)rchModeName83, - (char)rchModeName84, - (char)rchModeName85, - (char)rchModeName86, - (char)rchModeName87, - (char)rchModeName88, - (char)rchModeName89, - (char)rchModeName90, - (char)rchModeName91, - (char)rchModeName92, - (char)rchModeName93, - (char)rchModeName94, - (char)rchModeName95, - (char)rchModeName96, - (char)rchModeName97, - (char)rchModeName98, - (char)rchModeName99, - (char)rchModeName100, - (char)rchModeName101, - (char)rchModeName102, - (char)rchModeName103, - (char)rchModeName104, - (char)rchModeName105, - (char)rchModeName106, - (char)rchModeName107, - (char)rchModeName108, - (char)rchModeName109, - (char)rchModeName110, - (char)rchModeName111, - (char)rchModeName112, - (char)rchModeName113, - (char)rchModeName114, - (char)rchModeName115, - (char)rchModeName116, - (char)rchModeName117, - (char)rchModeName118, - (char)rchModeName119, - (char)rchModeName120, - (char)rchModeName121, - (char)rchModeName122, - (char)rchModeName123, - (char)rchModeName124, - (char)rchModeName125, - (char)rchModeName126, - (char)rchModeName127 - }).TrimEnd('\0'); - } - } - public byte rchSlotName0,rchSlotName1,rchSlotName2,rchSlotName3,rchSlotName4,rchSlotName5,rchSlotName6,rchSlotName7,rchSlotName8,rchSlotName9,rchSlotName10,rchSlotName11,rchSlotName12,rchSlotName13,rchSlotName14,rchSlotName15,rchSlotName16,rchSlotName17,rchSlotName18,rchSlotName19,rchSlotName20,rchSlotName21,rchSlotName22,rchSlotName23,rchSlotName24,rchSlotName25,rchSlotName26,rchSlotName27,rchSlotName28,rchSlotName29,rchSlotName30,rchSlotName31,rchSlotName32,rchSlotName33,rchSlotName34,rchSlotName35,rchSlotName36,rchSlotName37,rchSlotName38,rchSlotName39,rchSlotName40,rchSlotName41,rchSlotName42,rchSlotName43,rchSlotName44,rchSlotName45,rchSlotName46,rchSlotName47,rchSlotName48,rchSlotName49,rchSlotName50,rchSlotName51,rchSlotName52,rchSlotName53,rchSlotName54,rchSlotName55,rchSlotName56,rchSlotName57,rchSlotName58,rchSlotName59,rchSlotName60,rchSlotName61,rchSlotName62,rchSlotName63,rchSlotName64,rchSlotName65,rchSlotName66,rchSlotName67,rchSlotName68,rchSlotName69,rchSlotName70,rchSlotName71,rchSlotName72,rchSlotName73,rchSlotName74,rchSlotName75,rchSlotName76,rchSlotName77,rchSlotName78,rchSlotName79,rchSlotName80,rchSlotName81,rchSlotName82,rchSlotName83,rchSlotName84,rchSlotName85,rchSlotName86,rchSlotName87,rchSlotName88,rchSlotName89,rchSlotName90,rchSlotName91,rchSlotName92,rchSlotName93,rchSlotName94,rchSlotName95,rchSlotName96,rchSlotName97,rchSlotName98,rchSlotName99,rchSlotName100,rchSlotName101,rchSlotName102,rchSlotName103,rchSlotName104,rchSlotName105,rchSlotName106,rchSlotName107,rchSlotName108,rchSlotName109,rchSlotName110,rchSlotName111,rchSlotName112,rchSlotName113,rchSlotName114,rchSlotName115,rchSlotName116,rchSlotName117,rchSlotName118,rchSlotName119,rchSlotName120,rchSlotName121,rchSlotName122,rchSlotName123,rchSlotName124,rchSlotName125,rchSlotName126,rchSlotName127; - public string rchSlotName - { - get - { - return new string(new char[] { - (char)rchSlotName0, - (char)rchSlotName1, - (char)rchSlotName2, - (char)rchSlotName3, - (char)rchSlotName4, - (char)rchSlotName5, - (char)rchSlotName6, - (char)rchSlotName7, - (char)rchSlotName8, - (char)rchSlotName9, - (char)rchSlotName10, - (char)rchSlotName11, - (char)rchSlotName12, - (char)rchSlotName13, - (char)rchSlotName14, - (char)rchSlotName15, - (char)rchSlotName16, - (char)rchSlotName17, - (char)rchSlotName18, - (char)rchSlotName19, - (char)rchSlotName20, - (char)rchSlotName21, - (char)rchSlotName22, - (char)rchSlotName23, - (char)rchSlotName24, - (char)rchSlotName25, - (char)rchSlotName26, - (char)rchSlotName27, - (char)rchSlotName28, - (char)rchSlotName29, - (char)rchSlotName30, - (char)rchSlotName31, - (char)rchSlotName32, - (char)rchSlotName33, - (char)rchSlotName34, - (char)rchSlotName35, - (char)rchSlotName36, - (char)rchSlotName37, - (char)rchSlotName38, - (char)rchSlotName39, - (char)rchSlotName40, - (char)rchSlotName41, - (char)rchSlotName42, - (char)rchSlotName43, - (char)rchSlotName44, - (char)rchSlotName45, - (char)rchSlotName46, - (char)rchSlotName47, - (char)rchSlotName48, - (char)rchSlotName49, - (char)rchSlotName50, - (char)rchSlotName51, - (char)rchSlotName52, - (char)rchSlotName53, - (char)rchSlotName54, - (char)rchSlotName55, - (char)rchSlotName56, - (char)rchSlotName57, - (char)rchSlotName58, - (char)rchSlotName59, - (char)rchSlotName60, - (char)rchSlotName61, - (char)rchSlotName62, - (char)rchSlotName63, - (char)rchSlotName64, - (char)rchSlotName65, - (char)rchSlotName66, - (char)rchSlotName67, - (char)rchSlotName68, - (char)rchSlotName69, - (char)rchSlotName70, - (char)rchSlotName71, - (char)rchSlotName72, - (char)rchSlotName73, - (char)rchSlotName74, - (char)rchSlotName75, - (char)rchSlotName76, - (char)rchSlotName77, - (char)rchSlotName78, - (char)rchSlotName79, - (char)rchSlotName80, - (char)rchSlotName81, - (char)rchSlotName82, - (char)rchSlotName83, - (char)rchSlotName84, - (char)rchSlotName85, - (char)rchSlotName86, - (char)rchSlotName87, - (char)rchSlotName88, - (char)rchSlotName89, - (char)rchSlotName90, - (char)rchSlotName91, - (char)rchSlotName92, - (char)rchSlotName93, - (char)rchSlotName94, - (char)rchSlotName95, - (char)rchSlotName96, - (char)rchSlotName97, - (char)rchSlotName98, - (char)rchSlotName99, - (char)rchSlotName100, - (char)rchSlotName101, - (char)rchSlotName102, - (char)rchSlotName103, - (char)rchSlotName104, - (char)rchSlotName105, - (char)rchSlotName106, - (char)rchSlotName107, - (char)rchSlotName108, - (char)rchSlotName109, - (char)rchSlotName110, - (char)rchSlotName111, - (char)rchSlotName112, - (char)rchSlotName113, - (char)rchSlotName114, - (char)rchSlotName115, - (char)rchSlotName116, - (char)rchSlotName117, - (char)rchSlotName118, - (char)rchSlotName119, - (char)rchSlotName120, - (char)rchSlotName121, - (char)rchSlotName122, - (char)rchSlotName123, - (char)rchSlotName124, - (char)rchSlotName125, - (char)rchSlotName126, - (char)rchSlotName127 - }).TrimEnd('\0'); - } - } - public byte rchInputSourceType0,rchInputSourceType1,rchInputSourceType2,rchInputSourceType3,rchInputSourceType4,rchInputSourceType5,rchInputSourceType6,rchInputSourceType7,rchInputSourceType8,rchInputSourceType9,rchInputSourceType10,rchInputSourceType11,rchInputSourceType12,rchInputSourceType13,rchInputSourceType14,rchInputSourceType15,rchInputSourceType16,rchInputSourceType17,rchInputSourceType18,rchInputSourceType19,rchInputSourceType20,rchInputSourceType21,rchInputSourceType22,rchInputSourceType23,rchInputSourceType24,rchInputSourceType25,rchInputSourceType26,rchInputSourceType27,rchInputSourceType28,rchInputSourceType29,rchInputSourceType30,rchInputSourceType31; - public string rchInputSourceType - { - get - { - return new string(new char[] { - (char)rchInputSourceType0, - (char)rchInputSourceType1, - (char)rchInputSourceType2, - (char)rchInputSourceType3, - (char)rchInputSourceType4, - (char)rchInputSourceType5, - (char)rchInputSourceType6, - (char)rchInputSourceType7, - (char)rchInputSourceType8, - (char)rchInputSourceType9, - (char)rchInputSourceType10, - (char)rchInputSourceType11, - (char)rchInputSourceType12, - (char)rchInputSourceType13, - (char)rchInputSourceType14, - (char)rchInputSourceType15, - (char)rchInputSourceType16, - (char)rchInputSourceType17, - (char)rchInputSourceType18, - (char)rchInputSourceType19, - (char)rchInputSourceType20, - (char)rchInputSourceType21, - (char)rchInputSourceType22, - (char)rchInputSourceType23, - (char)rchInputSourceType24, - (char)rchInputSourceType25, - (char)rchInputSourceType26, - (char)rchInputSourceType27, - (char)rchInputSourceType28, - (char)rchInputSourceType29, - (char)rchInputSourceType30, - (char)rchInputSourceType31 - }).TrimEnd('\0'); - } - } -} -[StructLayout(LayoutKind.Sequential)] public struct VRActiveActionSet_t -{ - public ulong ulActionSet; - public ulong ulRestrictedToDevice; - public ulong ulSecondaryActionSet; - public uint unPadding; - public int nPriority; -} -[StructLayout(LayoutKind.Sequential)] public struct VRSkeletalSummaryData_t -{ - public float flFingerCurl0; //float[5] - public float flFingerCurl1; - public float flFingerCurl2; - public float flFingerCurl3; - public float flFingerCurl4; - public float flFingerSplay0; //float[4] - public float flFingerSplay1; - public float flFingerSplay2; - public float flFingerSplay3; -} -[StructLayout(LayoutKind.Sequential)] public struct SpatialAnchorPose_t -{ - public HmdMatrix34_t mAnchorToAbsoluteTracking; -} -[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_pVRHeadsetView; // class vr::IVRHeadsetView * - public IntPtr m_pVROverlay; // class vr::IVROverlay * - public IntPtr m_pVROverlayView; // class vr::IVROverlayView * - 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 IntPtr m_pVRInput; // class vr::IVRInput * - public IntPtr m_pVRIOBuffer; // class vr::IVRIOBuffer * - public IntPtr m_pVRSpatialAnchors; // class vr::IVRSpatialAnchors * - public IntPtr m_pVRDebug; // class vr::IVRDebug * - public IntPtr m_pVRNotifications; // class vr::IVRNotifications * -} -[StructLayout(LayoutKind.Sequential)] public struct PropertyWrite_t -{ - public ETrackedDeviceProperty prop; - public EPropertyWriteType writeType; - public ETrackedPropertyError eSetError; - public IntPtr pvBuffer; // void * - public uint unBufferSize; - public uint unTag; - public ETrackedPropertyError eError; -} -[StructLayout(LayoutKind.Sequential)] public struct PropertyRead_t -{ - public ETrackedDeviceProperty prop; - public IntPtr pvBuffer; // void * - public uint unBufferSize; - public uint unTag; - public uint unRequiredBufferSize; - public ETrackedPropertyError eError; -} -[StructLayout(LayoutKind.Sequential)] public struct CVRPropertyHelpers -{ - public IntPtr m_pProperties; // class vr::IVRProperties * -} -[StructLayout(LayoutKind.Sequential)] public struct PathWrite_t -{ - public ulong ulPath; - public EPropertyWriteType writeType; - public ETrackedPropertyError eSetError; - public IntPtr pvBuffer; // void * - public uint unBufferSize; - public uint unTag; - public ETrackedPropertyError eError; - public IntPtr pszPath; // const char * -} -[StructLayout(LayoutKind.Sequential)] public struct PathRead_t -{ - public ulong ulPath; - public IntPtr pvBuffer; // void * - public uint unBufferSize; - public uint unTag; - public uint unRequiredBufferSize; - public ETrackedPropertyError eError; - public IntPtr pszPath; // const char * -} - -public class OpenVR -{ - - public static uint InitInternal(ref EVRInitError peError, EVRApplicationType eApplicationType) - { - return OpenVRInterop.InitInternal(ref peError, eApplicationType); - } - - public static uint InitInternal2(ref EVRInitError peError, EVRApplicationType eApplicationType, string pchStartupInfo) - { - return OpenVRInterop.InitInternal2(ref peError, eApplicationType, pchStartupInfo); - } - - public static void ShutdownInternal() - { - OpenVRInterop.ShutdownInternal(); - } - - public static bool IsHmdPresent() - { - return OpenVRInterop.IsHmdPresent(); - } - - public static bool IsRuntimeInstalled() - { - return OpenVRInterop.IsRuntimeInstalled(); - } - - public static string RuntimePath() - { - try - { - uint pathSize = 512; - uint requiredPathSize = 512; - System.Text.StringBuilder path = new System.Text.StringBuilder((int)pathSize); - bool success = OpenVRInterop.GetRuntimePath(path, pathSize, ref requiredPathSize); - if (success == false) - { - return null; - } - - return path.ToString(); - } catch - { - return OpenVRInterop.RuntimePath(); //this api is deprecated but here to support older unity versions - } - } - - 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 = 64; - 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 ulong k_ulInvalidDriverHandle = 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_unErrorPropertyTag = 6; - public const uint k_unDoublePropertyTag = 7; - 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_unHmdVector2PropertyTag = 24; - public const uint k_unHmdQuadPropertyTag = 25; - public const uint k_unHiddenAreaPropertyTag = 30; - public const uint k_unPathHandleInfoTag = 31; - public const uint k_unActionPropertyTag = 32; - public const uint k_unInputValuePropertyTag = 33; - public const uint k_unWildcardPropertyTag = 34; - public const uint k_unHapticVibrationPropertyTag = 35; - public const uint k_unSkeletonPropertyTag = 36; - public const uint k_unSpatialAnchorPosePropertyTag = 40; - public const uint k_unJsonPropertyTag = 41; - public const uint k_unActiveActionSetPropertyTag = 42; - public const uint k_unOpenVRInternalReserved_Start = 1000; - public const uint k_unOpenVRInternalReserved_End = 10000; - public const uint k_unMaxPropertyStringSize = 32768; - public const ulong k_ulInvalidActionHandle = 0; - public const ulong k_ulInvalidActionSetHandle = 0; - public const ulong k_ulInvalidInputValueHandle = 0; - public const uint k_unControllerStateAxisCount = 5; - public const ulong k_ulOverlayHandleInvalid = 0; - public const uint k_unMaxDistortionFunctionParameters = 8; - public const uint k_unScreenshotHandleInvalid = 0; - public const string IVRSystem_Version = "IVRSystem_022"; - public const string IVRExtendedDisplay_Version = "IVRExtendedDisplay_001"; - public const string IVRTrackedCamera_Version = "IVRTrackedCamera_006"; - 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_007"; - public const string IVRChaperone_Version = "IVRChaperone_004"; - public const string IVRChaperoneSetup_Version = "IVRChaperoneSetup_006"; - public const string IVRCompositor_Version = "IVRCompositor_026"; - public const uint k_unVROverlayMaxKeyLength = 128; - public const uint k_unVROverlayMaxNameLength = 128; - public const uint k_unMaxOverlayCount = 128; - public const uint k_unMaxOverlayIntersectionMaskPrimitivesCount = 32; - public const string IVROverlay_Version = "IVROverlay_024"; - public const string IVROverlayView_Version = "IVROverlayView_003"; - public const uint k_unHeadsetViewMaxWidth = 3840; - public const uint k_unHeadsetViewMaxHeight = 2160; - public const string k_pchHeadsetViewOverlayKey = "system.HeadsetView"; - public const string IVRHeadsetView_Version = "IVRHeadsetView_001"; - 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_006"; - 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_003"; - 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_TrackingLossColor_String = "trackingLossColor"; - public const string k_pch_SteamVR_ShowStage_Bool = "showStage"; - public const string k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers"; - 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_Int32 = "basestationPowerManagement"; - public const string k_pch_SteamVR_ShowBaseStationPowerManagementTip_Int32 = "ShowBaseStationPowerManagementTip"; - public const string k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses"; - public const string k_pch_SteamVR_SupersampleScale_Float = "supersampleScale"; - public const string k_pch_SteamVR_MaxRecommendedResolution_Int32 = "maxRecommendedResolution"; - public const string k_pch_SteamVR_MotionSmoothing_Bool = "motionSmoothing"; - public const string k_pch_SteamVR_MotionSmoothingOverride_Int32 = "motionSmoothingOverride"; - public const string k_pch_SteamVR_DisableAsyncReprojection_Bool = "disableAsync"; - public const string k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; - public const string k_pch_SteamVR_DefaultMirrorView_Int32 = "mirrorView"; - public const string k_pch_SteamVR_ShowLegacyMirrorView_Bool = "showLegacyMirrorView"; - public const string k_pch_SteamVR_MirrorViewVisibility_Bool = "showMirrorView"; - public const string k_pch_SteamVR_MirrorViewDisplayMode_Int32 = "mirrorViewDisplayMode"; - public const string k_pch_SteamVR_MirrorViewEye_Int32 = "mirrorViewEye"; - public const string k_pch_SteamVR_MirrorViewGeometry_String = "mirrorViewGeometry"; - public const string k_pch_SteamVR_MirrorViewGeometryMaximized_String = "mirrorViewGeometryMaximized"; - public const string k_pch_SteamVR_PerfGraphVisibility_Bool = "showPerfGraph"; - 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_SupersampleManualOverride_Bool = "supersampleManualOverride"; - public const string k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync"; - public const string k_pch_SteamVR_AllowDisplayLockedMode_Bool = "allowDisplayLockedMode"; - public const string k_pch_SteamVR_HaveStartedTutorialForNativeChaperoneDriver_Bool = "haveStartedTutorialForNativeChaperoneDriver"; - public const string k_pch_SteamVR_ForceWindows32bitVRMonitor = "forceWindows32BitVRMonitor"; - public const string k_pch_SteamVR_DebugInputBinding = "debugInputBinding"; - public const string k_pch_SteamVR_DoNotFadeToGrid = "doNotFadeToGrid"; - public const string k_pch_SteamVR_RenderCameraMode = "renderCameraMode"; - public const string k_pch_SteamVR_EnableSharedResourceJournaling = "enableSharedResourceJournaling"; - public const string k_pch_SteamVR_EnableSafeMode = "enableSafeMode"; - public const string k_pch_SteamVR_PreferredRefreshRate = "preferredRefreshRate"; - public const string k_pch_SteamVR_LastVersionNotice = "lastVersionNotice"; - public const string k_pch_SteamVR_LastVersionNoticeDate = "lastVersionNoticeDate"; - public const string k_pch_SteamVR_HmdDisplayColorGainR_Float = "hmdDisplayColorGainR"; - public const string k_pch_SteamVR_HmdDisplayColorGainG_Float = "hmdDisplayColorGainG"; - public const string k_pch_SteamVR_HmdDisplayColorGainB_Float = "hmdDisplayColorGainB"; - public const string k_pch_SteamVR_CustomIconStyle_String = "customIconStyle"; - public const string k_pch_SteamVR_CustomOffIconStyle_String = "customOffIconStyle"; - public const string k_pch_SteamVR_CustomIconForceUpdate_String = "customIconForceUpdate"; - public const string k_pch_SteamVR_AllowGlobalActionSetPriority = "globalActionSetPriority"; - public const string k_pch_SteamVR_OverlayRenderQuality = "overlayRenderQuality_2"; - public const string k_pch_SteamVR_BlockOculusSDKOnOpenVRLaunchOption_Bool = "blockOculusSDKOnOpenVRLaunchOption"; - public const string k_pch_SteamVR_BlockOculusSDKOnAllLaunches_Bool = "blockOculusSDKOnAllLaunches"; - public const string k_pch_DirectMode_Section = "direct_mode"; - public const string k_pch_DirectMode_Enable_Bool = "enable"; - public const string k_pch_DirectMode_Count_Int32 = "count"; - public const string k_pch_DirectMode_EdidVid_Int32 = "edidVid"; - public const string k_pch_DirectMode_EdidPid_Int32 = "edidPid"; - public const string k_pch_Lighthouse_Section = "driver_lighthouse"; - public const string k_pch_Lighthouse_DisableIMU_Bool = "disableimu"; - public const string k_pch_Lighthouse_DisableIMUExceptHMD_Bool = "disableimuexcepthmd"; - 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_Lighthouse_EnableBluetooth_Bool = "enableBluetooth"; - public const string k_pch_Lighthouse_PowerManagedBaseStations_String = "PowerManagedBaseStations"; - public const string k_pch_Lighthouse_PowerManagedBaseStations2_String = "PowerManagedBaseStations2"; - public const string k_pch_Lighthouse_InactivityTimeoutForBaseStations_Int32 = "InactivityTimeoutForBaseStations"; - public const string k_pch_Lighthouse_EnableImuFallback_Bool = "enableImuFallback"; - 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_WindowsMR_Section = "driver_holographic"; - 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_HidePopupsWhenStatusMinimized_Bool = "HidePopupsWhenStatusMinimized"; - 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_PerfGraphInHMD_Bool = "perfGraphInHMD"; - 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_GPUProfiling_Bool = "GPUProfiling"; - 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_WallHeight_Float = "CollisionBoundsWallHeight"; - 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_CollisionBounds_EnableDriverImport = "enableDriverBoundsImport"; - public const string k_pch_Camera_Section = "camera"; - public const string k_pch_Camera_EnableCamera_Bool = "enableCamera"; - public const string k_pch_Camera_ShowOnController_Bool = "showOnController"; - public const string k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCameraForCollisionBounds"; - public const string k_pch_Camera_RoomView_Int32 = "roomView"; - 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_Camera_RoomViewStyle_Int32 = "roomViewStyle"; - public const string k_pch_audio_Section = "audio"; - public const string k_pch_audio_SetOsDefaultPlaybackDevice_Bool = "setOsDefaultPlaybackDevice"; - public const string k_pch_audio_EnablePlaybackDeviceOverride_Bool = "enablePlaybackDeviceOverride"; - public const string k_pch_audio_PlaybackDeviceOverride_String = "playbackDeviceOverride"; - public const string k_pch_audio_PlaybackDeviceOverrideName_String = "playbackDeviceOverrideName"; - public const string k_pch_audio_SetOsDefaultRecordingDevice_Bool = "setOsDefaultRecordingDevice"; - public const string k_pch_audio_EnableRecordingDeviceOverride_Bool = "enableRecordingDeviceOverride"; - public const string k_pch_audio_RecordingDeviceOverride_String = "recordingDeviceOverride"; - public const string k_pch_audio_RecordingDeviceOverrideName_String = "recordingDeviceOverrideName"; - public const string k_pch_audio_EnablePlaybackMirror_Bool = "enablePlaybackMirror"; - public const string k_pch_audio_PlaybackMirrorDevice_String = "playbackMirrorDevice"; - public const string k_pch_audio_PlaybackMirrorDeviceName_String = "playbackMirrorDeviceName"; - public const string k_pch_audio_OldPlaybackMirrorDevice_String = "onPlaybackMirrorDevice"; - public const string k_pch_audio_ActiveMirrorDevice_String = "activePlaybackMirrorDevice"; - public const string k_pch_audio_EnablePlaybackMirrorIndependentVolume_Bool = "enablePlaybackMirrorIndependentVolume"; - public const string k_pch_audio_LastHmdPlaybackDeviceId_String = "lastHmdPlaybackDeviceId"; - public const string k_pch_audio_VIVEHDMIGain = "viveHDMIGain"; - public const string k_pch_audio_DualSpeakerAndJackOutput_Bool = "dualSpeakerAndJackOutput"; - 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_Dashboard_Position = "position"; - public const string k_pch_Dashboard_DesktopScale = "desktopScale"; - public const string k_pch_Dashboard_DashboardScale = "dashboardScale"; - public const string k_pch_modelskin_Section = "modelskins"; - public const string k_pch_Driver_Enable_Bool = "enable"; - public const string k_pch_Driver_BlockedBySafemode_Bool = "blocked_by_safe_mode"; - public const string k_pch_Driver_LoadPriority_Int32 = "loadPriority"; - public const string k_pch_WebInterface_Section = "WebInterface"; - public const string k_pch_VRWebHelper_Section = "VRWebHelper"; - public const string k_pch_VRWebHelper_DebuggerEnabled_Bool = "DebuggerEnabled"; - public const string k_pch_VRWebHelper_DebuggerPort_Int32 = "DebuggerPort"; - public const string k_pch_TrackingOverride_Section = "TrackingOverrides"; - public const string k_pch_App_BindingAutosaveURLSuffix_String = "AutosaveURL"; - public const string k_pch_App_BindingLegacyAPISuffix_String = "_legacy"; - public const string k_pch_App_BindingSteamVRInputAPISuffix_String = "_steamvrinput"; - public const string k_pch_App_BindingCurrentURLSuffix_String = "CurrentURL"; - public const string k_pch_App_BindingPreviousURLSuffix_String = "PreviousURL"; - public const string k_pch_App_NeedToUpdateAutosaveSuffix_Bool = "NeedToUpdateAutosave"; - public const string k_pch_App_DominantHand_Int32 = "DominantHand"; - public const string k_pch_App_BlockOculusSDK_Bool = "blockOculusSDK"; - public const string k_pch_Trackers_Section = "trackers"; - public const string k_pch_DesktopUI_Section = "DesktopUI"; - public const string k_pch_LastKnown_Section = "LastKnown"; - public const string k_pch_LastKnown_HMDManufacturer_String = "HMDManufacturer"; - public const string k_pch_LastKnown_HMDModel_String = "HMDModel"; - public const string k_pch_DismissedWarnings_Section = "DismissedWarnings"; - public const string k_pch_Input_Section = "input"; - public const string k_pch_Input_LeftThumbstickRotation_Float = "leftThumbstickRotation"; - public const string k_pch_Input_RightThumbstickRotation_Float = "rightThumbstickRotation"; - public const string k_pch_Input_ThumbstickDeadzone_Float = "thumbstickDeadzone"; - public const string k_pch_GpuSpeed_Section = "GpuSpeed"; - public const string IVRScreenshots_Version = "IVRScreenshots_001"; - public const string IVRResources_Version = "IVRResources_001"; - public const string IVRDriverManager_Version = "IVRDriverManager_001"; - public const uint k_unMaxActionNameLength = 64; - public const uint k_unMaxActionSetNameLength = 64; - public const uint k_unMaxActionOriginCount = 16; - public const uint k_unMaxBoneNameLength = 32; - public const int k_nActionSetOverlayGlobalPriorityMin = 16777216; - public const int k_nActionSetOverlayGlobalPriorityMax = 33554431; - public const int k_nActionSetPriorityReservedMin = 33554432; - public const string IVRInput_Version = "IVRInput_010"; - public const ulong k_ulInvalidIOBufferHandle = 0; - public const string IVRIOBuffer_Version = "IVRIOBuffer_002"; - public const uint k_ulInvalidSpatialAnchorHandle = 0; - public const string IVRSpatialAnchors_Version = "IVRSpatialAnchors_001"; - public const string IVRDebug_Version = "IVRDebug_001"; - public const ulong k_ulDisplayRedirectContainer = 25769803779; - public const string IVRProperties_Version = "IVRProperties_001"; - public const string k_pchPathUserHandRight = "/user/hand/right"; - public const string k_pchPathUserHandLeft = "/user/hand/left"; - public const string k_pchPathUserHandPrimary = "/user/hand/primary"; - public const string k_pchPathUserHandSecondary = "/user/hand/secondary"; - public const string k_pchPathUserHead = "/user/head"; - public const string k_pchPathUserGamepad = "/user/gamepad"; - public const string k_pchPathUserTreadmill = "/user/treadmill"; - public const string k_pchPathUserStylus = "/user/stylus"; - public const string k_pchPathDevices = "/devices"; - public const string k_pchPathDevicePath = "/device_path"; - public const string k_pchPathBestAliasPath = "/best_alias_path"; - public const string k_pchPathBoundTrackerAliasPath = "/bound_tracker_path"; - public const string k_pchPathBoundTrackerRole = "/bound_tracker_role"; - public const string k_pchPathPoseRaw = "/pose/raw"; - public const string k_pchPathPoseTip = "/pose/tip"; - public const string k_pchPathPoseGrip = "/pose/grip"; - public const string k_pchPathSystemButtonClick = "/input/system/click"; - public const string k_pchPathProximity = "/proximity"; - public const string k_pchPathControllerTypePrefix = "/controller_type/"; - public const string k_pchPathInputProfileSuffix = "/input_profile"; - public const string k_pchPathBindingNameSuffix = "/binding_name"; - public const string k_pchPathBindingUrlSuffix = "/binding_url"; - public const string k_pchPathBindingErrorSuffix = "/binding_error"; - public const string k_pchPathActiveActionSets = "/active_action_sets"; - public const string k_pchPathComponentUpdates = "/total_component_updates"; - public const string k_pchPathUserFootLeft = "/user/foot/left"; - public const string k_pchPathUserFootRight = "/user/foot/right"; - public const string k_pchPathUserShoulderLeft = "/user/shoulder/left"; - public const string k_pchPathUserShoulderRight = "/user/shoulder/right"; - public const string k_pchPathUserElbowLeft = "/user/elbow/left"; - public const string k_pchPathUserElbowRight = "/user/elbow/right"; - public const string k_pchPathUserKneeLeft = "/user/knee/left"; - public const string k_pchPathUserKneeRight = "/user/knee/right"; - public const string k_pchPathUserWaist = "/user/waist"; - public const string k_pchPathUserChest = "/user/chest"; - public const string k_pchPathUserCamera = "/user/camera"; - public const string k_pchPathUserKeyboard = "/user/keyboard"; - public const string k_pchPathClientAppKey = "/client_info/app_key"; - public const ulong k_ulInvalidPathHandle = 0; - public const string IVRPaths_Version = "IVRPaths_001"; - public const string IVRBlockQueue_Version = "IVRBlockQueue_004"; - - 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_pVRHeadsetView = null; - m_pVROverlay = null; - m_pVROverlayView = null; - m_pVRRenderModels = null; - m_pVRExtendedDisplay = null; - m_pVRSettings = null; - m_pVRApplications = null; - m_pVRScreenshots = null; - m_pVRTrackedCamera = null; - m_pVRInput = null; - m_pVRIOBuffer = null; - m_pVRSpatialAnchors = null; - m_pVRNotifications = null; - m_pVRDebug = 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 CVRHeadsetView VRHeadsetView() - { - CheckClear(); - if (m_pVRHeadsetView == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRHeadsetView_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRHeadsetView = new CVRHeadsetView(pInterface); - } - return m_pVRHeadsetView; - } - - 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 CVROverlayView VROverlayView() - { - CheckClear(); - if (m_pVROverlayView == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVROverlayView_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVROverlayView = new CVROverlayView(pInterface); - } - return m_pVROverlayView; - } - - 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; - } - - public CVRInput VRInput() - { - CheckClear(); - if (m_pVRInput == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRInput_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRInput = new CVRInput(pInterface); - } - return m_pVRInput; - } - - public CVRIOBuffer VRIOBuffer() - { - CheckClear(); - if (m_pVRIOBuffer == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix + IVRIOBuffer_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRIOBuffer = new CVRIOBuffer(pInterface); - } - return m_pVRIOBuffer; - } - - public CVRSpatialAnchors VRSpatialAnchors() - { - CheckClear(); - if (m_pVRSpatialAnchors == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix + IVRSpatialAnchors_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRSpatialAnchors = new CVRSpatialAnchors(pInterface); - } - return m_pVRSpatialAnchors; - } - - public CVRDebug VRDebug() - { - CheckClear(); - if (m_pVRDebug == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix + IVRDebug_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRDebug = new CVRDebug(pInterface); - } - return m_pVRDebug; - } - - public CVRNotifications VRNotifications() - { - CheckClear(); - if (m_pVRNotifications == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix + IVRNotifications_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRNotifications = new CVRNotifications(pInterface); - } - return m_pVRNotifications; - } - - private CVRSystem m_pVRSystem; - private CVRChaperone m_pVRChaperone; - private CVRChaperoneSetup m_pVRChaperoneSetup; - private CVRCompositor m_pVRCompositor; - private CVRHeadsetView m_pVRHeadsetView; - private CVROverlay m_pVROverlay; - private CVROverlayView m_pVROverlayView; - 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 CVRInput m_pVRInput; - private CVRIOBuffer m_pVRIOBuffer; - private CVRSpatialAnchors m_pVRSpatialAnchors; - private CVRNotifications m_pVRNotifications; - private CVRDebug m_pVRDebug; - }; - - 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 CVRHeadsetView HeadsetView { get { return OpenVRInternal_ModuleContext.VRHeadsetView(); } } - public static CVROverlay Overlay { get { return OpenVRInternal_ModuleContext.VROverlay(); } } - public static CVROverlayView OverlayView { get { return OpenVRInternal_ModuleContext.VROverlayView(); } } - 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(); } } - public static CVRInput Input { get { return OpenVRInternal_ModuleContext.VRInput(); } } - public static CVRIOBuffer IOBuffer { get { return OpenVRInternal_ModuleContext.VRIOBuffer(); } } - public static CVRSpatialAnchors SpatialAnchors { get { return OpenVRInternal_ModuleContext.VRSpatialAnchors(); } } - public static CVRNotifications Notifications { get { return OpenVRInternal_ModuleContext.VRNotifications(); } } - public static CVRDebug Debug { get { return OpenVRInternal_ModuleContext.VRDebug(); } } - - - /** Finds the active installation of vrclient.dll and initializes it */ - public static CVRSystem Init(ref EVRInitError peError, EVRApplicationType eApplicationType = EVRApplicationType.VRApplication_Scene, string pchStartupInfo= "") - { - try - { - VRToken = InitInternal2(ref peError, eApplicationType, pchStartupInfo); - } - catch (EntryPointNotFoundException) - { - 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(); - } - -} - - - -} -#endif -