| Index: third_party/openvr/src/headers/openvr_api.cs
|
| diff --git a/third_party/openvr/src/headers/openvr_api.cs b/third_party/openvr/src/headers/openvr_api.cs
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..ae2c2759d1efc85926cadc7887be0f98efd94900
|
| --- /dev/null
|
| +++ b/third_party/openvr/src/headers/openvr_api.cs
|
| @@ -0,0 +1,4786 @@
|
| +//======= Copyright (c) Valve Corporation, All rights reserved. ===============
|
| +//
|
| +// Purpose: This file contains C#/managed code bindings for the OpenVR interfaces
|
| +// This file is auto-generated, do not edit it.
|
| +//
|
| +//=============================================================================
|
| +
|
| +using System;
|
| +using System.Runtime.InteropServices;
|
| +using Valve.VR;
|
| +
|
| +namespace Valve.VR
|
| +{
|
| +
|
| +[StructLayout(LayoutKind.Sequential)]
|
| +public struct IVRSystem
|
| +{
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _GetRecommendedRenderTargetSize(ref uint pnWidth, ref uint pnHeight);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetRecommendedRenderTargetSize GetRecommendedRenderTargetSize;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate HmdMatrix44_t _GetProjectionMatrix(EVREye eEye, float fNearZ, float fFarZ);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetProjectionMatrix GetProjectionMatrix;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _GetProjectionRaw(EVREye eEye, ref float pfLeft, ref float pfRight, ref float pfTop, ref float pfBottom);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetProjectionRaw GetProjectionRaw;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _ComputeDistortion(EVREye eEye, float fU, float fV, ref DistortionCoordinates_t pDistortionCoordinates);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _ComputeDistortion ComputeDistortion;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate HmdMatrix34_t _GetEyeToHeadTransform(EVREye eEye);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetEyeToHeadTransform GetEyeToHeadTransform;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _GetTimeSinceLastVsync(ref float pfSecondsSinceLastVsync, ref ulong pulFrameCounter);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetTimeSinceLastVsync GetTimeSinceLastVsync;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate int _GetD3D9AdapterIndex();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetD3D9AdapterIndex GetD3D9AdapterIndex;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _GetDXGIOutputInfo(ref int pnAdapterIndex);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetDXGIOutputInfo GetDXGIOutputInfo;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _IsDisplayOnDesktop();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _IsDisplayOnDesktop IsDisplayOnDesktop;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _SetDisplayVisibility(bool bIsVisibleOnDesktop);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetDisplayVisibility SetDisplayVisibility;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _GetDeviceToAbsoluteTrackingPose(ETrackingUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow, [In, Out] TrackedDevicePose_t[] pTrackedDevicePoseArray, uint unTrackedDevicePoseArrayCount);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetDeviceToAbsoluteTrackingPose GetDeviceToAbsoluteTrackingPose;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _ResetSeatedZeroPose();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _ResetSeatedZeroPose ResetSeatedZeroPose;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate HmdMatrix34_t _GetSeatedZeroPoseToStandingAbsoluteTrackingPose();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetSeatedZeroPoseToStandingAbsoluteTrackingPose GetSeatedZeroPoseToStandingAbsoluteTrackingPose;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate HmdMatrix34_t _GetRawZeroPoseToStandingAbsoluteTrackingPose();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetRawZeroPoseToStandingAbsoluteTrackingPose GetRawZeroPoseToStandingAbsoluteTrackingPose;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetSortedTrackedDeviceIndicesOfClass(ETrackedDeviceClass eTrackedDeviceClass, [In, Out] uint[] punTrackedDeviceIndexArray, uint unTrackedDeviceIndexArrayCount, uint unRelativeToTrackedDeviceIndex);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetSortedTrackedDeviceIndicesOfClass GetSortedTrackedDeviceIndicesOfClass;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EDeviceActivityLevel _GetTrackedDeviceActivityLevel(uint unDeviceId);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetTrackedDeviceActivityLevel GetTrackedDeviceActivityLevel;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _ApplyTransform(ref TrackedDevicePose_t pOutputPose, ref TrackedDevicePose_t pTrackedDevicePose, ref HmdMatrix34_t pTransform);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _ApplyTransform ApplyTransform;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetTrackedDeviceIndexForControllerRole(ETrackedControllerRole unDeviceType);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetTrackedDeviceIndexForControllerRole GetTrackedDeviceIndexForControllerRole;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate ETrackedControllerRole _GetControllerRoleForTrackedDeviceIndex(uint unDeviceIndex);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetControllerRoleForTrackedDeviceIndex GetControllerRoleForTrackedDeviceIndex;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate ETrackedDeviceClass _GetTrackedDeviceClass(uint unDeviceIndex);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetTrackedDeviceClass GetTrackedDeviceClass;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _IsTrackedDeviceConnected(uint unDeviceIndex);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _IsTrackedDeviceConnected IsTrackedDeviceConnected;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _GetBoolTrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetBoolTrackedDeviceProperty GetBoolTrackedDeviceProperty;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate float _GetFloatTrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetFloatTrackedDeviceProperty GetFloatTrackedDeviceProperty;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate int _GetInt32TrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetInt32TrackedDeviceProperty GetInt32TrackedDeviceProperty;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate ulong _GetUint64TrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetUint64TrackedDeviceProperty GetUint64TrackedDeviceProperty;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate HmdMatrix34_t _GetMatrix34TrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetMatrix34TrackedDeviceProperty GetMatrix34TrackedDeviceProperty;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetStringTrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, System.Text.StringBuilder pchValue, uint unBufferSize, ref ETrackedPropertyError pError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetStringTrackedDeviceProperty GetStringTrackedDeviceProperty;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate IntPtr _GetPropErrorNameFromEnum(ETrackedPropertyError error);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetPropErrorNameFromEnum GetPropErrorNameFromEnum;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _PollNextEvent(ref VREvent_t pEvent, uint uncbVREvent);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _PollNextEvent PollNextEvent;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _PollNextEventWithPose(ETrackingUniverseOrigin eOrigin, ref VREvent_t pEvent, uint uncbVREvent, ref TrackedDevicePose_t pTrackedDevicePose);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _PollNextEventWithPose PollNextEventWithPose;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate IntPtr _GetEventTypeNameFromEnum(EVREventType eType);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetEventTypeNameFromEnum GetEventTypeNameFromEnum;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate HiddenAreaMesh_t _GetHiddenAreaMesh(EVREye eEye, EHiddenAreaMeshType type);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetHiddenAreaMesh GetHiddenAreaMesh;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _GetControllerState(uint unControllerDeviceIndex, ref VRControllerState_t pControllerState, uint unControllerStateSize);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetControllerState GetControllerState;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _GetControllerStateWithPose(ETrackingUniverseOrigin eOrigin, uint unControllerDeviceIndex, ref VRControllerState_t pControllerState, uint unControllerStateSize, ref TrackedDevicePose_t pTrackedDevicePose);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetControllerStateWithPose GetControllerStateWithPose;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _TriggerHapticPulse(uint unControllerDeviceIndex, uint unAxisId, char usDurationMicroSec);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _TriggerHapticPulse TriggerHapticPulse;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate IntPtr _GetButtonIdNameFromEnum(EVRButtonId eButtonId);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetButtonIdNameFromEnum GetButtonIdNameFromEnum;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate IntPtr _GetControllerAxisTypeNameFromEnum(EVRControllerAxisType eAxisType);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetControllerAxisTypeNameFromEnum GetControllerAxisTypeNameFromEnum;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _CaptureInputFocus();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _CaptureInputFocus CaptureInputFocus;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _ReleaseInputFocus();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _ReleaseInputFocus ReleaseInputFocus;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _IsInputFocusCapturedByAnotherProcess();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _IsInputFocusCapturedByAnotherProcess IsInputFocusCapturedByAnotherProcess;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _DriverDebugRequest(uint unDeviceIndex, string pchRequest, string pchResponseBuffer, uint unResponseBufferSize);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _DriverDebugRequest DriverDebugRequest;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRFirmwareError _PerformFirmwareUpdate(uint unDeviceIndex);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _PerformFirmwareUpdate PerformFirmwareUpdate;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _AcknowledgeQuit_Exiting();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _AcknowledgeQuit_Exiting AcknowledgeQuit_Exiting;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _AcknowledgeQuit_UserPrompt();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _AcknowledgeQuit_UserPrompt AcknowledgeQuit_UserPrompt;
|
| +
|
| +}
|
| +
|
| +[StructLayout(LayoutKind.Sequential)]
|
| +public struct IVRExtendedDisplay
|
| +{
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _GetWindowBounds(ref int pnX, ref int pnY, ref uint pnWidth, ref uint pnHeight);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetWindowBounds GetWindowBounds;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _GetEyeOutputViewport(EVREye eEye, ref uint pnX, ref uint pnY, ref uint pnWidth, ref uint pnHeight);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetEyeOutputViewport GetEyeOutputViewport;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _GetDXGIOutputInfo(ref int pnAdapterIndex, ref int pnAdapterOutputIndex);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetDXGIOutputInfo GetDXGIOutputInfo;
|
| +
|
| +}
|
| +
|
| +[StructLayout(LayoutKind.Sequential)]
|
| +public struct IVRTrackedCamera
|
| +{
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate IntPtr _GetCameraErrorNameFromEnum(EVRTrackedCameraError eCameraError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetCameraErrorNameFromEnum GetCameraErrorNameFromEnum;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRTrackedCameraError _HasCamera(uint nDeviceIndex, ref bool pHasCamera);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _HasCamera HasCamera;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRTrackedCameraError _GetCameraFrameSize(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, ref uint pnWidth, ref uint pnHeight, ref uint pnFrameBufferSize);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetCameraFrameSize GetCameraFrameSize;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRTrackedCameraError _GetCameraIntrinsics(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, ref HmdVector2_t pFocalLength, ref HmdVector2_t pCenter);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetCameraIntrinsics GetCameraIntrinsics;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRTrackedCameraError _GetCameraProjection(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, float flZNear, float flZFar, ref HmdMatrix44_t pProjection);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetCameraProjection GetCameraProjection;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRTrackedCameraError _AcquireVideoStreamingService(uint nDeviceIndex, ref ulong pHandle);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _AcquireVideoStreamingService AcquireVideoStreamingService;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRTrackedCameraError _ReleaseVideoStreamingService(ulong hTrackedCamera);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _ReleaseVideoStreamingService ReleaseVideoStreamingService;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRTrackedCameraError _GetVideoStreamFrameBuffer(ulong hTrackedCamera, EVRTrackedCameraFrameType eFrameType, IntPtr pFrameBuffer, uint nFrameBufferSize, ref CameraVideoStreamFrameHeader_t pFrameHeader, uint nFrameHeaderSize);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetVideoStreamFrameBuffer GetVideoStreamFrameBuffer;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRTrackedCameraError _GetVideoStreamTextureSize(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, ref VRTextureBounds_t pTextureBounds, ref uint pnWidth, ref uint pnHeight);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetVideoStreamTextureSize GetVideoStreamTextureSize;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRTrackedCameraError _GetVideoStreamTextureD3D11(ulong hTrackedCamera, EVRTrackedCameraFrameType eFrameType, IntPtr pD3D11DeviceOrResource, ref IntPtr ppD3D11ShaderResourceView, ref CameraVideoStreamFrameHeader_t pFrameHeader, uint nFrameHeaderSize);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetVideoStreamTextureD3D11 GetVideoStreamTextureD3D11;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRTrackedCameraError _GetVideoStreamTextureGL(ulong hTrackedCamera, EVRTrackedCameraFrameType eFrameType, ref uint pglTextureId, ref CameraVideoStreamFrameHeader_t pFrameHeader, uint nFrameHeaderSize);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetVideoStreamTextureGL GetVideoStreamTextureGL;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRTrackedCameraError _ReleaseVideoStreamTextureGL(ulong hTrackedCamera, uint glTextureId);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _ReleaseVideoStreamTextureGL ReleaseVideoStreamTextureGL;
|
| +
|
| +}
|
| +
|
| +[StructLayout(LayoutKind.Sequential)]
|
| +public struct IVRApplications
|
| +{
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRApplicationError _AddApplicationManifest(string pchApplicationManifestFullPath, bool bTemporary);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _AddApplicationManifest AddApplicationManifest;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRApplicationError _RemoveApplicationManifest(string pchApplicationManifestFullPath);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _RemoveApplicationManifest RemoveApplicationManifest;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _IsApplicationInstalled(string pchAppKey);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _IsApplicationInstalled IsApplicationInstalled;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetApplicationCount();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetApplicationCount GetApplicationCount;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRApplicationError _GetApplicationKeyByIndex(uint unApplicationIndex, System.Text.StringBuilder pchAppKeyBuffer, uint unAppKeyBufferLen);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetApplicationKeyByIndex GetApplicationKeyByIndex;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRApplicationError _GetApplicationKeyByProcessId(uint unProcessId, string pchAppKeyBuffer, uint unAppKeyBufferLen);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetApplicationKeyByProcessId GetApplicationKeyByProcessId;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRApplicationError _LaunchApplication(string pchAppKey);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _LaunchApplication LaunchApplication;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRApplicationError _LaunchTemplateApplication(string pchTemplateAppKey, string pchNewAppKey, [In, Out] AppOverrideKeys_t[] pKeys, uint unKeys);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _LaunchTemplateApplication LaunchTemplateApplication;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRApplicationError _LaunchApplicationFromMimeType(string pchMimeType, string pchArgs);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _LaunchApplicationFromMimeType LaunchApplicationFromMimeType;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRApplicationError _LaunchDashboardOverlay(string pchAppKey);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _LaunchDashboardOverlay LaunchDashboardOverlay;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _CancelApplicationLaunch(string pchAppKey);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _CancelApplicationLaunch CancelApplicationLaunch;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRApplicationError _IdentifyApplication(uint unProcessId, string pchAppKey);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _IdentifyApplication IdentifyApplication;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetApplicationProcessId(string pchAppKey);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetApplicationProcessId GetApplicationProcessId;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate IntPtr _GetApplicationsErrorNameFromEnum(EVRApplicationError error);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetApplicationsErrorNameFromEnum GetApplicationsErrorNameFromEnum;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetApplicationPropertyString(string pchAppKey, EVRApplicationProperty eProperty, System.Text.StringBuilder pchPropertyValueBuffer, uint unPropertyValueBufferLen, ref EVRApplicationError peError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetApplicationPropertyString GetApplicationPropertyString;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _GetApplicationPropertyBool(string pchAppKey, EVRApplicationProperty eProperty, ref EVRApplicationError peError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetApplicationPropertyBool GetApplicationPropertyBool;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate ulong _GetApplicationPropertyUint64(string pchAppKey, EVRApplicationProperty eProperty, ref EVRApplicationError peError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetApplicationPropertyUint64 GetApplicationPropertyUint64;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRApplicationError _SetApplicationAutoLaunch(string pchAppKey, bool bAutoLaunch);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetApplicationAutoLaunch SetApplicationAutoLaunch;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _GetApplicationAutoLaunch(string pchAppKey);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetApplicationAutoLaunch GetApplicationAutoLaunch;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRApplicationError _SetDefaultApplicationForMimeType(string pchAppKey, string pchMimeType);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetDefaultApplicationForMimeType SetDefaultApplicationForMimeType;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _GetDefaultApplicationForMimeType(string pchMimeType, string pchAppKeyBuffer, uint unAppKeyBufferLen);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetDefaultApplicationForMimeType GetDefaultApplicationForMimeType;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _GetApplicationSupportedMimeTypes(string pchAppKey, string pchMimeTypesBuffer, uint unMimeTypesBuffer);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetApplicationSupportedMimeTypes GetApplicationSupportedMimeTypes;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetApplicationsThatSupportMimeType(string pchMimeType, string pchAppKeysThatSupportBuffer, uint unAppKeysThatSupportBuffer);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetApplicationsThatSupportMimeType GetApplicationsThatSupportMimeType;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetApplicationLaunchArguments(uint unHandle, string pchArgs, uint unArgs);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetApplicationLaunchArguments GetApplicationLaunchArguments;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRApplicationError _GetStartingApplication(string pchAppKeyBuffer, uint unAppKeyBufferLen);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetStartingApplication GetStartingApplication;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRApplicationTransitionState _GetTransitionState();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetTransitionState GetTransitionState;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRApplicationError _PerformApplicationPrelaunchCheck(string pchAppKey);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _PerformApplicationPrelaunchCheck PerformApplicationPrelaunchCheck;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate IntPtr _GetApplicationsTransitionStateNameFromEnum(EVRApplicationTransitionState state);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetApplicationsTransitionStateNameFromEnum GetApplicationsTransitionStateNameFromEnum;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _IsQuitUserPromptRequested();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _IsQuitUserPromptRequested IsQuitUserPromptRequested;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRApplicationError _LaunchInternalProcess(string pchBinaryPath, string pchArguments, string pchWorkingDirectory);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _LaunchInternalProcess LaunchInternalProcess;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetCurrentSceneProcessId();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetCurrentSceneProcessId GetCurrentSceneProcessId;
|
| +
|
| +}
|
| +
|
| +[StructLayout(LayoutKind.Sequential)]
|
| +public struct IVRChaperone
|
| +{
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate ChaperoneCalibrationState _GetCalibrationState();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetCalibrationState GetCalibrationState;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _GetPlayAreaSize(ref float pSizeX, ref float pSizeZ);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetPlayAreaSize GetPlayAreaSize;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _GetPlayAreaRect(ref HmdQuad_t rect);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetPlayAreaRect GetPlayAreaRect;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _ReloadInfo();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _ReloadInfo ReloadInfo;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _SetSceneColor(HmdColor_t color);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetSceneColor SetSceneColor;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _GetBoundsColor(ref HmdColor_t pOutputColorArray, int nNumOutputColors, float flCollisionBoundsFadeDistance, ref HmdColor_t pOutputCameraColor);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetBoundsColor GetBoundsColor;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _AreBoundsVisible();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _AreBoundsVisible AreBoundsVisible;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _ForceBoundsVisible(bool bForce);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _ForceBoundsVisible ForceBoundsVisible;
|
| +
|
| +}
|
| +
|
| +[StructLayout(LayoutKind.Sequential)]
|
| +public struct IVRChaperoneSetup
|
| +{
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _CommitWorkingCopy(EChaperoneConfigFile configFile);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _CommitWorkingCopy CommitWorkingCopy;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _RevertWorkingCopy();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _RevertWorkingCopy RevertWorkingCopy;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _GetWorkingPlayAreaSize(ref float pSizeX, ref float pSizeZ);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetWorkingPlayAreaSize GetWorkingPlayAreaSize;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _GetWorkingPlayAreaRect(ref HmdQuad_t rect);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetWorkingPlayAreaRect GetWorkingPlayAreaRect;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _GetWorkingCollisionBoundsInfo([In, Out] HmdQuad_t[] pQuadsBuffer, ref uint punQuadsCount);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetWorkingCollisionBoundsInfo GetWorkingCollisionBoundsInfo;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _GetLiveCollisionBoundsInfo([In, Out] HmdQuad_t[] pQuadsBuffer, ref uint punQuadsCount);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetLiveCollisionBoundsInfo GetLiveCollisionBoundsInfo;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _GetWorkingSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetWorkingSeatedZeroPoseToRawTrackingPose GetWorkingSeatedZeroPoseToRawTrackingPose;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _GetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatStandingZeroPoseToRawTrackingPose);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetWorkingStandingZeroPoseToRawTrackingPose GetWorkingStandingZeroPoseToRawTrackingPose;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _SetWorkingPlayAreaSize(float sizeX, float sizeZ);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetWorkingPlayAreaSize SetWorkingPlayAreaSize;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _SetWorkingCollisionBoundsInfo([In, Out] HmdQuad_t[] pQuadsBuffer, uint unQuadsCount);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetWorkingCollisionBoundsInfo SetWorkingCollisionBoundsInfo;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _SetWorkingSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatSeatedZeroPoseToRawTrackingPose);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetWorkingSeatedZeroPoseToRawTrackingPose SetWorkingSeatedZeroPoseToRawTrackingPose;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _SetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetWorkingStandingZeroPoseToRawTrackingPose SetWorkingStandingZeroPoseToRawTrackingPose;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _ReloadFromDisk(EChaperoneConfigFile configFile);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _ReloadFromDisk ReloadFromDisk;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _GetLiveSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetLiveSeatedZeroPoseToRawTrackingPose GetLiveSeatedZeroPoseToRawTrackingPose;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _SetWorkingCollisionBoundsTagsInfo([In, Out] byte[] pTagsBuffer, uint unTagCount);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetWorkingCollisionBoundsTagsInfo SetWorkingCollisionBoundsTagsInfo;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _GetLiveCollisionBoundsTagsInfo([In, Out] byte[] pTagsBuffer, ref uint punTagCount);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetLiveCollisionBoundsTagsInfo GetLiveCollisionBoundsTagsInfo;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _SetWorkingPhysicalBoundsInfo([In, Out] HmdQuad_t[] pQuadsBuffer, uint unQuadsCount);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetWorkingPhysicalBoundsInfo SetWorkingPhysicalBoundsInfo;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _GetLivePhysicalBoundsInfo([In, Out] HmdQuad_t[] pQuadsBuffer, ref uint punQuadsCount);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetLivePhysicalBoundsInfo GetLivePhysicalBoundsInfo;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _ExportLiveToBuffer(System.Text.StringBuilder pBuffer, ref uint pnBufferLength);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _ExportLiveToBuffer ExportLiveToBuffer;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _ImportFromBufferToWorking(string pBuffer, uint nImportFlags);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _ImportFromBufferToWorking ImportFromBufferToWorking;
|
| +
|
| +}
|
| +
|
| +[StructLayout(LayoutKind.Sequential)]
|
| +public struct IVRCompositor
|
| +{
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _SetTrackingSpace(ETrackingUniverseOrigin eOrigin);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetTrackingSpace SetTrackingSpace;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate ETrackingUniverseOrigin _GetTrackingSpace();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetTrackingSpace GetTrackingSpace;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRCompositorError _WaitGetPoses([In, Out] TrackedDevicePose_t[] pRenderPoseArray, uint unRenderPoseArrayCount, [In, Out] TrackedDevicePose_t[] pGamePoseArray, uint unGamePoseArrayCount);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _WaitGetPoses WaitGetPoses;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRCompositorError _GetLastPoses([In, Out] TrackedDevicePose_t[] pRenderPoseArray, uint unRenderPoseArrayCount, [In, Out] TrackedDevicePose_t[] pGamePoseArray, uint unGamePoseArrayCount);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetLastPoses GetLastPoses;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRCompositorError _GetLastPoseForTrackedDeviceIndex(uint unDeviceIndex, ref TrackedDevicePose_t pOutputPose, ref TrackedDevicePose_t pOutputGamePose);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetLastPoseForTrackedDeviceIndex GetLastPoseForTrackedDeviceIndex;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRCompositorError _Submit(EVREye eEye, ref Texture_t pTexture, ref VRTextureBounds_t pBounds, EVRSubmitFlags nSubmitFlags);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _Submit Submit;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _ClearLastSubmittedFrame();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _ClearLastSubmittedFrame ClearLastSubmittedFrame;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _PostPresentHandoff();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _PostPresentHandoff PostPresentHandoff;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _GetFrameTiming(ref Compositor_FrameTiming pTiming, uint unFramesAgo);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetFrameTiming GetFrameTiming;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetFrameTimings(ref Compositor_FrameTiming pTiming, uint nFrames);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetFrameTimings GetFrameTimings;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate float _GetFrameTimeRemaining();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetFrameTimeRemaining GetFrameTimeRemaining;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _GetCumulativeStats(ref Compositor_CumulativeStats pStats, uint nStatsSizeInBytes);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetCumulativeStats GetCumulativeStats;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _FadeToColor(float fSeconds, float fRed, float fGreen, float fBlue, float fAlpha, bool bBackground);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _FadeToColor FadeToColor;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate HmdColor_t _GetCurrentFadeColor(bool bBackground);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetCurrentFadeColor GetCurrentFadeColor;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _FadeGrid(float fSeconds, bool bFadeIn);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _FadeGrid FadeGrid;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate float _GetCurrentGridAlpha();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetCurrentGridAlpha GetCurrentGridAlpha;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRCompositorError _SetSkyboxOverride([In, Out] Texture_t[] pTextures, uint unTextureCount);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetSkyboxOverride SetSkyboxOverride;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _ClearSkyboxOverride();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _ClearSkyboxOverride ClearSkyboxOverride;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _CompositorBringToFront();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _CompositorBringToFront CompositorBringToFront;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _CompositorGoToBack();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _CompositorGoToBack CompositorGoToBack;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _CompositorQuit();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _CompositorQuit CompositorQuit;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _IsFullscreen();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _IsFullscreen IsFullscreen;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetCurrentSceneFocusProcess();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetCurrentSceneFocusProcess GetCurrentSceneFocusProcess;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetLastFrameRenderer();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetLastFrameRenderer GetLastFrameRenderer;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _CanRenderScene();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _CanRenderScene CanRenderScene;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _ShowMirrorWindow();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _ShowMirrorWindow ShowMirrorWindow;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _HideMirrorWindow();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _HideMirrorWindow HideMirrorWindow;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _IsMirrorWindowVisible();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _IsMirrorWindowVisible IsMirrorWindowVisible;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _CompositorDumpImages();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _CompositorDumpImages CompositorDumpImages;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _ShouldAppRenderWithLowResources();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _ShouldAppRenderWithLowResources ShouldAppRenderWithLowResources;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _ForceInterleavedReprojectionOn(bool bOverride);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _ForceInterleavedReprojectionOn ForceInterleavedReprojectionOn;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _ForceReconnectProcess();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _ForceReconnectProcess ForceReconnectProcess;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _SuspendRendering(bool bSuspend);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SuspendRendering SuspendRendering;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRCompositorError _GetMirrorTextureD3D11(EVREye eEye, IntPtr pD3D11DeviceOrResource, ref IntPtr ppD3D11ShaderResourceView);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetMirrorTextureD3D11 GetMirrorTextureD3D11;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _ReleaseMirrorTextureD3D11(IntPtr pD3D11ShaderResourceView);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _ReleaseMirrorTextureD3D11 ReleaseMirrorTextureD3D11;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRCompositorError _GetMirrorTextureGL(EVREye eEye, ref uint pglTextureId, IntPtr pglSharedTextureHandle);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetMirrorTextureGL GetMirrorTextureGL;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _ReleaseSharedGLTexture(uint glTextureId, IntPtr glSharedTextureHandle);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _ReleaseSharedGLTexture ReleaseSharedGLTexture;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _LockGLSharedTextureForAccess(IntPtr glSharedTextureHandle);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _LockGLSharedTextureForAccess LockGLSharedTextureForAccess;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _UnlockGLSharedTextureForAccess(IntPtr glSharedTextureHandle);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _UnlockGLSharedTextureForAccess UnlockGLSharedTextureForAccess;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetVulkanInstanceExtensionsRequired(System.Text.StringBuilder pchValue, uint unBufferSize);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetVulkanInstanceExtensionsRequired GetVulkanInstanceExtensionsRequired;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetVulkanDeviceExtensionsRequired(IntPtr pPhysicalDevice, System.Text.StringBuilder pchValue, uint unBufferSize);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetVulkanDeviceExtensionsRequired GetVulkanDeviceExtensionsRequired;
|
| +
|
| +}
|
| +
|
| +[StructLayout(LayoutKind.Sequential)]
|
| +public struct IVROverlay
|
| +{
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _FindOverlay(string pchOverlayKey, ref ulong pOverlayHandle);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _FindOverlay FindOverlay;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _CreateOverlay(string pchOverlayKey, string pchOverlayFriendlyName, ref ulong pOverlayHandle);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _CreateOverlay CreateOverlay;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _DestroyOverlay(ulong ulOverlayHandle);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _DestroyOverlay DestroyOverlay;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _SetHighQualityOverlay(ulong ulOverlayHandle);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetHighQualityOverlay SetHighQualityOverlay;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate ulong _GetHighQualityOverlay();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetHighQualityOverlay GetHighQualityOverlay;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetOverlayKey(ulong ulOverlayHandle, System.Text.StringBuilder pchValue, uint unBufferSize, ref EVROverlayError pError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetOverlayKey GetOverlayKey;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetOverlayName(ulong ulOverlayHandle, System.Text.StringBuilder pchValue, uint unBufferSize, ref EVROverlayError pError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetOverlayName GetOverlayName;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _GetOverlayImageData(ulong ulOverlayHandle, IntPtr pvBuffer, uint unBufferSize, ref uint punWidth, ref uint punHeight);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetOverlayImageData GetOverlayImageData;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate IntPtr _GetOverlayErrorNameFromEnum(EVROverlayError error);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetOverlayErrorNameFromEnum GetOverlayErrorNameFromEnum;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _SetOverlayRenderingPid(ulong ulOverlayHandle, uint unPID);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetOverlayRenderingPid SetOverlayRenderingPid;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetOverlayRenderingPid(ulong ulOverlayHandle);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetOverlayRenderingPid GetOverlayRenderingPid;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _SetOverlayFlag(ulong ulOverlayHandle, VROverlayFlags eOverlayFlag, bool bEnabled);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetOverlayFlag SetOverlayFlag;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _GetOverlayFlag(ulong ulOverlayHandle, VROverlayFlags eOverlayFlag, ref bool pbEnabled);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetOverlayFlag GetOverlayFlag;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _SetOverlayColor(ulong ulOverlayHandle, float fRed, float fGreen, float fBlue);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetOverlayColor SetOverlayColor;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _GetOverlayColor(ulong ulOverlayHandle, ref float pfRed, ref float pfGreen, ref float pfBlue);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetOverlayColor GetOverlayColor;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _SetOverlayAlpha(ulong ulOverlayHandle, float fAlpha);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetOverlayAlpha SetOverlayAlpha;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _GetOverlayAlpha(ulong ulOverlayHandle, ref float pfAlpha);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetOverlayAlpha GetOverlayAlpha;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _SetOverlayTexelAspect(ulong ulOverlayHandle, float fTexelAspect);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetOverlayTexelAspect SetOverlayTexelAspect;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _GetOverlayTexelAspect(ulong ulOverlayHandle, ref float pfTexelAspect);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetOverlayTexelAspect GetOverlayTexelAspect;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _SetOverlaySortOrder(ulong ulOverlayHandle, uint unSortOrder);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetOverlaySortOrder SetOverlaySortOrder;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _GetOverlaySortOrder(ulong ulOverlayHandle, ref uint punSortOrder);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetOverlaySortOrder GetOverlaySortOrder;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _SetOverlayWidthInMeters(ulong ulOverlayHandle, float fWidthInMeters);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetOverlayWidthInMeters SetOverlayWidthInMeters;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _GetOverlayWidthInMeters(ulong ulOverlayHandle, ref float pfWidthInMeters);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetOverlayWidthInMeters GetOverlayWidthInMeters;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _SetOverlayAutoCurveDistanceRangeInMeters(ulong ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetOverlayAutoCurveDistanceRangeInMeters SetOverlayAutoCurveDistanceRangeInMeters;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _GetOverlayAutoCurveDistanceRangeInMeters(ulong ulOverlayHandle, ref float pfMinDistanceInMeters, ref float pfMaxDistanceInMeters);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetOverlayAutoCurveDistanceRangeInMeters GetOverlayAutoCurveDistanceRangeInMeters;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _SetOverlayTextureColorSpace(ulong ulOverlayHandle, EColorSpace eTextureColorSpace);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetOverlayTextureColorSpace SetOverlayTextureColorSpace;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _GetOverlayTextureColorSpace(ulong ulOverlayHandle, ref EColorSpace peTextureColorSpace);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetOverlayTextureColorSpace GetOverlayTextureColorSpace;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _SetOverlayTextureBounds(ulong ulOverlayHandle, ref VRTextureBounds_t pOverlayTextureBounds);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetOverlayTextureBounds SetOverlayTextureBounds;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _GetOverlayTextureBounds(ulong ulOverlayHandle, ref VRTextureBounds_t pOverlayTextureBounds);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetOverlayTextureBounds GetOverlayTextureBounds;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _GetOverlayTransformType(ulong ulOverlayHandle, ref VROverlayTransformType peTransformType);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetOverlayTransformType GetOverlayTransformType;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _SetOverlayTransformAbsolute(ulong ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetOverlayTransformAbsolute SetOverlayTransformAbsolute;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _GetOverlayTransformAbsolute(ulong ulOverlayHandle, ref ETrackingUniverseOrigin peTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetOverlayTransformAbsolute GetOverlayTransformAbsolute;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _SetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle, uint unTrackedDevice, ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetOverlayTransformTrackedDeviceRelative SetOverlayTransformTrackedDeviceRelative;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _GetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle, ref uint punTrackedDevice, ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetOverlayTransformTrackedDeviceRelative GetOverlayTransformTrackedDeviceRelative;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _SetOverlayTransformTrackedDeviceComponent(ulong ulOverlayHandle, uint unDeviceIndex, string pchComponentName);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetOverlayTransformTrackedDeviceComponent SetOverlayTransformTrackedDeviceComponent;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _GetOverlayTransformTrackedDeviceComponent(ulong ulOverlayHandle, ref uint punDeviceIndex, string pchComponentName, uint unComponentNameSize);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetOverlayTransformTrackedDeviceComponent GetOverlayTransformTrackedDeviceComponent;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _ShowOverlay(ulong ulOverlayHandle);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _ShowOverlay ShowOverlay;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _HideOverlay(ulong ulOverlayHandle);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _HideOverlay HideOverlay;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _IsOverlayVisible(ulong ulOverlayHandle);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _IsOverlayVisible IsOverlayVisible;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _GetTransformForOverlayCoordinates(ulong ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, HmdVector2_t coordinatesInOverlay, ref HmdMatrix34_t pmatTransform);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetTransformForOverlayCoordinates GetTransformForOverlayCoordinates;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _PollNextOverlayEvent(ulong ulOverlayHandle, ref VREvent_t pEvent, uint uncbVREvent);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _PollNextOverlayEvent PollNextOverlayEvent;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _GetOverlayInputMethod(ulong ulOverlayHandle, ref VROverlayInputMethod peInputMethod);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetOverlayInputMethod GetOverlayInputMethod;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _SetOverlayInputMethod(ulong ulOverlayHandle, VROverlayInputMethod eInputMethod);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetOverlayInputMethod SetOverlayInputMethod;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _GetOverlayMouseScale(ulong ulOverlayHandle, ref HmdVector2_t pvecMouseScale);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetOverlayMouseScale GetOverlayMouseScale;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _SetOverlayMouseScale(ulong ulOverlayHandle, ref HmdVector2_t pvecMouseScale);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetOverlayMouseScale SetOverlayMouseScale;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _ComputeOverlayIntersection(ulong ulOverlayHandle, ref VROverlayIntersectionParams_t pParams, ref VROverlayIntersectionResults_t pResults);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _ComputeOverlayIntersection ComputeOverlayIntersection;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _HandleControllerOverlayInteractionAsMouse(ulong ulOverlayHandle, uint unControllerDeviceIndex);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _HandleControllerOverlayInteractionAsMouse HandleControllerOverlayInteractionAsMouse;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _IsHoverTargetOverlay(ulong ulOverlayHandle);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _IsHoverTargetOverlay IsHoverTargetOverlay;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate ulong _GetGamepadFocusOverlay();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetGamepadFocusOverlay GetGamepadFocusOverlay;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _SetGamepadFocusOverlay(ulong ulNewFocusOverlay);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetGamepadFocusOverlay SetGamepadFocusOverlay;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _SetOverlayNeighbor(EOverlayDirection eDirection, ulong ulFrom, ulong ulTo);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetOverlayNeighbor SetOverlayNeighbor;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _MoveGamepadFocusToNeighbor(EOverlayDirection eDirection, ulong ulFrom);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _MoveGamepadFocusToNeighbor MoveGamepadFocusToNeighbor;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _SetOverlayTexture(ulong ulOverlayHandle, ref Texture_t pTexture);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetOverlayTexture SetOverlayTexture;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _ClearOverlayTexture(ulong ulOverlayHandle);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _ClearOverlayTexture ClearOverlayTexture;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _SetOverlayRaw(ulong ulOverlayHandle, IntPtr pvBuffer, uint unWidth, uint unHeight, uint unDepth);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetOverlayRaw SetOverlayRaw;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _SetOverlayFromFile(ulong ulOverlayHandle, string pchFilePath);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetOverlayFromFile SetOverlayFromFile;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _GetOverlayTexture(ulong ulOverlayHandle, ref IntPtr pNativeTextureHandle, IntPtr pNativeTextureRef, ref uint pWidth, ref uint pHeight, ref uint pNativeFormat, ref ETextureType pAPIType, ref EColorSpace pColorSpace, ref VRTextureBounds_t pTextureBounds);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetOverlayTexture GetOverlayTexture;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _ReleaseNativeOverlayHandle(ulong ulOverlayHandle, IntPtr pNativeTextureHandle);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _ReleaseNativeOverlayHandle ReleaseNativeOverlayHandle;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _GetOverlayTextureSize(ulong ulOverlayHandle, ref uint pWidth, ref uint pHeight);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetOverlayTextureSize GetOverlayTextureSize;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _CreateDashboardOverlay(string pchOverlayKey, string pchOverlayFriendlyName, ref ulong pMainHandle, ref ulong pThumbnailHandle);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _CreateDashboardOverlay CreateDashboardOverlay;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _IsDashboardVisible();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _IsDashboardVisible IsDashboardVisible;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _IsActiveDashboardOverlay(ulong ulOverlayHandle);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _IsActiveDashboardOverlay IsActiveDashboardOverlay;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _SetDashboardOverlaySceneProcess(ulong ulOverlayHandle, uint unProcessId);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetDashboardOverlaySceneProcess SetDashboardOverlaySceneProcess;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _GetDashboardOverlaySceneProcess(ulong ulOverlayHandle, ref uint punProcessId);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetDashboardOverlaySceneProcess GetDashboardOverlaySceneProcess;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _ShowDashboard(string pchOverlayToShow);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _ShowDashboard ShowDashboard;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetPrimaryDashboardDevice();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetPrimaryDashboardDevice GetPrimaryDashboardDevice;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _ShowKeyboard(int eInputMode, int eLineInputMode, string pchDescription, uint unCharMax, string pchExistingText, bool bUseMinimalMode, ulong uUserValue);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _ShowKeyboard ShowKeyboard;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _ShowKeyboardForOverlay(ulong ulOverlayHandle, int eInputMode, int eLineInputMode, string pchDescription, uint unCharMax, string pchExistingText, bool bUseMinimalMode, ulong uUserValue);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _ShowKeyboardForOverlay ShowKeyboardForOverlay;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetKeyboardText(System.Text.StringBuilder pchText, uint cchText);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetKeyboardText GetKeyboardText;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _HideKeyboard();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _HideKeyboard HideKeyboard;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _SetKeyboardTransformAbsolute(ETrackingUniverseOrigin eTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToKeyboardTransform);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetKeyboardTransformAbsolute SetKeyboardTransformAbsolute;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _SetKeyboardPositionForOverlay(ulong ulOverlayHandle, HmdRect2_t avoidRect);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetKeyboardPositionForOverlay SetKeyboardPositionForOverlay;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _SetOverlayIntersectionMask(ulong ulOverlayHandle, ref VROverlayIntersectionMaskPrimitive_t pMaskPrimitives, uint unNumMaskPrimitives, uint unPrimitiveSize);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetOverlayIntersectionMask SetOverlayIntersectionMask;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVROverlayError _GetOverlayFlags(ulong ulOverlayHandle, ref uint pFlags);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetOverlayFlags GetOverlayFlags;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate VRMessageOverlayResponse _ShowMessageOverlay(string pchText, string pchCaption, string pchButton0Text, string pchButton1Text, string pchButton2Text, string pchButton3Text);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _ShowMessageOverlay ShowMessageOverlay;
|
| +
|
| +}
|
| +
|
| +[StructLayout(LayoutKind.Sequential)]
|
| +public struct IVRRenderModels
|
| +{
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRRenderModelError _LoadRenderModel_Async(string pchRenderModelName, ref IntPtr ppRenderModel);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _LoadRenderModel_Async LoadRenderModel_Async;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _FreeRenderModel(IntPtr pRenderModel);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _FreeRenderModel FreeRenderModel;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRRenderModelError _LoadTexture_Async(int textureId, ref IntPtr ppTexture);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _LoadTexture_Async LoadTexture_Async;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _FreeTexture(IntPtr pTexture);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _FreeTexture FreeTexture;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRRenderModelError _LoadTextureD3D11_Async(int textureId, IntPtr pD3D11Device, ref IntPtr ppD3D11Texture2D);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _LoadTextureD3D11_Async LoadTextureD3D11_Async;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRRenderModelError _LoadIntoTextureD3D11_Async(int textureId, IntPtr pDstTexture);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _LoadIntoTextureD3D11_Async LoadIntoTextureD3D11_Async;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _FreeTextureD3D11(IntPtr pD3D11Texture2D);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _FreeTextureD3D11 FreeTextureD3D11;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetRenderModelName(uint unRenderModelIndex, System.Text.StringBuilder pchRenderModelName, uint unRenderModelNameLen);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetRenderModelName GetRenderModelName;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetRenderModelCount();
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetRenderModelCount GetRenderModelCount;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetComponentCount(string pchRenderModelName);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetComponentCount GetComponentCount;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetComponentName(string pchRenderModelName, uint unComponentIndex, System.Text.StringBuilder pchComponentName, uint unComponentNameLen);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetComponentName GetComponentName;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate ulong _GetComponentButtonMask(string pchRenderModelName, string pchComponentName);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetComponentButtonMask GetComponentButtonMask;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetComponentRenderModelName(string pchRenderModelName, string pchComponentName, System.Text.StringBuilder pchComponentRenderModelName, uint unComponentRenderModelNameLen);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetComponentRenderModelName GetComponentRenderModelName;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _GetComponentState(string pchRenderModelName, string pchComponentName, ref VRControllerState_t pControllerState, ref RenderModel_ControllerMode_State_t pState, ref RenderModel_ComponentState_t pComponentState);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetComponentState GetComponentState;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _RenderModelHasComponent(string pchRenderModelName, string pchComponentName);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _RenderModelHasComponent RenderModelHasComponent;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetRenderModelThumbnailURL(string pchRenderModelName, System.Text.StringBuilder pchThumbnailURL, uint unThumbnailURLLen, ref EVRRenderModelError peError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetRenderModelThumbnailURL GetRenderModelThumbnailURL;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetRenderModelOriginalPath(string pchRenderModelName, System.Text.StringBuilder pchOriginalPath, uint unOriginalPathLen, ref EVRRenderModelError peError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetRenderModelOriginalPath GetRenderModelOriginalPath;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate IntPtr _GetRenderModelErrorNameFromEnum(EVRRenderModelError error);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetRenderModelErrorNameFromEnum GetRenderModelErrorNameFromEnum;
|
| +
|
| +}
|
| +
|
| +[StructLayout(LayoutKind.Sequential)]
|
| +public struct IVRNotifications
|
| +{
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRNotificationError _CreateNotification(ulong ulOverlayHandle, ulong ulUserValue, EVRNotificationType type, string pchText, EVRNotificationStyle style, ref NotificationBitmap_t pImage, ref uint pNotificationId);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _CreateNotification CreateNotification;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRNotificationError _RemoveNotification(uint notificationId);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _RemoveNotification RemoveNotification;
|
| +
|
| +}
|
| +
|
| +[StructLayout(LayoutKind.Sequential)]
|
| +public struct IVRSettings
|
| +{
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate IntPtr _GetSettingsErrorNameFromEnum(EVRSettingsError eError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetSettingsErrorNameFromEnum GetSettingsErrorNameFromEnum;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _Sync(bool bForce, ref EVRSettingsError peError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _Sync Sync;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _SetBool(string pchSection, string pchSettingsKey, bool bValue, ref EVRSettingsError peError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetBool SetBool;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _SetInt32(string pchSection, string pchSettingsKey, int nValue, ref EVRSettingsError peError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetInt32 SetInt32;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _SetFloat(string pchSection, string pchSettingsKey, float flValue, ref EVRSettingsError peError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetFloat SetFloat;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _SetString(string pchSection, string pchSettingsKey, string pchValue, ref EVRSettingsError peError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SetString SetString;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _GetBool(string pchSection, string pchSettingsKey, ref EVRSettingsError peError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetBool GetBool;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate int _GetInt32(string pchSection, string pchSettingsKey, ref EVRSettingsError peError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetInt32 GetInt32;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate float _GetFloat(string pchSection, string pchSettingsKey, ref EVRSettingsError peError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetFloat GetFloat;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _GetString(string pchSection, string pchSettingsKey, System.Text.StringBuilder pchValue, uint unValueLen, ref EVRSettingsError peError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetString GetString;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _RemoveSection(string pchSection, ref EVRSettingsError peError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _RemoveSection RemoveSection;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate void _RemoveKeyInSection(string pchSection, string pchSettingsKey, ref EVRSettingsError peError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _RemoveKeyInSection RemoveKeyInSection;
|
| +
|
| +}
|
| +
|
| +[StructLayout(LayoutKind.Sequential)]
|
| +public struct IVRScreenshots
|
| +{
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRScreenshotError _RequestScreenshot(ref uint pOutScreenshotHandle, EVRScreenshotType type, string pchPreviewFilename, string pchVRFilename);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _RequestScreenshot RequestScreenshot;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRScreenshotError _HookScreenshot([In, Out] EVRScreenshotType[] pSupportedTypes, int numTypes);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _HookScreenshot HookScreenshot;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRScreenshotType _GetScreenshotPropertyType(uint screenshotHandle, ref EVRScreenshotError pError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetScreenshotPropertyType GetScreenshotPropertyType;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetScreenshotPropertyFilename(uint screenshotHandle, EVRScreenshotPropertyFilenames filenameType, System.Text.StringBuilder pchFilename, uint cchFilename, ref EVRScreenshotError pError);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetScreenshotPropertyFilename GetScreenshotPropertyFilename;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRScreenshotError _UpdateScreenshotProgress(uint screenshotHandle, float flProgress);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _UpdateScreenshotProgress UpdateScreenshotProgress;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRScreenshotError _TakeStereoScreenshot(ref uint pOutScreenshotHandle, string pchPreviewFilename, string pchVRFilename);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _TakeStereoScreenshot TakeStereoScreenshot;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate EVRScreenshotError _SubmitScreenshot(uint screenshotHandle, EVRScreenshotType type, string pchSourcePreviewFilename, string pchSourceVRFilename);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _SubmitScreenshot SubmitScreenshot;
|
| +
|
| +}
|
| +
|
| +[StructLayout(LayoutKind.Sequential)]
|
| +public struct IVRResources
|
| +{
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _LoadSharedResource(string pchResourceName, string pchBuffer, uint unBufferLen);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _LoadSharedResource LoadSharedResource;
|
| +
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate uint _GetResourceFullPath(string pchResourceName, string pchResourceTypeDirectory, string pchPathBuffer, uint unBufferLen);
|
| + [MarshalAs(UnmanagedType.FunctionPtr)]
|
| + internal _GetResourceFullPath GetResourceFullPath;
|
| +
|
| +}
|
| +
|
| +
|
| +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 bool IsDisplayOnDesktop()
|
| + {
|
| + bool result = FnTable.IsDisplayOnDesktop();
|
| + return result;
|
| + }
|
| + public bool SetDisplayVisibility(bool bIsVisibleOnDesktop)
|
| + {
|
| + bool result = FnTable.SetDisplayVisibility(bIsVisibleOnDesktop);
|
| + return result;
|
| + }
|
| + public void GetDeviceToAbsoluteTrackingPose(ETrackingUniverseOrigin eOrigin,float fPredictedSecondsToPhotonsFromNow,TrackedDevicePose_t [] pTrackedDevicePoseArray)
|
| + {
|
| + FnTable.GetDeviceToAbsoluteTrackingPose(eOrigin,fPredictedSecondsToPhotonsFromNow,pTrackedDevicePoseArray,(uint) pTrackedDevicePoseArray.Length);
|
| + }
|
| + public void ResetSeatedZeroPose()
|
| + {
|
| + FnTable.ResetSeatedZeroPose();
|
| + }
|
| + public HmdMatrix34_t GetSeatedZeroPoseToStandingAbsoluteTrackingPose()
|
| + {
|
| + HmdMatrix34_t result = FnTable.GetSeatedZeroPoseToStandingAbsoluteTrackingPose();
|
| + return result;
|
| + }
|
| + public HmdMatrix34_t GetRawZeroPoseToStandingAbsoluteTrackingPose()
|
| + {
|
| + HmdMatrix34_t result = FnTable.GetRawZeroPoseToStandingAbsoluteTrackingPose();
|
| + return result;
|
| + }
|
| + public uint GetSortedTrackedDeviceIndicesOfClass(ETrackedDeviceClass eTrackedDeviceClass,uint [] punTrackedDeviceIndexArray,uint unRelativeToTrackedDeviceIndex)
|
| + {
|
| + uint result = FnTable.GetSortedTrackedDeviceIndicesOfClass(eTrackedDeviceClass,punTrackedDeviceIndexArray,(uint) punTrackedDeviceIndexArray.Length,unRelativeToTrackedDeviceIndex);
|
| + return result;
|
| + }
|
| + public EDeviceActivityLevel GetTrackedDeviceActivityLevel(uint unDeviceId)
|
| + {
|
| + EDeviceActivityLevel result = FnTable.GetTrackedDeviceActivityLevel(unDeviceId);
|
| + return result;
|
| + }
|
| + public void ApplyTransform(ref TrackedDevicePose_t pOutputPose,ref TrackedDevicePose_t pTrackedDevicePose,ref HmdMatrix34_t pTransform)
|
| + {
|
| + FnTable.ApplyTransform(ref pOutputPose,ref pTrackedDevicePose,ref pTransform);
|
| + }
|
| + public uint GetTrackedDeviceIndexForControllerRole(ETrackedControllerRole unDeviceType)
|
| + {
|
| + uint result = FnTable.GetTrackedDeviceIndexForControllerRole(unDeviceType);
|
| + return result;
|
| + }
|
| + public ETrackedControllerRole GetControllerRoleForTrackedDeviceIndex(uint unDeviceIndex)
|
| + {
|
| + ETrackedControllerRole result = FnTable.GetControllerRoleForTrackedDeviceIndex(unDeviceIndex);
|
| + return result;
|
| + }
|
| + public ETrackedDeviceClass GetTrackedDeviceClass(uint unDeviceIndex)
|
| + {
|
| + ETrackedDeviceClass result = FnTable.GetTrackedDeviceClass(unDeviceIndex);
|
| + return result;
|
| + }
|
| + public bool IsTrackedDeviceConnected(uint unDeviceIndex)
|
| + {
|
| + bool result = FnTable.IsTrackedDeviceConnected(unDeviceIndex);
|
| + return result;
|
| + }
|
| + public bool GetBoolTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError)
|
| + {
|
| + bool result = FnTable.GetBoolTrackedDeviceProperty(unDeviceIndex,prop,ref pError);
|
| + return result;
|
| + }
|
| + public float GetFloatTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError)
|
| + {
|
| + float result = FnTable.GetFloatTrackedDeviceProperty(unDeviceIndex,prop,ref pError);
|
| + return result;
|
| + }
|
| + public int GetInt32TrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError)
|
| + {
|
| + int result = FnTable.GetInt32TrackedDeviceProperty(unDeviceIndex,prop,ref pError);
|
| + return result;
|
| + }
|
| + public ulong GetUint64TrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError)
|
| + {
|
| + ulong result = FnTable.GetUint64TrackedDeviceProperty(unDeviceIndex,prop,ref pError);
|
| + return result;
|
| + }
|
| + public HmdMatrix34_t GetMatrix34TrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError)
|
| + {
|
| + HmdMatrix34_t result = FnTable.GetMatrix34TrackedDeviceProperty(unDeviceIndex,prop,ref pError);
|
| + return result;
|
| + }
|
| + public uint GetStringTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,System.Text.StringBuilder pchValue,uint unBufferSize,ref ETrackedPropertyError pError)
|
| + {
|
| + uint result = FnTable.GetStringTrackedDeviceProperty(unDeviceIndex,prop,pchValue,unBufferSize,ref pError);
|
| + return result;
|
| + }
|
| + public string GetPropErrorNameFromEnum(ETrackedPropertyError error)
|
| + {
|
| + IntPtr result = FnTable.GetPropErrorNameFromEnum(error);
|
| + return Marshal.PtrToStringAnsi(result);
|
| + }
|
| + public bool PollNextEvent(ref VREvent_t pEvent,uint uncbVREvent)
|
| + {
|
| + 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 was
|
| +// 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 ((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();
|
| + 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;
|
| + }
|
| + bool result = FnTable.GetControllerState(unControllerDeviceIndex,ref pControllerState,unControllerStateSize);
|
| + return result;
|
| + }
|
| +// This is a terrible hack to workaround the fact that VRControllerState_t was
|
| +// 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 ((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();
|
| + 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;
|
| + }
|
| + bool result = FnTable.GetControllerStateWithPose(eOrigin,unControllerDeviceIndex,ref pControllerState,unControllerStateSize,ref pTrackedDevicePose);
|
| + return result;
|
| + }
|
| + public void TriggerHapticPulse(uint unControllerDeviceIndex,uint unAxisId,char usDurationMicroSec)
|
| + {
|
| + FnTable.TriggerHapticPulse(unControllerDeviceIndex,unAxisId,usDurationMicroSec);
|
| + }
|
| + public string GetButtonIdNameFromEnum(EVRButtonId eButtonId)
|
| + {
|
| + IntPtr result = FnTable.GetButtonIdNameFromEnum(eButtonId);
|
| + return Marshal.PtrToStringAnsi(result);
|
| + }
|
| + public string GetControllerAxisTypeNameFromEnum(EVRControllerAxisType eAxisType)
|
| + {
|
| + IntPtr result = FnTable.GetControllerAxisTypeNameFromEnum(eAxisType);
|
| + return Marshal.PtrToStringAnsi(result);
|
| + }
|
| + public bool CaptureInputFocus()
|
| + {
|
| + bool result = FnTable.CaptureInputFocus();
|
| + return result;
|
| + }
|
| + public void ReleaseInputFocus()
|
| + {
|
| + FnTable.ReleaseInputFocus();
|
| + }
|
| + public bool IsInputFocusCapturedByAnotherProcess()
|
| + {
|
| + bool result = FnTable.IsInputFocusCapturedByAnotherProcess();
|
| + return result;
|
| + }
|
| + public uint DriverDebugRequest(uint unDeviceIndex,string pchRequest,string pchResponseBuffer,uint unResponseBufferSize)
|
| + {
|
| + uint result = FnTable.DriverDebugRequest(unDeviceIndex,pchRequest,pchResponseBuffer,unResponseBufferSize);
|
| + return result;
|
| + }
|
| + public EVRFirmwareError PerformFirmwareUpdate(uint unDeviceIndex)
|
| + {
|
| + EVRFirmwareError result = FnTable.PerformFirmwareUpdate(unDeviceIndex);
|
| + return result;
|
| + }
|
| + public void AcknowledgeQuit_Exiting()
|
| + {
|
| + FnTable.AcknowledgeQuit_Exiting();
|
| + }
|
| + public void AcknowledgeQuit_UserPrompt()
|
| + {
|
| + FnTable.AcknowledgeQuit_UserPrompt();
|
| + }
|
| +}
|
| +
|
| +
|
| +public class CVRExtendedDisplay
|
| +{
|
| + IVRExtendedDisplay FnTable;
|
| + internal CVRExtendedDisplay(IntPtr pInterface)
|
| + {
|
| + FnTable = (IVRExtendedDisplay)Marshal.PtrToStructure(pInterface, typeof(IVRExtendedDisplay));
|
| + }
|
| + public void GetWindowBounds(ref int pnX,ref int pnY,ref uint pnWidth,ref uint pnHeight)
|
| + {
|
| + pnX = 0;
|
| + pnY = 0;
|
| + pnWidth = 0;
|
| + pnHeight = 0;
|
| + FnTable.GetWindowBounds(ref pnX,ref pnY,ref pnWidth,ref pnHeight);
|
| + }
|
| + public void GetEyeOutputViewport(EVREye eEye,ref uint pnX,ref uint pnY,ref uint pnWidth,ref uint pnHeight)
|
| + {
|
| + pnX = 0;
|
| + pnY = 0;
|
| + pnWidth = 0;
|
| + pnHeight = 0;
|
| + FnTable.GetEyeOutputViewport(eEye,ref pnX,ref pnY,ref pnWidth,ref pnHeight);
|
| + }
|
| + public void GetDXGIOutputInfo(ref int pnAdapterIndex,ref int pnAdapterOutputIndex)
|
| + {
|
| + pnAdapterIndex = 0;
|
| + pnAdapterOutputIndex = 0;
|
| + FnTable.GetDXGIOutputInfo(ref pnAdapterIndex,ref pnAdapterOutputIndex);
|
| + }
|
| +}
|
| +
|
| +
|
| +public class CVRTrackedCamera
|
| +{
|
| + IVRTrackedCamera FnTable;
|
| + internal CVRTrackedCamera(IntPtr pInterface)
|
| + {
|
| + FnTable = (IVRTrackedCamera)Marshal.PtrToStructure(pInterface, typeof(IVRTrackedCamera));
|
| + }
|
| + public string GetCameraErrorNameFromEnum(EVRTrackedCameraError eCameraError)
|
| + {
|
| + IntPtr result = FnTable.GetCameraErrorNameFromEnum(eCameraError);
|
| + return Marshal.PtrToStringAnsi(result);
|
| + }
|
| + public EVRTrackedCameraError HasCamera(uint nDeviceIndex,ref bool pHasCamera)
|
| + {
|
| + pHasCamera = false;
|
| + EVRTrackedCameraError result = FnTable.HasCamera(nDeviceIndex,ref pHasCamera);
|
| + return result;
|
| + }
|
| + public EVRTrackedCameraError GetCameraFrameSize(uint nDeviceIndex,EVRTrackedCameraFrameType eFrameType,ref uint pnWidth,ref uint pnHeight,ref uint pnFrameBufferSize)
|
| + {
|
| + pnWidth = 0;
|
| + pnHeight = 0;
|
| + pnFrameBufferSize = 0;
|
| + EVRTrackedCameraError result = FnTable.GetCameraFrameSize(nDeviceIndex,eFrameType,ref pnWidth,ref pnHeight,ref pnFrameBufferSize);
|
| + return result;
|
| + }
|
| + public EVRTrackedCameraError GetCameraIntrinsics(uint nDeviceIndex,EVRTrackedCameraFrameType eFrameType,ref HmdVector2_t pFocalLength,ref HmdVector2_t pCenter)
|
| + {
|
| + EVRTrackedCameraError result = FnTable.GetCameraIntrinsics(nDeviceIndex,eFrameType,ref pFocalLength,ref pCenter);
|
| + return result;
|
| + }
|
| + public EVRTrackedCameraError GetCameraProjection(uint nDeviceIndex,EVRTrackedCameraFrameType eFrameType,float flZNear,float flZFar,ref HmdMatrix44_t pProjection)
|
| + {
|
| + EVRTrackedCameraError result = FnTable.GetCameraProjection(nDeviceIndex,eFrameType,flZNear,flZFar,ref pProjection);
|
| + return result;
|
| + }
|
| + public EVRTrackedCameraError AcquireVideoStreamingService(uint nDeviceIndex,ref ulong pHandle)
|
| + {
|
| + pHandle = 0;
|
| + EVRTrackedCameraError result = FnTable.AcquireVideoStreamingService(nDeviceIndex,ref pHandle);
|
| + return result;
|
| + }
|
| + public EVRTrackedCameraError ReleaseVideoStreamingService(ulong hTrackedCamera)
|
| + {
|
| + EVRTrackedCameraError result = FnTable.ReleaseVideoStreamingService(hTrackedCamera);
|
| + return result;
|
| + }
|
| + public EVRTrackedCameraError GetVideoStreamFrameBuffer(ulong hTrackedCamera,EVRTrackedCameraFrameType eFrameType,IntPtr pFrameBuffer,uint nFrameBufferSize,ref CameraVideoStreamFrameHeader_t pFrameHeader,uint nFrameHeaderSize)
|
| + {
|
| + EVRTrackedCameraError result = FnTable.GetVideoStreamFrameBuffer(hTrackedCamera,eFrameType,pFrameBuffer,nFrameBufferSize,ref pFrameHeader,nFrameHeaderSize);
|
| + return result;
|
| + }
|
| + public EVRTrackedCameraError GetVideoStreamTextureSize(uint nDeviceIndex,EVRTrackedCameraFrameType eFrameType,ref VRTextureBounds_t pTextureBounds,ref uint pnWidth,ref uint pnHeight)
|
| + {
|
| + pnWidth = 0;
|
| + pnHeight = 0;
|
| + EVRTrackedCameraError result = FnTable.GetVideoStreamTextureSize(nDeviceIndex,eFrameType,ref pTextureBounds,ref pnWidth,ref pnHeight);
|
| + return result;
|
| + }
|
| + public EVRTrackedCameraError GetVideoStreamTextureD3D11(ulong hTrackedCamera,EVRTrackedCameraFrameType eFrameType,IntPtr pD3D11DeviceOrResource,ref IntPtr ppD3D11ShaderResourceView,ref CameraVideoStreamFrameHeader_t pFrameHeader,uint nFrameHeaderSize)
|
| + {
|
| + EVRTrackedCameraError result = FnTable.GetVideoStreamTextureD3D11(hTrackedCamera,eFrameType,pD3D11DeviceOrResource,ref ppD3D11ShaderResourceView,ref pFrameHeader,nFrameHeaderSize);
|
| + return result;
|
| + }
|
| + public EVRTrackedCameraError GetVideoStreamTextureGL(ulong hTrackedCamera,EVRTrackedCameraFrameType eFrameType,ref uint pglTextureId,ref CameraVideoStreamFrameHeader_t pFrameHeader,uint nFrameHeaderSize)
|
| + {
|
| + pglTextureId = 0;
|
| + EVRTrackedCameraError result = FnTable.GetVideoStreamTextureGL(hTrackedCamera,eFrameType,ref pglTextureId,ref pFrameHeader,nFrameHeaderSize);
|
| + return result;
|
| + }
|
| + public EVRTrackedCameraError ReleaseVideoStreamTextureGL(ulong hTrackedCamera,uint glTextureId)
|
| + {
|
| + EVRTrackedCameraError result = FnTable.ReleaseVideoStreamTextureGL(hTrackedCamera,glTextureId);
|
| + return result;
|
| + }
|
| +}
|
| +
|
| +
|
| +public class CVRApplications
|
| +{
|
| + IVRApplications FnTable;
|
| + internal CVRApplications(IntPtr pInterface)
|
| + {
|
| + FnTable = (IVRApplications)Marshal.PtrToStructure(pInterface, typeof(IVRApplications));
|
| + }
|
| + public EVRApplicationError AddApplicationManifest(string pchApplicationManifestFullPath,bool bTemporary)
|
| + {
|
| + EVRApplicationError result = FnTable.AddApplicationManifest(pchApplicationManifestFullPath,bTemporary);
|
| + return result;
|
| + }
|
| + public EVRApplicationError RemoveApplicationManifest(string pchApplicationManifestFullPath)
|
| + {
|
| + EVRApplicationError result = FnTable.RemoveApplicationManifest(pchApplicationManifestFullPath);
|
| + return result;
|
| + }
|
| + public bool IsApplicationInstalled(string pchAppKey)
|
| + {
|
| + bool result = FnTable.IsApplicationInstalled(pchAppKey);
|
| + return result;
|
| + }
|
| + public uint GetApplicationCount()
|
| + {
|
| + uint result = FnTable.GetApplicationCount();
|
| + return result;
|
| + }
|
| + public EVRApplicationError GetApplicationKeyByIndex(uint unApplicationIndex,System.Text.StringBuilder pchAppKeyBuffer,uint unAppKeyBufferLen)
|
| + {
|
| + EVRApplicationError result = FnTable.GetApplicationKeyByIndex(unApplicationIndex,pchAppKeyBuffer,unAppKeyBufferLen);
|
| + return result;
|
| + }
|
| + public EVRApplicationError GetApplicationKeyByProcessId(uint unProcessId,string pchAppKeyBuffer,uint unAppKeyBufferLen)
|
| + {
|
| + EVRApplicationError result = FnTable.GetApplicationKeyByProcessId(unProcessId,pchAppKeyBuffer,unAppKeyBufferLen);
|
| + return result;
|
| + }
|
| + public EVRApplicationError LaunchApplication(string pchAppKey)
|
| + {
|
| + EVRApplicationError result = FnTable.LaunchApplication(pchAppKey);
|
| + return result;
|
| + }
|
| + public EVRApplicationError LaunchTemplateApplication(string pchTemplateAppKey,string pchNewAppKey,AppOverrideKeys_t [] pKeys)
|
| + {
|
| + EVRApplicationError result = FnTable.LaunchTemplateApplication(pchTemplateAppKey,pchNewAppKey,pKeys,(uint) pKeys.Length);
|
| + return result;
|
| + }
|
| + public EVRApplicationError LaunchApplicationFromMimeType(string pchMimeType,string pchArgs)
|
| + {
|
| + EVRApplicationError result = FnTable.LaunchApplicationFromMimeType(pchMimeType,pchArgs);
|
| + return result;
|
| + }
|
| + public EVRApplicationError LaunchDashboardOverlay(string pchAppKey)
|
| + {
|
| + EVRApplicationError result = FnTable.LaunchDashboardOverlay(pchAppKey);
|
| + return result;
|
| + }
|
| + public bool CancelApplicationLaunch(string pchAppKey)
|
| + {
|
| + bool result = FnTable.CancelApplicationLaunch(pchAppKey);
|
| + return result;
|
| + }
|
| + public EVRApplicationError IdentifyApplication(uint unProcessId,string pchAppKey)
|
| + {
|
| + EVRApplicationError result = FnTable.IdentifyApplication(unProcessId,pchAppKey);
|
| + return result;
|
| + }
|
| + public uint GetApplicationProcessId(string pchAppKey)
|
| + {
|
| + uint result = FnTable.GetApplicationProcessId(pchAppKey);
|
| + return result;
|
| + }
|
| + public string GetApplicationsErrorNameFromEnum(EVRApplicationError error)
|
| + {
|
| + IntPtr result = FnTable.GetApplicationsErrorNameFromEnum(error);
|
| + return Marshal.PtrToStringAnsi(result);
|
| + }
|
| + public uint GetApplicationPropertyString(string pchAppKey,EVRApplicationProperty eProperty,System.Text.StringBuilder pchPropertyValueBuffer,uint unPropertyValueBufferLen,ref EVRApplicationError peError)
|
| + {
|
| + uint result = FnTable.GetApplicationPropertyString(pchAppKey,eProperty,pchPropertyValueBuffer,unPropertyValueBufferLen,ref peError);
|
| + return result;
|
| + }
|
| + public bool GetApplicationPropertyBool(string pchAppKey,EVRApplicationProperty eProperty,ref EVRApplicationError peError)
|
| + {
|
| + bool result = FnTable.GetApplicationPropertyBool(pchAppKey,eProperty,ref peError);
|
| + return result;
|
| + }
|
| + public ulong GetApplicationPropertyUint64(string pchAppKey,EVRApplicationProperty eProperty,ref EVRApplicationError peError)
|
| + {
|
| + ulong result = FnTable.GetApplicationPropertyUint64(pchAppKey,eProperty,ref peError);
|
| + return result;
|
| + }
|
| + public EVRApplicationError SetApplicationAutoLaunch(string pchAppKey,bool bAutoLaunch)
|
| + {
|
| + EVRApplicationError result = FnTable.SetApplicationAutoLaunch(pchAppKey,bAutoLaunch);
|
| + return result;
|
| + }
|
| + public bool GetApplicationAutoLaunch(string pchAppKey)
|
| + {
|
| + bool result = FnTable.GetApplicationAutoLaunch(pchAppKey);
|
| + return result;
|
| + }
|
| + public EVRApplicationError SetDefaultApplicationForMimeType(string pchAppKey,string pchMimeType)
|
| + {
|
| + EVRApplicationError result = FnTable.SetDefaultApplicationForMimeType(pchAppKey,pchMimeType);
|
| + return result;
|
| + }
|
| + public bool GetDefaultApplicationForMimeType(string pchMimeType,string pchAppKeyBuffer,uint unAppKeyBufferLen)
|
| + {
|
| + bool result = FnTable.GetDefaultApplicationForMimeType(pchMimeType,pchAppKeyBuffer,unAppKeyBufferLen);
|
| + return result;
|
| + }
|
| + public bool GetApplicationSupportedMimeTypes(string pchAppKey,string pchMimeTypesBuffer,uint unMimeTypesBuffer)
|
| + {
|
| + bool result = FnTable.GetApplicationSupportedMimeTypes(pchAppKey,pchMimeTypesBuffer,unMimeTypesBuffer);
|
| + return result;
|
| + }
|
| + public uint GetApplicationsThatSupportMimeType(string pchMimeType,string pchAppKeysThatSupportBuffer,uint unAppKeysThatSupportBuffer)
|
| + {
|
| + uint result = FnTable.GetApplicationsThatSupportMimeType(pchMimeType,pchAppKeysThatSupportBuffer,unAppKeysThatSupportBuffer);
|
| + return result;
|
| + }
|
| + public uint GetApplicationLaunchArguments(uint unHandle,string pchArgs,uint unArgs)
|
| + {
|
| + uint result = FnTable.GetApplicationLaunchArguments(unHandle,pchArgs,unArgs);
|
| + return result;
|
| + }
|
| + public EVRApplicationError GetStartingApplication(string pchAppKeyBuffer,uint unAppKeyBufferLen)
|
| + {
|
| + EVRApplicationError result = FnTable.GetStartingApplication(pchAppKeyBuffer,unAppKeyBufferLen);
|
| + return result;
|
| + }
|
| + public EVRApplicationTransitionState GetTransitionState()
|
| + {
|
| + EVRApplicationTransitionState result = FnTable.GetTransitionState();
|
| + return result;
|
| + }
|
| + public EVRApplicationError PerformApplicationPrelaunchCheck(string pchAppKey)
|
| + {
|
| + EVRApplicationError result = FnTable.PerformApplicationPrelaunchCheck(pchAppKey);
|
| + return result;
|
| + }
|
| + public string GetApplicationsTransitionStateNameFromEnum(EVRApplicationTransitionState state)
|
| + {
|
| + IntPtr result = FnTable.GetApplicationsTransitionStateNameFromEnum(state);
|
| + return Marshal.PtrToStringAnsi(result);
|
| + }
|
| + public bool IsQuitUserPromptRequested()
|
| + {
|
| + bool result = FnTable.IsQuitUserPromptRequested();
|
| + return result;
|
| + }
|
| + public EVRApplicationError LaunchInternalProcess(string pchBinaryPath,string pchArguments,string pchWorkingDirectory)
|
| + {
|
| + EVRApplicationError result = FnTable.LaunchInternalProcess(pchBinaryPath,pchArguments,pchWorkingDirectory);
|
| + return result;
|
| + }
|
| + public uint GetCurrentSceneProcessId()
|
| + {
|
| + uint result = FnTable.GetCurrentSceneProcessId();
|
| + return result;
|
| + }
|
| +}
|
| +
|
| +
|
| +public class CVRChaperone
|
| +{
|
| + IVRChaperone FnTable;
|
| + internal CVRChaperone(IntPtr pInterface)
|
| + {
|
| + FnTable = (IVRChaperone)Marshal.PtrToStructure(pInterface, typeof(IVRChaperone));
|
| + }
|
| + public ChaperoneCalibrationState GetCalibrationState()
|
| + {
|
| + ChaperoneCalibrationState result = FnTable.GetCalibrationState();
|
| + return result;
|
| + }
|
| + public bool GetPlayAreaSize(ref float pSizeX,ref float pSizeZ)
|
| + {
|
| + pSizeX = 0;
|
| + pSizeZ = 0;
|
| + bool result = FnTable.GetPlayAreaSize(ref pSizeX,ref pSizeZ);
|
| + return result;
|
| + }
|
| + public bool GetPlayAreaRect(ref HmdQuad_t rect)
|
| + {
|
| + bool result = FnTable.GetPlayAreaRect(ref rect);
|
| + return result;
|
| + }
|
| + public void ReloadInfo()
|
| + {
|
| + FnTable.ReloadInfo();
|
| + }
|
| + public void SetSceneColor(HmdColor_t color)
|
| + {
|
| + FnTable.SetSceneColor(color);
|
| + }
|
| + public void GetBoundsColor(ref HmdColor_t pOutputColorArray,int nNumOutputColors,float flCollisionBoundsFadeDistance,ref HmdColor_t pOutputCameraColor)
|
| + {
|
| + FnTable.GetBoundsColor(ref pOutputColorArray,nNumOutputColors,flCollisionBoundsFadeDistance,ref pOutputCameraColor);
|
| + }
|
| + public bool AreBoundsVisible()
|
| + {
|
| + bool result = FnTable.AreBoundsVisible();
|
| + return result;
|
| + }
|
| + public void ForceBoundsVisible(bool bForce)
|
| + {
|
| + FnTable.ForceBoundsVisible(bForce);
|
| + }
|
| +}
|
| +
|
| +
|
| +public class CVRChaperoneSetup
|
| +{
|
| + IVRChaperoneSetup FnTable;
|
| + internal CVRChaperoneSetup(IntPtr pInterface)
|
| + {
|
| + FnTable = (IVRChaperoneSetup)Marshal.PtrToStructure(pInterface, typeof(IVRChaperoneSetup));
|
| + }
|
| + public bool CommitWorkingCopy(EChaperoneConfigFile configFile)
|
| + {
|
| + bool result = FnTable.CommitWorkingCopy(configFile);
|
| + return result;
|
| + }
|
| + public void RevertWorkingCopy()
|
| + {
|
| + FnTable.RevertWorkingCopy();
|
| + }
|
| + public bool GetWorkingPlayAreaSize(ref float pSizeX,ref float pSizeZ)
|
| + {
|
| + pSizeX = 0;
|
| + pSizeZ = 0;
|
| + bool result = FnTable.GetWorkingPlayAreaSize(ref pSizeX,ref pSizeZ);
|
| + return result;
|
| + }
|
| + public bool GetWorkingPlayAreaRect(ref HmdQuad_t rect)
|
| + {
|
| + bool result = FnTable.GetWorkingPlayAreaRect(ref rect);
|
| + return result;
|
| + }
|
| + public bool GetWorkingCollisionBoundsInfo(out HmdQuad_t [] pQuadsBuffer)
|
| + {
|
| + uint punQuadsCount = 0;
|
| + bool result = FnTable.GetWorkingCollisionBoundsInfo(null,ref punQuadsCount);
|
| + pQuadsBuffer= new HmdQuad_t[punQuadsCount];
|
| + result = FnTable.GetWorkingCollisionBoundsInfo(pQuadsBuffer,ref punQuadsCount);
|
| + return result;
|
| + }
|
| + public bool GetLiveCollisionBoundsInfo(out HmdQuad_t [] pQuadsBuffer)
|
| + {
|
| + uint punQuadsCount = 0;
|
| + bool result = FnTable.GetLiveCollisionBoundsInfo(null,ref punQuadsCount);
|
| + pQuadsBuffer= new HmdQuad_t[punQuadsCount];
|
| + result = FnTable.GetLiveCollisionBoundsInfo(pQuadsBuffer,ref punQuadsCount);
|
| + return result;
|
| + }
|
| + public bool GetWorkingSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose)
|
| + {
|
| + bool result = FnTable.GetWorkingSeatedZeroPoseToRawTrackingPose(ref pmatSeatedZeroPoseToRawTrackingPose);
|
| + return result;
|
| + }
|
| + public bool GetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatStandingZeroPoseToRawTrackingPose)
|
| + {
|
| + bool result = FnTable.GetWorkingStandingZeroPoseToRawTrackingPose(ref pmatStandingZeroPoseToRawTrackingPose);
|
| + return result;
|
| + }
|
| + public void SetWorkingPlayAreaSize(float sizeX,float sizeZ)
|
| + {
|
| + FnTable.SetWorkingPlayAreaSize(sizeX,sizeZ);
|
| + }
|
| + public void SetWorkingCollisionBoundsInfo(HmdQuad_t [] pQuadsBuffer)
|
| + {
|
| + FnTable.SetWorkingCollisionBoundsInfo(pQuadsBuffer,(uint) pQuadsBuffer.Length);
|
| + }
|
| + public void SetWorkingSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatSeatedZeroPoseToRawTrackingPose)
|
| + {
|
| + FnTable.SetWorkingSeatedZeroPoseToRawTrackingPose(ref pMatSeatedZeroPoseToRawTrackingPose);
|
| + }
|
| + public void SetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose)
|
| + {
|
| + FnTable.SetWorkingStandingZeroPoseToRawTrackingPose(ref pMatStandingZeroPoseToRawTrackingPose);
|
| + }
|
| + public void ReloadFromDisk(EChaperoneConfigFile configFile)
|
| + {
|
| + FnTable.ReloadFromDisk(configFile);
|
| + }
|
| + public bool GetLiveSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose)
|
| + {
|
| + bool result = FnTable.GetLiveSeatedZeroPoseToRawTrackingPose(ref pmatSeatedZeroPoseToRawTrackingPose);
|
| + return result;
|
| + }
|
| + public void SetWorkingCollisionBoundsTagsInfo(byte [] pTagsBuffer)
|
| + {
|
| + FnTable.SetWorkingCollisionBoundsTagsInfo(pTagsBuffer,(uint) pTagsBuffer.Length);
|
| + }
|
| + public bool GetLiveCollisionBoundsTagsInfo(out byte [] pTagsBuffer)
|
| + {
|
| + uint punTagCount = 0;
|
| + bool result = FnTable.GetLiveCollisionBoundsTagsInfo(null,ref punTagCount);
|
| + pTagsBuffer= new byte[punTagCount];
|
| + result = FnTable.GetLiveCollisionBoundsTagsInfo(pTagsBuffer,ref punTagCount);
|
| + return result;
|
| + }
|
| + public bool SetWorkingPhysicalBoundsInfo(HmdQuad_t [] pQuadsBuffer)
|
| + {
|
| + bool result = FnTable.SetWorkingPhysicalBoundsInfo(pQuadsBuffer,(uint) pQuadsBuffer.Length);
|
| + return result;
|
| + }
|
| + public bool GetLivePhysicalBoundsInfo(out HmdQuad_t [] pQuadsBuffer)
|
| + {
|
| + uint punQuadsCount = 0;
|
| + bool result = FnTable.GetLivePhysicalBoundsInfo(null,ref punQuadsCount);
|
| + pQuadsBuffer= new HmdQuad_t[punQuadsCount];
|
| + result = FnTable.GetLivePhysicalBoundsInfo(pQuadsBuffer,ref punQuadsCount);
|
| + return result;
|
| + }
|
| + public bool ExportLiveToBuffer(System.Text.StringBuilder pBuffer,ref uint pnBufferLength)
|
| + {
|
| + pnBufferLength = 0;
|
| + bool result = FnTable.ExportLiveToBuffer(pBuffer,ref pnBufferLength);
|
| + return result;
|
| + }
|
| + public bool ImportFromBufferToWorking(string pBuffer,uint nImportFlags)
|
| + {
|
| + bool result = FnTable.ImportFromBufferToWorking(pBuffer,nImportFlags);
|
| + return result;
|
| + }
|
| +}
|
| +
|
| +
|
| +public class CVRCompositor
|
| +{
|
| + IVRCompositor FnTable;
|
| + internal CVRCompositor(IntPtr pInterface)
|
| + {
|
| + FnTable = (IVRCompositor)Marshal.PtrToStructure(pInterface, typeof(IVRCompositor));
|
| + }
|
| + public void SetTrackingSpace(ETrackingUniverseOrigin eOrigin)
|
| + {
|
| + FnTable.SetTrackingSpace(eOrigin);
|
| + }
|
| + public ETrackingUniverseOrigin GetTrackingSpace()
|
| + {
|
| + ETrackingUniverseOrigin result = FnTable.GetTrackingSpace();
|
| + return result;
|
| + }
|
| + public EVRCompositorError WaitGetPoses(TrackedDevicePose_t [] pRenderPoseArray,TrackedDevicePose_t [] pGamePoseArray)
|
| + {
|
| + EVRCompositorError result = FnTable.WaitGetPoses(pRenderPoseArray,(uint) pRenderPoseArray.Length,pGamePoseArray,(uint) pGamePoseArray.Length);
|
| + return result;
|
| + }
|
| + public EVRCompositorError GetLastPoses(TrackedDevicePose_t [] pRenderPoseArray,TrackedDevicePose_t [] pGamePoseArray)
|
| + {
|
| + EVRCompositorError result = FnTable.GetLastPoses(pRenderPoseArray,(uint) pRenderPoseArray.Length,pGamePoseArray,(uint) pGamePoseArray.Length);
|
| + return result;
|
| + }
|
| + public EVRCompositorError GetLastPoseForTrackedDeviceIndex(uint unDeviceIndex,ref TrackedDevicePose_t pOutputPose,ref TrackedDevicePose_t pOutputGamePose)
|
| + {
|
| + EVRCompositorError result = FnTable.GetLastPoseForTrackedDeviceIndex(unDeviceIndex,ref pOutputPose,ref pOutputGamePose);
|
| + return result;
|
| + }
|
| + public EVRCompositorError Submit(EVREye eEye,ref Texture_t pTexture,ref VRTextureBounds_t pBounds,EVRSubmitFlags nSubmitFlags)
|
| + {
|
| + EVRCompositorError result = FnTable.Submit(eEye,ref pTexture,ref pBounds,nSubmitFlags);
|
| + return result;
|
| + }
|
| + public void ClearLastSubmittedFrame()
|
| + {
|
| + FnTable.ClearLastSubmittedFrame();
|
| + }
|
| + public void PostPresentHandoff()
|
| + {
|
| + FnTable.PostPresentHandoff();
|
| + }
|
| + public bool GetFrameTiming(ref Compositor_FrameTiming pTiming,uint unFramesAgo)
|
| + {
|
| + bool result = FnTable.GetFrameTiming(ref pTiming,unFramesAgo);
|
| + return result;
|
| + }
|
| + public uint GetFrameTimings(ref Compositor_FrameTiming pTiming,uint nFrames)
|
| + {
|
| + uint result = FnTable.GetFrameTimings(ref pTiming,nFrames);
|
| + return result;
|
| + }
|
| + public float GetFrameTimeRemaining()
|
| + {
|
| + float result = FnTable.GetFrameTimeRemaining();
|
| + return result;
|
| + }
|
| + public void GetCumulativeStats(ref Compositor_CumulativeStats pStats,uint nStatsSizeInBytes)
|
| + {
|
| + FnTable.GetCumulativeStats(ref pStats,nStatsSizeInBytes);
|
| + }
|
| + public void FadeToColor(float fSeconds,float fRed,float fGreen,float fBlue,float fAlpha,bool bBackground)
|
| + {
|
| + FnTable.FadeToColor(fSeconds,fRed,fGreen,fBlue,fAlpha,bBackground);
|
| + }
|
| + public HmdColor_t GetCurrentFadeColor(bool bBackground)
|
| + {
|
| + HmdColor_t result = FnTable.GetCurrentFadeColor(bBackground);
|
| + return result;
|
| + }
|
| + public void FadeGrid(float fSeconds,bool bFadeIn)
|
| + {
|
| + FnTable.FadeGrid(fSeconds,bFadeIn);
|
| + }
|
| + public float GetCurrentGridAlpha()
|
| + {
|
| + float result = FnTable.GetCurrentGridAlpha();
|
| + return result;
|
| + }
|
| + public EVRCompositorError SetSkyboxOverride(Texture_t [] pTextures)
|
| + {
|
| + EVRCompositorError result = FnTable.SetSkyboxOverride(pTextures,(uint) pTextures.Length);
|
| + return result;
|
| + }
|
| + public void ClearSkyboxOverride()
|
| + {
|
| + FnTable.ClearSkyboxOverride();
|
| + }
|
| + public void CompositorBringToFront()
|
| + {
|
| + FnTable.CompositorBringToFront();
|
| + }
|
| + public void CompositorGoToBack()
|
| + {
|
| + FnTable.CompositorGoToBack();
|
| + }
|
| + public void CompositorQuit()
|
| + {
|
| + FnTable.CompositorQuit();
|
| + }
|
| + public bool IsFullscreen()
|
| + {
|
| + bool result = FnTable.IsFullscreen();
|
| + return result;
|
| + }
|
| + public uint GetCurrentSceneFocusProcess()
|
| + {
|
| + uint result = FnTable.GetCurrentSceneFocusProcess();
|
| + return result;
|
| + }
|
| + public uint GetLastFrameRenderer()
|
| + {
|
| + uint result = FnTable.GetLastFrameRenderer();
|
| + return result;
|
| + }
|
| + public bool CanRenderScene()
|
| + {
|
| + bool result = FnTable.CanRenderScene();
|
| + return result;
|
| + }
|
| + public void ShowMirrorWindow()
|
| + {
|
| + FnTable.ShowMirrorWindow();
|
| + }
|
| + public void HideMirrorWindow()
|
| + {
|
| + FnTable.HideMirrorWindow();
|
| + }
|
| + public bool IsMirrorWindowVisible()
|
| + {
|
| + bool result = FnTable.IsMirrorWindowVisible();
|
| + return result;
|
| + }
|
| + public void CompositorDumpImages()
|
| + {
|
| + FnTable.CompositorDumpImages();
|
| + }
|
| + public bool ShouldAppRenderWithLowResources()
|
| + {
|
| + bool result = FnTable.ShouldAppRenderWithLowResources();
|
| + return result;
|
| + }
|
| + public void ForceInterleavedReprojectionOn(bool bOverride)
|
| + {
|
| + FnTable.ForceInterleavedReprojectionOn(bOverride);
|
| + }
|
| + public void ForceReconnectProcess()
|
| + {
|
| + FnTable.ForceReconnectProcess();
|
| + }
|
| + public void SuspendRendering(bool bSuspend)
|
| + {
|
| + FnTable.SuspendRendering(bSuspend);
|
| + }
|
| + public EVRCompositorError GetMirrorTextureD3D11(EVREye eEye,IntPtr pD3D11DeviceOrResource,ref IntPtr ppD3D11ShaderResourceView)
|
| + {
|
| + EVRCompositorError result = FnTable.GetMirrorTextureD3D11(eEye,pD3D11DeviceOrResource,ref ppD3D11ShaderResourceView);
|
| + return result;
|
| + }
|
| + public void ReleaseMirrorTextureD3D11(IntPtr pD3D11ShaderResourceView)
|
| + {
|
| + FnTable.ReleaseMirrorTextureD3D11(pD3D11ShaderResourceView);
|
| + }
|
| + public EVRCompositorError GetMirrorTextureGL(EVREye eEye,ref uint pglTextureId,IntPtr pglSharedTextureHandle)
|
| + {
|
| + pglTextureId = 0;
|
| + EVRCompositorError result = FnTable.GetMirrorTextureGL(eEye,ref pglTextureId,pglSharedTextureHandle);
|
| + return result;
|
| + }
|
| + public bool ReleaseSharedGLTexture(uint glTextureId,IntPtr glSharedTextureHandle)
|
| + {
|
| + bool result = FnTable.ReleaseSharedGLTexture(glTextureId,glSharedTextureHandle);
|
| + return result;
|
| + }
|
| + public void LockGLSharedTextureForAccess(IntPtr glSharedTextureHandle)
|
| + {
|
| + FnTable.LockGLSharedTextureForAccess(glSharedTextureHandle);
|
| + }
|
| + public void UnlockGLSharedTextureForAccess(IntPtr glSharedTextureHandle)
|
| + {
|
| + FnTable.UnlockGLSharedTextureForAccess(glSharedTextureHandle);
|
| + }
|
| + public uint GetVulkanInstanceExtensionsRequired(System.Text.StringBuilder pchValue,uint unBufferSize)
|
| + {
|
| + uint result = FnTable.GetVulkanInstanceExtensionsRequired(pchValue,unBufferSize);
|
| + return result;
|
| + }
|
| + public uint GetVulkanDeviceExtensionsRequired(IntPtr pPhysicalDevice,System.Text.StringBuilder pchValue,uint unBufferSize)
|
| + {
|
| + uint result = FnTable.GetVulkanDeviceExtensionsRequired(pPhysicalDevice,pchValue,unBufferSize);
|
| + return result;
|
| + }
|
| +}
|
| +
|
| +
|
| +public class CVROverlay
|
| +{
|
| + IVROverlay FnTable;
|
| + internal CVROverlay(IntPtr pInterface)
|
| + {
|
| + FnTable = (IVROverlay)Marshal.PtrToStructure(pInterface, typeof(IVROverlay));
|
| + }
|
| + public EVROverlayError FindOverlay(string pchOverlayKey,ref ulong pOverlayHandle)
|
| + {
|
| + pOverlayHandle = 0;
|
| + EVROverlayError result = FnTable.FindOverlay(pchOverlayKey,ref pOverlayHandle);
|
| + return result;
|
| + }
|
| + public EVROverlayError CreateOverlay(string pchOverlayKey,string pchOverlayFriendlyName,ref ulong pOverlayHandle)
|
| + {
|
| + pOverlayHandle = 0;
|
| + EVROverlayError result = FnTable.CreateOverlay(pchOverlayKey,pchOverlayFriendlyName,ref pOverlayHandle);
|
| + return result;
|
| + }
|
| + public EVROverlayError DestroyOverlay(ulong ulOverlayHandle)
|
| + {
|
| + EVROverlayError result = FnTable.DestroyOverlay(ulOverlayHandle);
|
| + return result;
|
| + }
|
| + public EVROverlayError SetHighQualityOverlay(ulong ulOverlayHandle)
|
| + {
|
| + EVROverlayError result = FnTable.SetHighQualityOverlay(ulOverlayHandle);
|
| + return result;
|
| + }
|
| + public ulong GetHighQualityOverlay()
|
| + {
|
| + ulong result = FnTable.GetHighQualityOverlay();
|
| + return result;
|
| + }
|
| + public uint GetOverlayKey(ulong ulOverlayHandle,System.Text.StringBuilder pchValue,uint unBufferSize,ref EVROverlayError pError)
|
| + {
|
| + uint result = FnTable.GetOverlayKey(ulOverlayHandle,pchValue,unBufferSize,ref pError);
|
| + return result;
|
| + }
|
| + public uint GetOverlayName(ulong ulOverlayHandle,System.Text.StringBuilder pchValue,uint unBufferSize,ref EVROverlayError pError)
|
| + {
|
| + uint result = FnTable.GetOverlayName(ulOverlayHandle,pchValue,unBufferSize,ref pError);
|
| + return result;
|
| + }
|
| + public EVROverlayError GetOverlayImageData(ulong ulOverlayHandle,IntPtr pvBuffer,uint unBufferSize,ref uint punWidth,ref uint punHeight)
|
| + {
|
| + punWidth = 0;
|
| + punHeight = 0;
|
| + EVROverlayError result = FnTable.GetOverlayImageData(ulOverlayHandle,pvBuffer,unBufferSize,ref punWidth,ref punHeight);
|
| + return result;
|
| + }
|
| + public string GetOverlayErrorNameFromEnum(EVROverlayError error)
|
| + {
|
| + IntPtr result = FnTable.GetOverlayErrorNameFromEnum(error);
|
| + return Marshal.PtrToStringAnsi(result);
|
| + }
|
| + public EVROverlayError SetOverlayRenderingPid(ulong ulOverlayHandle,uint unPID)
|
| + {
|
| + EVROverlayError result = FnTable.SetOverlayRenderingPid(ulOverlayHandle,unPID);
|
| + return result;
|
| + }
|
| + public uint GetOverlayRenderingPid(ulong ulOverlayHandle)
|
| + {
|
| + uint result = FnTable.GetOverlayRenderingPid(ulOverlayHandle);
|
| + return result;
|
| + }
|
| + public EVROverlayError SetOverlayFlag(ulong ulOverlayHandle,VROverlayFlags eOverlayFlag,bool bEnabled)
|
| + {
|
| + EVROverlayError result = FnTable.SetOverlayFlag(ulOverlayHandle,eOverlayFlag,bEnabled);
|
| + return result;
|
| + }
|
| + public EVROverlayError GetOverlayFlag(ulong ulOverlayHandle,VROverlayFlags eOverlayFlag,ref bool pbEnabled)
|
| + {
|
| + pbEnabled = false;
|
| + EVROverlayError result = FnTable.GetOverlayFlag(ulOverlayHandle,eOverlayFlag,ref pbEnabled);
|
| + return result;
|
| + }
|
| + public EVROverlayError SetOverlayColor(ulong ulOverlayHandle,float fRed,float fGreen,float fBlue)
|
| + {
|
| + EVROverlayError result = FnTable.SetOverlayColor(ulOverlayHandle,fRed,fGreen,fBlue);
|
| + return result;
|
| + }
|
| + public EVROverlayError GetOverlayColor(ulong ulOverlayHandle,ref float pfRed,ref float pfGreen,ref float pfBlue)
|
| + {
|
| + pfRed = 0;
|
| + pfGreen = 0;
|
| + pfBlue = 0;
|
| + EVROverlayError result = FnTable.GetOverlayColor(ulOverlayHandle,ref pfRed,ref pfGreen,ref pfBlue);
|
| + return result;
|
| + }
|
| + public EVROverlayError SetOverlayAlpha(ulong ulOverlayHandle,float fAlpha)
|
| + {
|
| + EVROverlayError result = FnTable.SetOverlayAlpha(ulOverlayHandle,fAlpha);
|
| + return result;
|
| + }
|
| + public EVROverlayError GetOverlayAlpha(ulong ulOverlayHandle,ref float pfAlpha)
|
| + {
|
| + pfAlpha = 0;
|
| + EVROverlayError result = FnTable.GetOverlayAlpha(ulOverlayHandle,ref pfAlpha);
|
| + return result;
|
| + }
|
| + public EVROverlayError SetOverlayTexelAspect(ulong ulOverlayHandle,float fTexelAspect)
|
| + {
|
| + EVROverlayError result = FnTable.SetOverlayTexelAspect(ulOverlayHandle,fTexelAspect);
|
| + return result;
|
| + }
|
| + public EVROverlayError GetOverlayTexelAspect(ulong ulOverlayHandle,ref float pfTexelAspect)
|
| + {
|
| + pfTexelAspect = 0;
|
| + EVROverlayError result = FnTable.GetOverlayTexelAspect(ulOverlayHandle,ref pfTexelAspect);
|
| + return result;
|
| + }
|
| + public EVROverlayError SetOverlaySortOrder(ulong ulOverlayHandle,uint unSortOrder)
|
| + {
|
| + EVROverlayError result = FnTable.SetOverlaySortOrder(ulOverlayHandle,unSortOrder);
|
| + return result;
|
| + }
|
| + public EVROverlayError GetOverlaySortOrder(ulong ulOverlayHandle,ref uint punSortOrder)
|
| + {
|
| + punSortOrder = 0;
|
| + EVROverlayError result = FnTable.GetOverlaySortOrder(ulOverlayHandle,ref punSortOrder);
|
| + return result;
|
| + }
|
| + public EVROverlayError SetOverlayWidthInMeters(ulong ulOverlayHandle,float fWidthInMeters)
|
| + {
|
| + EVROverlayError result = FnTable.SetOverlayWidthInMeters(ulOverlayHandle,fWidthInMeters);
|
| + return result;
|
| + }
|
| + public EVROverlayError GetOverlayWidthInMeters(ulong ulOverlayHandle,ref float pfWidthInMeters)
|
| + {
|
| + pfWidthInMeters = 0;
|
| + EVROverlayError result = FnTable.GetOverlayWidthInMeters(ulOverlayHandle,ref pfWidthInMeters);
|
| + return result;
|
| + }
|
| + public EVROverlayError SetOverlayAutoCurveDistanceRangeInMeters(ulong ulOverlayHandle,float fMinDistanceInMeters,float fMaxDistanceInMeters)
|
| + {
|
| + EVROverlayError result = FnTable.SetOverlayAutoCurveDistanceRangeInMeters(ulOverlayHandle,fMinDistanceInMeters,fMaxDistanceInMeters);
|
| + return result;
|
| + }
|
| + public EVROverlayError GetOverlayAutoCurveDistanceRangeInMeters(ulong ulOverlayHandle,ref float pfMinDistanceInMeters,ref float pfMaxDistanceInMeters)
|
| + {
|
| + pfMinDistanceInMeters = 0;
|
| + pfMaxDistanceInMeters = 0;
|
| + EVROverlayError result = FnTable.GetOverlayAutoCurveDistanceRangeInMeters(ulOverlayHandle,ref pfMinDistanceInMeters,ref pfMaxDistanceInMeters);
|
| + return result;
|
| + }
|
| + public EVROverlayError SetOverlayTextureColorSpace(ulong ulOverlayHandle,EColorSpace eTextureColorSpace)
|
| + {
|
| + EVROverlayError result = FnTable.SetOverlayTextureColorSpace(ulOverlayHandle,eTextureColorSpace);
|
| + return result;
|
| + }
|
| + public EVROverlayError GetOverlayTextureColorSpace(ulong ulOverlayHandle,ref EColorSpace peTextureColorSpace)
|
| + {
|
| + EVROverlayError result = FnTable.GetOverlayTextureColorSpace(ulOverlayHandle,ref peTextureColorSpace);
|
| + return result;
|
| + }
|
| + public EVROverlayError SetOverlayTextureBounds(ulong ulOverlayHandle,ref VRTextureBounds_t pOverlayTextureBounds)
|
| + {
|
| + EVROverlayError result = FnTable.SetOverlayTextureBounds(ulOverlayHandle,ref pOverlayTextureBounds);
|
| + return result;
|
| + }
|
| + public EVROverlayError GetOverlayTextureBounds(ulong ulOverlayHandle,ref VRTextureBounds_t pOverlayTextureBounds)
|
| + {
|
| + EVROverlayError result = FnTable.GetOverlayTextureBounds(ulOverlayHandle,ref pOverlayTextureBounds);
|
| + return result;
|
| + }
|
| + public EVROverlayError GetOverlayTransformType(ulong ulOverlayHandle,ref VROverlayTransformType peTransformType)
|
| + {
|
| + EVROverlayError result = FnTable.GetOverlayTransformType(ulOverlayHandle,ref peTransformType);
|
| + return result;
|
| + }
|
| + public EVROverlayError SetOverlayTransformAbsolute(ulong ulOverlayHandle,ETrackingUniverseOrigin eTrackingOrigin,ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform)
|
| + {
|
| + EVROverlayError result = FnTable.SetOverlayTransformAbsolute(ulOverlayHandle,eTrackingOrigin,ref pmatTrackingOriginToOverlayTransform);
|
| + return result;
|
| + }
|
| + public EVROverlayError GetOverlayTransformAbsolute(ulong ulOverlayHandle,ref ETrackingUniverseOrigin peTrackingOrigin,ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform)
|
| + {
|
| + EVROverlayError result = FnTable.GetOverlayTransformAbsolute(ulOverlayHandle,ref peTrackingOrigin,ref pmatTrackingOriginToOverlayTransform);
|
| + return result;
|
| + }
|
| + public EVROverlayError SetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle,uint unTrackedDevice,ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform)
|
| + {
|
| + EVROverlayError result = FnTable.SetOverlayTransformTrackedDeviceRelative(ulOverlayHandle,unTrackedDevice,ref pmatTrackedDeviceToOverlayTransform);
|
| + return result;
|
| + }
|
| + public EVROverlayError GetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle,ref uint punTrackedDevice,ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform)
|
| + {
|
| + punTrackedDevice = 0;
|
| + EVROverlayError result = FnTable.GetOverlayTransformTrackedDeviceRelative(ulOverlayHandle,ref punTrackedDevice,ref pmatTrackedDeviceToOverlayTransform);
|
| + return result;
|
| + }
|
| + public EVROverlayError SetOverlayTransformTrackedDeviceComponent(ulong ulOverlayHandle,uint unDeviceIndex,string pchComponentName)
|
| + {
|
| + EVROverlayError result = FnTable.SetOverlayTransformTrackedDeviceComponent(ulOverlayHandle,unDeviceIndex,pchComponentName);
|
| + return result;
|
| + }
|
| + public EVROverlayError GetOverlayTransformTrackedDeviceComponent(ulong ulOverlayHandle,ref uint punDeviceIndex,string pchComponentName,uint unComponentNameSize)
|
| + {
|
| + punDeviceIndex = 0;
|
| + EVROverlayError result = FnTable.GetOverlayTransformTrackedDeviceComponent(ulOverlayHandle,ref punDeviceIndex,pchComponentName,unComponentNameSize);
|
| + return result;
|
| + }
|
| + public EVROverlayError 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;
|
| + }
|
| + public bool PollNextOverlayEvent(ulong ulOverlayHandle,ref VREvent_t pEvent,uint uncbVREvent)
|
| + {
|
| + bool result = FnTable.PollNextOverlayEvent(ulOverlayHandle,ref pEvent,uncbVREvent);
|
| + return result;
|
| + }
|
| + public EVROverlayError GetOverlayInputMethod(ulong ulOverlayHandle,ref VROverlayInputMethod peInputMethod)
|
| + {
|
| + EVROverlayError result = FnTable.GetOverlayInputMethod(ulOverlayHandle,ref peInputMethod);
|
| + return result;
|
| + }
|
| + public EVROverlayError SetOverlayInputMethod(ulong ulOverlayHandle,VROverlayInputMethod eInputMethod)
|
| + {
|
| + EVROverlayError result = FnTable.SetOverlayInputMethod(ulOverlayHandle,eInputMethod);
|
| + return result;
|
| + }
|
| + public EVROverlayError GetOverlayMouseScale(ulong ulOverlayHandle,ref HmdVector2_t pvecMouseScale)
|
| + {
|
| + EVROverlayError result = FnTable.GetOverlayMouseScale(ulOverlayHandle,ref pvecMouseScale);
|
| + return result;
|
| + }
|
| + public EVROverlayError SetOverlayMouseScale(ulong ulOverlayHandle,ref HmdVector2_t pvecMouseScale)
|
| + {
|
| + EVROverlayError result = FnTable.SetOverlayMouseScale(ulOverlayHandle,ref pvecMouseScale);
|
| + return result;
|
| + }
|
| + public bool ComputeOverlayIntersection(ulong ulOverlayHandle,ref VROverlayIntersectionParams_t pParams,ref VROverlayIntersectionResults_t pResults)
|
| + {
|
| + bool result = FnTable.ComputeOverlayIntersection(ulOverlayHandle,ref pParams,ref pResults);
|
| + return result;
|
| + }
|
| + public bool HandleControllerOverlayInteractionAsMouse(ulong ulOverlayHandle,uint unControllerDeviceIndex)
|
| + {
|
| + bool result = FnTable.HandleControllerOverlayInteractionAsMouse(ulOverlayHandle,unControllerDeviceIndex);
|
| + return result;
|
| + }
|
| + public bool IsHoverTargetOverlay(ulong ulOverlayHandle)
|
| + {
|
| + bool result = FnTable.IsHoverTargetOverlay(ulOverlayHandle);
|
| + return result;
|
| + }
|
| + public ulong GetGamepadFocusOverlay()
|
| + {
|
| + ulong result = FnTable.GetGamepadFocusOverlay();
|
| + return result;
|
| + }
|
| + public EVROverlayError SetGamepadFocusOverlay(ulong ulNewFocusOverlay)
|
| + {
|
| + EVROverlayError result = FnTable.SetGamepadFocusOverlay(ulNewFocusOverlay);
|
| + return result;
|
| + }
|
| + public EVROverlayError SetOverlayNeighbor(EOverlayDirection eDirection,ulong ulFrom,ulong ulTo)
|
| + {
|
| + EVROverlayError result = FnTable.SetOverlayNeighbor(eDirection,ulFrom,ulTo);
|
| + return result;
|
| + }
|
| + public EVROverlayError MoveGamepadFocusToNeighbor(EOverlayDirection eDirection,ulong ulFrom)
|
| + {
|
| + EVROverlayError result = FnTable.MoveGamepadFocusToNeighbor(eDirection,ulFrom);
|
| + return result;
|
| + }
|
| + public EVROverlayError SetOverlayTexture(ulong ulOverlayHandle,ref Texture_t pTexture)
|
| + {
|
| + EVROverlayError result = FnTable.SetOverlayTexture(ulOverlayHandle,ref pTexture);
|
| + return result;
|
| + }
|
| + public EVROverlayError ClearOverlayTexture(ulong ulOverlayHandle)
|
| + {
|
| + EVROverlayError result = FnTable.ClearOverlayTexture(ulOverlayHandle);
|
| + return result;
|
| + }
|
| + public EVROverlayError SetOverlayRaw(ulong ulOverlayHandle,IntPtr pvBuffer,uint unWidth,uint unHeight,uint unDepth)
|
| + {
|
| + EVROverlayError result = FnTable.SetOverlayRaw(ulOverlayHandle,pvBuffer,unWidth,unHeight,unDepth);
|
| + return result;
|
| + }
|
| + public EVROverlayError SetOverlayFromFile(ulong ulOverlayHandle,string pchFilePath)
|
| + {
|
| + EVROverlayError result = FnTable.SetOverlayFromFile(ulOverlayHandle,pchFilePath);
|
| + return result;
|
| + }
|
| + public EVROverlayError GetOverlayTexture(ulong ulOverlayHandle,ref IntPtr pNativeTextureHandle,IntPtr pNativeTextureRef,ref uint pWidth,ref uint pHeight,ref uint pNativeFormat,ref ETextureType pAPIType,ref EColorSpace pColorSpace,ref VRTextureBounds_t pTextureBounds)
|
| + {
|
| + pWidth = 0;
|
| + pHeight = 0;
|
| + pNativeFormat = 0;
|
| + EVROverlayError result = FnTable.GetOverlayTexture(ulOverlayHandle,ref pNativeTextureHandle,pNativeTextureRef,ref pWidth,ref pHeight,ref pNativeFormat,ref pAPIType,ref pColorSpace,ref pTextureBounds);
|
| + return result;
|
| + }
|
| + public EVROverlayError ReleaseNativeOverlayHandle(ulong ulOverlayHandle,IntPtr pNativeTextureHandle)
|
| + {
|
| + EVROverlayError result = FnTable.ReleaseNativeOverlayHandle(ulOverlayHandle,pNativeTextureHandle);
|
| + return result;
|
| + }
|
| + public EVROverlayError GetOverlayTextureSize(ulong ulOverlayHandle,ref uint pWidth,ref uint pHeight)
|
| + {
|
| + pWidth = 0;
|
| + pHeight = 0;
|
| + EVROverlayError result = FnTable.GetOverlayTextureSize(ulOverlayHandle,ref pWidth,ref pHeight);
|
| + return result;
|
| + }
|
| + public EVROverlayError CreateDashboardOverlay(string pchOverlayKey,string pchOverlayFriendlyName,ref ulong pMainHandle,ref ulong pThumbnailHandle)
|
| + {
|
| + pMainHandle = 0;
|
| + pThumbnailHandle = 0;
|
| + EVROverlayError result = FnTable.CreateDashboardOverlay(pchOverlayKey,pchOverlayFriendlyName,ref pMainHandle,ref pThumbnailHandle);
|
| + return result;
|
| + }
|
| + public bool IsDashboardVisible()
|
| + {
|
| + bool result = FnTable.IsDashboardVisible();
|
| + return result;
|
| + }
|
| + public bool IsActiveDashboardOverlay(ulong ulOverlayHandle)
|
| + {
|
| + bool result = FnTable.IsActiveDashboardOverlay(ulOverlayHandle);
|
| + return result;
|
| + }
|
| + public EVROverlayError SetDashboardOverlaySceneProcess(ulong ulOverlayHandle,uint unProcessId)
|
| + {
|
| + EVROverlayError result = FnTable.SetDashboardOverlaySceneProcess(ulOverlayHandle,unProcessId);
|
| + return result;
|
| + }
|
| + public EVROverlayError GetDashboardOverlaySceneProcess(ulong ulOverlayHandle,ref uint punProcessId)
|
| + {
|
| + punProcessId = 0;
|
| + EVROverlayError result = FnTable.GetDashboardOverlaySceneProcess(ulOverlayHandle,ref punProcessId);
|
| + return result;
|
| + }
|
| + public void ShowDashboard(string pchOverlayToShow)
|
| + {
|
| + FnTable.ShowDashboard(pchOverlayToShow);
|
| + }
|
| + public uint GetPrimaryDashboardDevice()
|
| + {
|
| + uint result = FnTable.GetPrimaryDashboardDevice();
|
| + return result;
|
| + }
|
| + public EVROverlayError ShowKeyboard(int eInputMode,int eLineInputMode,string pchDescription,uint unCharMax,string pchExistingText,bool bUseMinimalMode,ulong uUserValue)
|
| + {
|
| + EVROverlayError result = FnTable.ShowKeyboard(eInputMode,eLineInputMode,pchDescription,unCharMax,pchExistingText,bUseMinimalMode,uUserValue);
|
| + return result;
|
| + }
|
| + public EVROverlayError ShowKeyboardForOverlay(ulong ulOverlayHandle,int eInputMode,int eLineInputMode,string pchDescription,uint unCharMax,string pchExistingText,bool bUseMinimalMode,ulong uUserValue)
|
| + {
|
| + EVROverlayError result = FnTable.ShowKeyboardForOverlay(ulOverlayHandle,eInputMode,eLineInputMode,pchDescription,unCharMax,pchExistingText,bUseMinimalMode,uUserValue);
|
| + return result;
|
| + }
|
| + public uint GetKeyboardText(System.Text.StringBuilder pchText,uint cchText)
|
| + {
|
| + uint result = FnTable.GetKeyboardText(pchText,cchText);
|
| + return result;
|
| + }
|
| + public void HideKeyboard()
|
| + {
|
| + FnTable.HideKeyboard();
|
| + }
|
| + public void SetKeyboardTransformAbsolute(ETrackingUniverseOrigin eTrackingOrigin,ref HmdMatrix34_t pmatTrackingOriginToKeyboardTransform)
|
| + {
|
| + FnTable.SetKeyboardTransformAbsolute(eTrackingOrigin,ref pmatTrackingOriginToKeyboardTransform);
|
| + }
|
| + public void SetKeyboardPositionForOverlay(ulong ulOverlayHandle,HmdRect2_t avoidRect)
|
| + {
|
| + FnTable.SetKeyboardPositionForOverlay(ulOverlayHandle,avoidRect);
|
| + }
|
| + public EVROverlayError SetOverlayIntersectionMask(ulong ulOverlayHandle,ref VROverlayIntersectionMaskPrimitive_t pMaskPrimitives,uint unNumMaskPrimitives,uint unPrimitiveSize)
|
| + {
|
| + EVROverlayError result = FnTable.SetOverlayIntersectionMask(ulOverlayHandle,ref pMaskPrimitives,unNumMaskPrimitives,unPrimitiveSize);
|
| + return result;
|
| + }
|
| + public EVROverlayError GetOverlayFlags(ulong ulOverlayHandle,ref uint pFlags)
|
| + {
|
| + pFlags = 0;
|
| + EVROverlayError result = FnTable.GetOverlayFlags(ulOverlayHandle,ref pFlags);
|
| + return result;
|
| + }
|
| + public VRMessageOverlayResponse ShowMessageOverlay(string pchText,string pchCaption,string pchButton0Text,string pchButton1Text,string pchButton2Text,string pchButton3Text)
|
| + {
|
| + VRMessageOverlayResponse result = FnTable.ShowMessageOverlay(pchText,pchCaption,pchButton0Text,pchButton1Text,pchButton2Text,pchButton3Text);
|
| + return result;
|
| + }
|
| +}
|
| +
|
| +
|
| +public class CVRRenderModels
|
| +{
|
| + IVRRenderModels FnTable;
|
| + internal CVRRenderModels(IntPtr pInterface)
|
| + {
|
| + FnTable = (IVRRenderModels)Marshal.PtrToStructure(pInterface, typeof(IVRRenderModels));
|
| + }
|
| + public EVRRenderModelError LoadRenderModel_Async(string pchRenderModelName,ref IntPtr ppRenderModel)
|
| + {
|
| + EVRRenderModelError result = FnTable.LoadRenderModel_Async(pchRenderModelName,ref ppRenderModel);
|
| + return result;
|
| + }
|
| + public void FreeRenderModel(IntPtr pRenderModel)
|
| + {
|
| + FnTable.FreeRenderModel(pRenderModel);
|
| + }
|
| + public EVRRenderModelError LoadTexture_Async(int textureId,ref IntPtr ppTexture)
|
| + {
|
| + EVRRenderModelError result = FnTable.LoadTexture_Async(textureId,ref ppTexture);
|
| + return result;
|
| + }
|
| + public void FreeTexture(IntPtr pTexture)
|
| + {
|
| + FnTable.FreeTexture(pTexture);
|
| + }
|
| + public EVRRenderModelError LoadTextureD3D11_Async(int textureId,IntPtr pD3D11Device,ref IntPtr ppD3D11Texture2D)
|
| + {
|
| + EVRRenderModelError result = FnTable.LoadTextureD3D11_Async(textureId,pD3D11Device,ref ppD3D11Texture2D);
|
| + return result;
|
| + }
|
| + public EVRRenderModelError LoadIntoTextureD3D11_Async(int textureId,IntPtr pDstTexture)
|
| + {
|
| + EVRRenderModelError result = FnTable.LoadIntoTextureD3D11_Async(textureId,pDstTexture);
|
| + return result;
|
| + }
|
| + public void FreeTextureD3D11(IntPtr pD3D11Texture2D)
|
| + {
|
| + FnTable.FreeTextureD3D11(pD3D11Texture2D);
|
| + }
|
| + public uint GetRenderModelName(uint unRenderModelIndex,System.Text.StringBuilder pchRenderModelName,uint unRenderModelNameLen)
|
| + {
|
| + uint result = FnTable.GetRenderModelName(unRenderModelIndex,pchRenderModelName,unRenderModelNameLen);
|
| + return result;
|
| + }
|
| + public uint GetRenderModelCount()
|
| + {
|
| + uint result = FnTable.GetRenderModelCount();
|
| + return result;
|
| + }
|
| + public uint GetComponentCount(string pchRenderModelName)
|
| + {
|
| + uint result = FnTable.GetComponentCount(pchRenderModelName);
|
| + return result;
|
| + }
|
| + public uint GetComponentName(string pchRenderModelName,uint unComponentIndex,System.Text.StringBuilder pchComponentName,uint unComponentNameLen)
|
| + {
|
| + uint result = FnTable.GetComponentName(pchRenderModelName,unComponentIndex,pchComponentName,unComponentNameLen);
|
| + return result;
|
| + }
|
| + public ulong GetComponentButtonMask(string pchRenderModelName,string pchComponentName)
|
| + {
|
| + ulong result = FnTable.GetComponentButtonMask(pchRenderModelName,pchComponentName);
|
| + return result;
|
| + }
|
| + public uint GetComponentRenderModelName(string pchRenderModelName,string pchComponentName,System.Text.StringBuilder pchComponentRenderModelName,uint unComponentRenderModelNameLen)
|
| + {
|
| + uint result = FnTable.GetComponentRenderModelName(pchRenderModelName,pchComponentName,pchComponentRenderModelName,unComponentRenderModelNameLen);
|
| + return result;
|
| + }
|
| +// This is a terrible hack to workaround the fact that VRControllerState_t was
|
| +// originally mis-compiled with the wrong packing for Linux and OSX.
|
| + [UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
| + internal delegate bool _GetComponentStatePacked(string pchRenderModelName,string pchComponentName,ref VRControllerState_t_Packed pControllerState,ref RenderModel_ControllerMode_State_t pState,ref RenderModel_ComponentState_t pComponentState);
|
| + [StructLayout(LayoutKind.Explicit)]
|
| + struct GetComponentStateUnion
|
| + {
|
| + [FieldOffset(0)]
|
| + public IVRRenderModels._GetComponentState pGetComponentState;
|
| + [FieldOffset(0)]
|
| + public _GetComponentStatePacked pGetComponentStatePacked;
|
| + }
|
| + public bool GetComponentState(string pchRenderModelName,string pchComponentName,ref VRControllerState_t pControllerState,ref RenderModel_ControllerMode_State_t pState,ref RenderModel_ComponentState_t pComponentState)
|
| + {
|
| + if ((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();
|
| + u.pGetComponentStatePacked = null;
|
| + u.pGetComponentState = FnTable.GetComponentState;
|
| + bool packed_result = u.pGetComponentStatePacked(pchRenderModelName,pchComponentName,ref state_packed,ref pState,ref pComponentState);
|
| +
|
| + state_packed.Unpack(ref pControllerState);
|
| + return packed_result;
|
| + }
|
| + bool result = FnTable.GetComponentState(pchRenderModelName,pchComponentName,ref pControllerState,ref pState,ref pComponentState);
|
| + return result;
|
| + }
|
| + public bool RenderModelHasComponent(string pchRenderModelName,string pchComponentName)
|
| + {
|
| + bool result = FnTable.RenderModelHasComponent(pchRenderModelName,pchComponentName);
|
| + return result;
|
| + }
|
| + public uint GetRenderModelThumbnailURL(string pchRenderModelName,System.Text.StringBuilder pchThumbnailURL,uint unThumbnailURLLen,ref EVRRenderModelError peError)
|
| + {
|
| + uint result = FnTable.GetRenderModelThumbnailURL(pchRenderModelName,pchThumbnailURL,unThumbnailURLLen,ref peError);
|
| + return result;
|
| + }
|
| + public uint GetRenderModelOriginalPath(string pchRenderModelName,System.Text.StringBuilder pchOriginalPath,uint unOriginalPathLen,ref EVRRenderModelError peError)
|
| + {
|
| + uint result = FnTable.GetRenderModelOriginalPath(pchRenderModelName,pchOriginalPath,unOriginalPathLen,ref peError);
|
| + return result;
|
| + }
|
| + public string GetRenderModelErrorNameFromEnum(EVRRenderModelError error)
|
| + {
|
| + IntPtr result = FnTable.GetRenderModelErrorNameFromEnum(error);
|
| + return Marshal.PtrToStringAnsi(result);
|
| + }
|
| +}
|
| +
|
| +
|
| +public class CVRNotifications
|
| +{
|
| + IVRNotifications FnTable;
|
| + internal CVRNotifications(IntPtr pInterface)
|
| + {
|
| + FnTable = (IVRNotifications)Marshal.PtrToStructure(pInterface, typeof(IVRNotifications));
|
| + }
|
| + public EVRNotificationError CreateNotification(ulong ulOverlayHandle,ulong ulUserValue,EVRNotificationType type,string pchText,EVRNotificationStyle style,ref NotificationBitmap_t pImage,ref uint pNotificationId)
|
| + {
|
| + pNotificationId = 0;
|
| + EVRNotificationError result = FnTable.CreateNotification(ulOverlayHandle,ulUserValue,type,pchText,style,ref pImage,ref pNotificationId);
|
| + return result;
|
| + }
|
| + public EVRNotificationError RemoveNotification(uint notificationId)
|
| + {
|
| + EVRNotificationError result = FnTable.RemoveNotification(notificationId);
|
| + return result;
|
| + }
|
| +}
|
| +
|
| +
|
| +public class CVRSettings
|
| +{
|
| + IVRSettings FnTable;
|
| + internal CVRSettings(IntPtr pInterface)
|
| + {
|
| + FnTable = (IVRSettings)Marshal.PtrToStructure(pInterface, typeof(IVRSettings));
|
| + }
|
| + public string GetSettingsErrorNameFromEnum(EVRSettingsError eError)
|
| + {
|
| + IntPtr result = FnTable.GetSettingsErrorNameFromEnum(eError);
|
| + return Marshal.PtrToStringAnsi(result);
|
| + }
|
| + public bool Sync(bool bForce,ref EVRSettingsError peError)
|
| + {
|
| + bool result = FnTable.Sync(bForce,ref peError);
|
| + return result;
|
| + }
|
| + public void SetBool(string pchSection,string pchSettingsKey,bool bValue,ref EVRSettingsError peError)
|
| + {
|
| + FnTable.SetBool(pchSection,pchSettingsKey,bValue,ref peError);
|
| + }
|
| + public void SetInt32(string pchSection,string pchSettingsKey,int nValue,ref EVRSettingsError peError)
|
| + {
|
| + FnTable.SetInt32(pchSection,pchSettingsKey,nValue,ref peError);
|
| + }
|
| + public void SetFloat(string pchSection,string pchSettingsKey,float flValue,ref EVRSettingsError peError)
|
| + {
|
| + FnTable.SetFloat(pchSection,pchSettingsKey,flValue,ref peError);
|
| + }
|
| + public void SetString(string pchSection,string pchSettingsKey,string pchValue,ref EVRSettingsError peError)
|
| + {
|
| + FnTable.SetString(pchSection,pchSettingsKey,pchValue,ref peError);
|
| + }
|
| + public bool GetBool(string pchSection,string pchSettingsKey,ref EVRSettingsError peError)
|
| + {
|
| + bool result = FnTable.GetBool(pchSection,pchSettingsKey,ref peError);
|
| + return result;
|
| + }
|
| + public int GetInt32(string pchSection,string pchSettingsKey,ref EVRSettingsError peError)
|
| + {
|
| + int result = FnTable.GetInt32(pchSection,pchSettingsKey,ref peError);
|
| + return result;
|
| + }
|
| + public float GetFloat(string pchSection,string pchSettingsKey,ref EVRSettingsError peError)
|
| + {
|
| + float result = FnTable.GetFloat(pchSection,pchSettingsKey,ref peError);
|
| + return result;
|
| + }
|
| + public void GetString(string pchSection,string pchSettingsKey,System.Text.StringBuilder pchValue,uint unValueLen,ref EVRSettingsError peError)
|
| + {
|
| + FnTable.GetString(pchSection,pchSettingsKey,pchValue,unValueLen,ref peError);
|
| + }
|
| + public void RemoveSection(string pchSection,ref EVRSettingsError peError)
|
| + {
|
| + FnTable.RemoveSection(pchSection,ref peError);
|
| + }
|
| + public void RemoveKeyInSection(string pchSection,string pchSettingsKey,ref EVRSettingsError peError)
|
| + {
|
| + FnTable.RemoveKeyInSection(pchSection,pchSettingsKey,ref peError);
|
| + }
|
| +}
|
| +
|
| +
|
| +public class CVRScreenshots
|
| +{
|
| + IVRScreenshots FnTable;
|
| + internal CVRScreenshots(IntPtr pInterface)
|
| + {
|
| + FnTable = (IVRScreenshots)Marshal.PtrToStructure(pInterface, typeof(IVRScreenshots));
|
| + }
|
| + public EVRScreenshotError RequestScreenshot(ref uint pOutScreenshotHandle,EVRScreenshotType type,string pchPreviewFilename,string pchVRFilename)
|
| + {
|
| + pOutScreenshotHandle = 0;
|
| + EVRScreenshotError result = FnTable.RequestScreenshot(ref pOutScreenshotHandle,type,pchPreviewFilename,pchVRFilename);
|
| + return result;
|
| + }
|
| + public EVRScreenshotError HookScreenshot(EVRScreenshotType [] pSupportedTypes)
|
| + {
|
| + EVRScreenshotError result = FnTable.HookScreenshot(pSupportedTypes,(int) pSupportedTypes.Length);
|
| + return result;
|
| + }
|
| + public EVRScreenshotType GetScreenshotPropertyType(uint screenshotHandle,ref EVRScreenshotError pError)
|
| + {
|
| + EVRScreenshotType result = FnTable.GetScreenshotPropertyType(screenshotHandle,ref pError);
|
| + return result;
|
| + }
|
| + public uint GetScreenshotPropertyFilename(uint screenshotHandle,EVRScreenshotPropertyFilenames filenameType,System.Text.StringBuilder pchFilename,uint cchFilename,ref EVRScreenshotError pError)
|
| + {
|
| + uint result = FnTable.GetScreenshotPropertyFilename(screenshotHandle,filenameType,pchFilename,cchFilename,ref pError);
|
| + return result;
|
| + }
|
| + public EVRScreenshotError UpdateScreenshotProgress(uint screenshotHandle,float flProgress)
|
| + {
|
| + EVRScreenshotError result = FnTable.UpdateScreenshotProgress(screenshotHandle,flProgress);
|
| + return result;
|
| + }
|
| + public EVRScreenshotError TakeStereoScreenshot(ref uint pOutScreenshotHandle,string pchPreviewFilename,string pchVRFilename)
|
| + {
|
| + pOutScreenshotHandle = 0;
|
| + EVRScreenshotError result = FnTable.TakeStereoScreenshot(ref pOutScreenshotHandle,pchPreviewFilename,pchVRFilename);
|
| + return result;
|
| + }
|
| + public EVRScreenshotError SubmitScreenshot(uint screenshotHandle,EVRScreenshotType type,string pchSourcePreviewFilename,string pchSourceVRFilename)
|
| + {
|
| + EVRScreenshotError result = FnTable.SubmitScreenshot(screenshotHandle,type,pchSourcePreviewFilename,pchSourceVRFilename);
|
| + return result;
|
| + }
|
| +}
|
| +
|
| +
|
| +public class CVRResources
|
| +{
|
| + IVRResources FnTable;
|
| + internal CVRResources(IntPtr pInterface)
|
| + {
|
| + FnTable = (IVRResources)Marshal.PtrToStructure(pInterface, typeof(IVRResources));
|
| + }
|
| + public uint LoadSharedResource(string pchResourceName,string pchBuffer,uint unBufferLen)
|
| + {
|
| + uint result = FnTable.LoadSharedResource(pchResourceName,pchBuffer,unBufferLen);
|
| + return result;
|
| + }
|
| + public uint GetResourceFullPath(string pchResourceName,string pchResourceTypeDirectory,string pchPathBuffer,uint unBufferLen)
|
| + {
|
| + uint result = FnTable.GetResourceFullPath(pchResourceName,pchResourceTypeDirectory,pchPathBuffer,unBufferLen);
|
| + return result;
|
| + }
|
| +}
|
| +
|
| +
|
| +public class OpenVRInterop
|
| +{
|
| + [DllImportAttribute("openvr_api", EntryPoint = "VR_InitInternal", CallingConvention = CallingConvention.Cdecl)]
|
| + internal static extern uint InitInternal(ref EVRInitError peError, EVRApplicationType eApplicationType);
|
| + [DllImportAttribute("openvr_api", EntryPoint = "VR_ShutdownInternal", CallingConvention = CallingConvention.Cdecl)]
|
| + internal static extern void ShutdownInternal();
|
| + [DllImportAttribute("openvr_api", EntryPoint = "VR_IsHmdPresent", CallingConvention = CallingConvention.Cdecl)]
|
| + internal static extern bool IsHmdPresent();
|
| + [DllImportAttribute("openvr_api", EntryPoint = "VR_IsRuntimeInstalled", CallingConvention = CallingConvention.Cdecl)]
|
| + internal static extern bool IsRuntimeInstalled();
|
| + [DllImportAttribute("openvr_api", EntryPoint = "VR_GetStringForHmdError", CallingConvention = CallingConvention.Cdecl)]
|
| + internal static extern IntPtr GetStringForHmdError(EVRInitError error);
|
| + [DllImportAttribute("openvr_api", EntryPoint = "VR_GetGenericInterface", CallingConvention = CallingConvention.Cdecl)]
|
| + internal static extern IntPtr GetGenericInterface([In, MarshalAs(UnmanagedType.LPStr)] string pchInterfaceVersion, ref EVRInitError peError);
|
| + [DllImportAttribute("openvr_api", EntryPoint = "VR_IsInterfaceVersionValid", CallingConvention = CallingConvention.Cdecl)]
|
| + internal static extern bool IsInterfaceVersionValid([In, MarshalAs(UnmanagedType.LPStr)] string pchInterfaceVersion);
|
| + [DllImportAttribute("openvr_api", EntryPoint = "VR_GetInitToken", CallingConvention = CallingConvention.Cdecl)]
|
| + internal static extern uint GetInitToken();
|
| +}
|
| +
|
| +
|
| +public enum EVREye
|
| +{
|
| + Eye_Left = 0,
|
| + Eye_Right = 1,
|
| +}
|
| +public enum ETextureType
|
| +{
|
| + DirectX = 0,
|
| + OpenGL = 1,
|
| + Vulkan = 2,
|
| + IOSurface = 3,
|
| + DirectX12 = 4,
|
| +}
|
| +public enum EColorSpace
|
| +{
|
| + Auto = 0,
|
| + Gamma = 1,
|
| + Linear = 2,
|
| +}
|
| +public enum ETrackingResult
|
| +{
|
| + Uninitialized = 1,
|
| + Calibrating_InProgress = 100,
|
| + Calibrating_OutOfRange = 101,
|
| + Running_OK = 200,
|
| + Running_OutOfRange = 201,
|
| +}
|
| +public enum ETrackedDeviceClass
|
| +{
|
| + Invalid = 0,
|
| + HMD = 1,
|
| + Controller = 2,
|
| + GenericTracker = 3,
|
| + TrackingReference = 4,
|
| +}
|
| +public enum ETrackedControllerRole
|
| +{
|
| + Invalid = 0,
|
| + LeftHand = 1,
|
| + RightHand = 2,
|
| +}
|
| +public enum ETrackingUniverseOrigin
|
| +{
|
| + TrackingUniverseSeated = 0,
|
| + TrackingUniverseStanding = 1,
|
| + TrackingUniverseRawAndUncalibrated = 2,
|
| +}
|
| +public enum ETrackedDeviceProperty
|
| +{
|
| + Prop_Invalid = 0,
|
| + Prop_TrackingSystemName_String = 1000,
|
| + Prop_ModelNumber_String = 1001,
|
| + Prop_SerialNumber_String = 1002,
|
| + Prop_RenderModelName_String = 1003,
|
| + Prop_WillDriftInYaw_Bool = 1004,
|
| + Prop_ManufacturerName_String = 1005,
|
| + Prop_TrackingFirmwareVersion_String = 1006,
|
| + Prop_HardwareRevision_String = 1007,
|
| + Prop_AllWirelessDongleDescriptions_String = 1008,
|
| + Prop_ConnectedWirelessDongle_String = 1009,
|
| + Prop_DeviceIsWireless_Bool = 1010,
|
| + Prop_DeviceIsCharging_Bool = 1011,
|
| + Prop_DeviceBatteryPercentage_Float = 1012,
|
| + Prop_StatusDisplayTransform_Matrix34 = 1013,
|
| + Prop_Firmware_UpdateAvailable_Bool = 1014,
|
| + Prop_Firmware_ManualUpdate_Bool = 1015,
|
| + Prop_Firmware_ManualUpdateURL_String = 1016,
|
| + Prop_HardwareRevision_Uint64 = 1017,
|
| + Prop_FirmwareVersion_Uint64 = 1018,
|
| + Prop_FPGAVersion_Uint64 = 1019,
|
| + Prop_VRCVersion_Uint64 = 1020,
|
| + Prop_RadioVersion_Uint64 = 1021,
|
| + Prop_DongleVersion_Uint64 = 1022,
|
| + Prop_BlockServerShutdown_Bool = 1023,
|
| + Prop_CanUnifyCoordinateSystemWithHmd_Bool = 1024,
|
| + Prop_ContainsProximitySensor_Bool = 1025,
|
| + Prop_DeviceProvidesBatteryStatus_Bool = 1026,
|
| + Prop_DeviceCanPowerOff_Bool = 1027,
|
| + Prop_Firmware_ProgrammingTarget_String = 1028,
|
| + Prop_DeviceClass_Int32 = 1029,
|
| + Prop_HasCamera_Bool = 1030,
|
| + Prop_DriverVersion_String = 1031,
|
| + Prop_Firmware_ForceUpdateRequired_Bool = 1032,
|
| + Prop_ViveSystemButtonFixRequired_Bool = 1033,
|
| + Prop_ParentDriver_Uint64 = 1034,
|
| + Prop_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_UsesDriverDirectMode_Bool = 2042,
|
| + Prop_AttachedDeviceId_String = 3000,
|
| + Prop_SupportedButtons_Uint64 = 3001,
|
| + Prop_Axis0Type_Int32 = 3002,
|
| + Prop_Axis1Type_Int32 = 3003,
|
| + Prop_Axis2Type_Int32 = 3004,
|
| + Prop_Axis3Type_Int32 = 3005,
|
| + Prop_Axis4Type_Int32 = 3006,
|
| + Prop_ControllerRoleHint_Int32 = 3007,
|
| + Prop_FieldOfViewLeftDegrees_Float = 4000,
|
| + Prop_FieldOfViewRightDegrees_Float = 4001,
|
| + Prop_FieldOfViewTopDegrees_Float = 4002,
|
| + Prop_FieldOfViewBottomDegrees_Float = 4003,
|
| + Prop_TrackingRangeMinimumMeters_Float = 4004,
|
| + Prop_TrackingRangeMaximumMeters_Float = 4005,
|
| + Prop_ModeLabel_String = 4006,
|
| + Prop_IconPathName_String = 5000,
|
| + Prop_NamedIconPathDeviceOff_String = 5001,
|
| + Prop_NamedIconPathDeviceSearching_String = 5002,
|
| + Prop_NamedIconPathDeviceSearchingAlert_String = 5003,
|
| + Prop_NamedIconPathDeviceReady_String = 5004,
|
| + Prop_NamedIconPathDeviceReadyAlert_String = 5005,
|
| + Prop_NamedIconPathDeviceNotReady_String = 5006,
|
| + Prop_NamedIconPathDeviceStandby_String = 5007,
|
| + Prop_NamedIconPathDeviceAlertLow_String = 5008,
|
| + Prop_DisplayHiddenArea_Binary_Start = 5100,
|
| + Prop_DisplayHiddenArea_Binary_End = 5150,
|
| + Prop_UserConfigPath_String = 6000,
|
| + Prop_InstallPath_String = 6001,
|
| + Prop_VendorSpecific_Reserved_Start = 10000,
|
| + Prop_VendorSpecific_Reserved_End = 10999,
|
| +}
|
| +public enum ETrackedPropertyError
|
| +{
|
| + TrackedProp_Success = 0,
|
| + TrackedProp_WrongDataType = 1,
|
| + TrackedProp_WrongDeviceClass = 2,
|
| + TrackedProp_BufferTooSmall = 3,
|
| + TrackedProp_UnknownProperty = 4,
|
| + TrackedProp_InvalidDevice = 5,
|
| + TrackedProp_CouldNotContactServer = 6,
|
| + TrackedProp_ValueNotProvidedByDevice = 7,
|
| + TrackedProp_StringExceedsMaximumLength = 8,
|
| + TrackedProp_NotYetAvailable = 9,
|
| + TrackedProp_PermissionDenied = 10,
|
| + TrackedProp_InvalidOperation = 11,
|
| +}
|
| +public enum EVRSubmitFlags
|
| +{
|
| + Submit_Default = 0,
|
| + Submit_LensDistortionAlreadyApplied = 1,
|
| + Submit_GlRenderBuffer = 2,
|
| + Submit_Reserved = 4,
|
| +}
|
| +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_ButtonPress = 200,
|
| + VREvent_ButtonUnpress = 201,
|
| + VREvent_ButtonTouch = 202,
|
| + VREvent_ButtonUntouch = 203,
|
| + VREvent_MouseMove = 300,
|
| + VREvent_MouseButtonDown = 301,
|
| + VREvent_MouseButtonUp = 302,
|
| + VREvent_FocusEnter = 303,
|
| + VREvent_FocusLeave = 304,
|
| + VREvent_Scroll = 305,
|
| + VREvent_TouchPadMove = 306,
|
| + VREvent_OverlayFocusChanged = 307,
|
| + VREvent_InputFocusCaptured = 400,
|
| + VREvent_InputFocusReleased = 401,
|
| + VREvent_SceneFocusLost = 402,
|
| + VREvent_SceneFocusGained = 403,
|
| + VREvent_SceneApplicationChanged = 404,
|
| + VREvent_SceneFocusChanged = 405,
|
| + VREvent_InputFocusChanged = 406,
|
| + VREvent_SceneApplicationSecondaryRenderingStarted = 407,
|
| + VREvent_HideRenderModels = 410,
|
| + VREvent_ShowRenderModels = 411,
|
| + VREvent_OverlayShown = 500,
|
| + VREvent_OverlayHidden = 501,
|
| + VREvent_DashboardActivated = 502,
|
| + VREvent_DashboardDeactivated = 503,
|
| + VREvent_DashboardThumbSelected = 504,
|
| + VREvent_DashboardRequested = 505,
|
| + VREvent_ResetDashboard = 506,
|
| + VREvent_RenderToast = 507,
|
| + VREvent_ImageLoaded = 508,
|
| + VREvent_ShowKeyboard = 509,
|
| + VREvent_HideKeyboard = 510,
|
| + VREvent_OverlayGamepadFocusGained = 511,
|
| + VREvent_OverlayGamepadFocusLost = 512,
|
| + VREvent_OverlaySharedTextureChanged = 513,
|
| + VREvent_DashboardGuideButtonDown = 514,
|
| + VREvent_DashboardGuideButtonUp = 515,
|
| + VREvent_ScreenshotTriggered = 516,
|
| + VREvent_ImageFailed = 517,
|
| + VREvent_DashboardOverlayCreated = 518,
|
| + VREvent_RequestScreenshot = 520,
|
| + VREvent_ScreenshotTaken = 521,
|
| + VREvent_ScreenshotFailed = 522,
|
| + VREvent_SubmitScreenshotToDashboard = 523,
|
| + VREvent_ScreenshotProgressToDashboard = 524,
|
| + VREvent_PrimaryDashboardDeviceChanged = 525,
|
| + VREvent_Notification_Shown = 600,
|
| + VREvent_Notification_Hidden = 601,
|
| + VREvent_Notification_BeginInteraction = 602,
|
| + VREvent_Notification_Destroyed = 603,
|
| + VREvent_Quit = 700,
|
| + VREvent_ProcessQuit = 701,
|
| + VREvent_QuitAborted_UserPrompt = 702,
|
| + VREvent_QuitAcknowledged = 703,
|
| + VREvent_DriverRequestedQuit = 704,
|
| + VREvent_ChaperoneDataHasChanged = 800,
|
| + VREvent_ChaperoneUniverseHasChanged = 801,
|
| + VREvent_ChaperoneTempDataHasChanged = 802,
|
| + VREvent_ChaperoneSettingsHaveChanged = 803,
|
| + VREvent_SeatedZeroPoseReset = 804,
|
| + VREvent_AudioSettingsHaveChanged = 820,
|
| + VREvent_BackgroundSettingHasChanged = 850,
|
| + VREvent_CameraSettingsHaveChanged = 851,
|
| + VREvent_ReprojectionSettingHasChanged = 852,
|
| + VREvent_ModelSkinSettingsHaveChanged = 853,
|
| + VREvent_EnvironmentSettingsHaveChanged = 854,
|
| + VREvent_PowerSettingsHaveChanged = 855,
|
| + VREvent_StatusUpdate = 900,
|
| + VREvent_MCImageUpdated = 1000,
|
| + VREvent_FirmwareUpdateStarted = 1100,
|
| + VREvent_FirmwareUpdateFinished = 1101,
|
| + VREvent_KeyboardClosed = 1200,
|
| + VREvent_KeyboardCharInput = 1201,
|
| + VREvent_KeyboardDone = 1202,
|
| + VREvent_ApplicationTransitionStarted = 1300,
|
| + VREvent_ApplicationTransitionAborted = 1301,
|
| + VREvent_ApplicationTransitionNewAppStarted = 1302,
|
| + VREvent_ApplicationListUpdated = 1303,
|
| + VREvent_ApplicationMimeTypeLoad = 1304,
|
| + VREvent_ApplicationTransitionNewAppLaunchComplete = 1305,
|
| + VREvent_Compositor_MirrorWindowShown = 1400,
|
| + VREvent_Compositor_MirrorWindowHidden = 1401,
|
| + VREvent_Compositor_ChaperoneBoundsShown = 1410,
|
| + VREvent_Compositor_ChaperoneBoundsHidden = 1411,
|
| + VREvent_TrackedCamera_StartVideoStream = 1500,
|
| + VREvent_TrackedCamera_StopVideoStream = 1501,
|
| + VREvent_TrackedCamera_PauseVideoStream = 1502,
|
| + VREvent_TrackedCamera_ResumeVideoStream = 1503,
|
| + VREvent_TrackedCamera_EditingSurface = 1550,
|
| + VREvent_PerformanceTest_EnableCapture = 1600,
|
| + VREvent_PerformanceTest_DisableCapture = 1601,
|
| + VREvent_PerformanceTest_FidelityLevel = 1602,
|
| + VREvent_MessageOverlay_Closed = 1650,
|
| + VREvent_VendorSpecific_Reserved_Start = 10000,
|
| + VREvent_VendorSpecific_Reserved_End = 19999,
|
| +}
|
| +public enum EDeviceActivityLevel
|
| +{
|
| + k_EDeviceActivityLevel_Unknown = -1,
|
| + k_EDeviceActivityLevel_Idle = 0,
|
| + k_EDeviceActivityLevel_UserInteraction = 1,
|
| + k_EDeviceActivityLevel_UserInteraction_Timeout = 2,
|
| + k_EDeviceActivityLevel_Standby = 3,
|
| +}
|
| +public enum EVRButtonId
|
| +{
|
| + k_EButton_System = 0,
|
| + k_EButton_ApplicationMenu = 1,
|
| + k_EButton_Grip = 2,
|
| + k_EButton_DPad_Left = 3,
|
| + k_EButton_DPad_Up = 4,
|
| + k_EButton_DPad_Right = 5,
|
| + k_EButton_DPad_Down = 6,
|
| + k_EButton_A = 7,
|
| + k_EButton_ProximitySensor = 31,
|
| + k_EButton_Axis0 = 32,
|
| + k_EButton_Axis1 = 33,
|
| + k_EButton_Axis2 = 34,
|
| + k_EButton_Axis3 = 35,
|
| + k_EButton_Axis4 = 36,
|
| + k_EButton_SteamVR_Touchpad = 32,
|
| + k_EButton_SteamVR_Trigger = 33,
|
| + k_EButton_Dashboard_Back = 2,
|
| + k_EButton_Max = 64,
|
| +}
|
| +public enum EVRMouseButton
|
| +{
|
| + Left = 1,
|
| + Right = 2,
|
| + Middle = 4,
|
| +}
|
| +public enum EHiddenAreaMeshType
|
| +{
|
| + k_eHiddenAreaMesh_Standard = 0,
|
| + k_eHiddenAreaMesh_Inverse = 1,
|
| + k_eHiddenAreaMesh_LineLoop = 2,
|
| + k_eHiddenAreaMesh_Max = 3,
|
| +}
|
| +public enum EVRControllerAxisType
|
| +{
|
| + k_eControllerAxis_None = 0,
|
| + k_eControllerAxis_TrackPad = 1,
|
| + k_eControllerAxis_Joystick = 2,
|
| + k_eControllerAxis_Trigger = 3,
|
| +}
|
| +public enum EVRControllerEventOutputType
|
| +{
|
| + ControllerEventOutput_OSEvents = 0,
|
| + ControllerEventOutput_VREvents = 1,
|
| +}
|
| +public enum ECollisionBoundsStyle
|
| +{
|
| + COLLISION_BOUNDS_STYLE_BEGINNER = 0,
|
| + COLLISION_BOUNDS_STYLE_INTERMEDIATE = 1,
|
| + COLLISION_BOUNDS_STYLE_SQUARES = 2,
|
| + COLLISION_BOUNDS_STYLE_ADVANCED = 3,
|
| + COLLISION_BOUNDS_STYLE_NONE = 4,
|
| + COLLISION_BOUNDS_STYLE_COUNT = 5,
|
| +}
|
| +public enum EVROverlayError
|
| +{
|
| + None = 0,
|
| + UnknownOverlay = 10,
|
| + InvalidHandle = 11,
|
| + PermissionDenied = 12,
|
| + OverlayLimitExceeded = 13,
|
| + WrongVisibilityType = 14,
|
| + KeyTooLong = 15,
|
| + NameTooLong = 16,
|
| + KeyInUse = 17,
|
| + WrongTransformType = 18,
|
| + InvalidTrackedDevice = 19,
|
| + InvalidParameter = 20,
|
| + ThumbnailCantBeDestroyed = 21,
|
| + ArrayTooSmall = 22,
|
| + RequestFailed = 23,
|
| + InvalidTexture = 24,
|
| + UnableToLoadFile = 25,
|
| + KeyboardAlreadyInUse = 26,
|
| + NoNeighbor = 27,
|
| + TooManyMaskPrimitives = 29,
|
| + BadMaskPrimitive = 30,
|
| +}
|
| +public enum EVRApplicationType
|
| +{
|
| + VRApplication_Other = 0,
|
| + VRApplication_Scene = 1,
|
| + VRApplication_Overlay = 2,
|
| + VRApplication_Background = 3,
|
| + VRApplication_Utility = 4,
|
| + VRApplication_VRMonitor = 5,
|
| + VRApplication_SteamWatchdog = 6,
|
| + VRApplication_Max = 7,
|
| +}
|
| +public enum EVRFirmwareError
|
| +{
|
| + None = 0,
|
| + Success = 1,
|
| + Fail = 2,
|
| +}
|
| +public enum EVRNotificationError
|
| +{
|
| + OK = 0,
|
| + InvalidNotificationId = 100,
|
| + NotificationQueueFull = 101,
|
| + InvalidOverlayHandle = 102,
|
| + SystemWithUserValueAlreadyExists = 103,
|
| +}
|
| +public enum EVRInitError
|
| +{
|
| + None = 0,
|
| + Unknown = 1,
|
| + Init_InstallationNotFound = 100,
|
| + Init_InstallationCorrupt = 101,
|
| + Init_VRClientDLLNotFound = 102,
|
| + Init_FileNotFound = 103,
|
| + Init_FactoryNotFound = 104,
|
| + Init_InterfaceNotFound = 105,
|
| + Init_InvalidInterface = 106,
|
| + Init_UserConfigDirectoryInvalid = 107,
|
| + Init_HmdNotFound = 108,
|
| + Init_NotInitialized = 109,
|
| + Init_PathRegistryNotFound = 110,
|
| + Init_NoConfigPath = 111,
|
| + Init_NoLogPath = 112,
|
| + Init_PathRegistryNotWritable = 113,
|
| + Init_AppInfoInitFailed = 114,
|
| + Init_Retry = 115,
|
| + Init_InitCanceledByUser = 116,
|
| + Init_AnotherAppLaunching = 117,
|
| + Init_SettingsInitFailed = 118,
|
| + Init_ShuttingDown = 119,
|
| + Init_TooManyObjects = 120,
|
| + Init_NoServerForBackgroundApp = 121,
|
| + Init_NotSupportedWithCompositor = 122,
|
| + Init_NotAvailableToUtilityApps = 123,
|
| + Init_Internal = 124,
|
| + Init_HmdDriverIdIsNone = 125,
|
| + Init_HmdNotFoundPresenceFailed = 126,
|
| + Init_VRMonitorNotFound = 127,
|
| + Init_VRMonitorStartupFailed = 128,
|
| + Init_LowPowerWatchdogNotSupported = 129,
|
| + Init_InvalidApplicationType = 130,
|
| + Init_NotAvailableToWatchdogApps = 131,
|
| + Init_WatchdogDisabledInSettings = 132,
|
| + Init_VRDashboardNotFound = 133,
|
| + Init_VRDashboardStartupFailed = 134,
|
| + Driver_Failed = 200,
|
| + Driver_Unknown = 201,
|
| + Driver_HmdUnknown = 202,
|
| + Driver_NotLoaded = 203,
|
| + Driver_RuntimeOutOfDate = 204,
|
| + Driver_HmdInUse = 205,
|
| + Driver_NotCalibrated = 206,
|
| + Driver_CalibrationInvalid = 207,
|
| + Driver_HmdDisplayNotFound = 208,
|
| + Driver_TrackedDeviceInterfaceUnknown = 209,
|
| + Driver_HmdDriverIdOutOfBounds = 211,
|
| + Driver_HmdDisplayMirrored = 212,
|
| + IPC_ServerInitFailed = 300,
|
| + IPC_ConnectFailed = 301,
|
| + IPC_SharedStateInitFailed = 302,
|
| + IPC_CompositorInitFailed = 303,
|
| + IPC_MutexInitFailed = 304,
|
| + IPC_Failed = 305,
|
| + IPC_CompositorConnectFailed = 306,
|
| + IPC_CompositorInvalidConnectResponse = 307,
|
| + IPC_ConnectFailedAfterMultipleAttempts = 308,
|
| + Compositor_Failed = 400,
|
| + Compositor_D3D11HardwareRequired = 401,
|
| + Compositor_FirmwareRequiresUpdate = 402,
|
| + Compositor_OverlayInitFailed = 403,
|
| + Compositor_ScreenshotsInitFailed = 404,
|
| + VendorSpecific_UnableToConnectToOculusRuntime = 1000,
|
| + VendorSpecific_HmdFound_CantOpenDevice = 1101,
|
| + VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102,
|
| + VendorSpecific_HmdFound_NoStoredConfig = 1103,
|
| + VendorSpecific_HmdFound_ConfigTooBig = 1104,
|
| + VendorSpecific_HmdFound_ConfigTooSmall = 1105,
|
| + VendorSpecific_HmdFound_UnableToInitZLib = 1106,
|
| + VendorSpecific_HmdFound_CantReadFirmwareVersion = 1107,
|
| + VendorSpecific_HmdFound_UnableToSendUserDataStart = 1108,
|
| + VendorSpecific_HmdFound_UnableToGetUserDataStart = 1109,
|
| + VendorSpecific_HmdFound_UnableToGetUserDataNext = 1110,
|
| + VendorSpecific_HmdFound_UserDataAddressRange = 1111,
|
| + VendorSpecific_HmdFound_UserDataError = 1112,
|
| + VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113,
|
| + Steam_SteamInstallationNotFound = 2000,
|
| +}
|
| +public enum EVRScreenshotType
|
| +{
|
| + None = 0,
|
| + Mono = 1,
|
| + Stereo = 2,
|
| + Cubemap = 3,
|
| + MonoPanorama = 4,
|
| + StereoPanorama = 5,
|
| +}
|
| +public enum EVRScreenshotPropertyFilenames
|
| +{
|
| + Preview = 0,
|
| + VR = 1,
|
| +}
|
| +public enum EVRTrackedCameraError
|
| +{
|
| + None = 0,
|
| + OperationFailed = 100,
|
| + InvalidHandle = 101,
|
| + InvalidFrameHeaderVersion = 102,
|
| + OutOfHandles = 103,
|
| + IPCFailure = 104,
|
| + NotSupportedForThisDevice = 105,
|
| + SharedMemoryFailure = 106,
|
| + FrameBufferingFailure = 107,
|
| + StreamSetupFailure = 108,
|
| + InvalidGLTextureId = 109,
|
| + InvalidSharedTextureHandle = 110,
|
| + FailedToGetGLTextureId = 111,
|
| + SharedTextureFailure = 112,
|
| + NoFrameAvailable = 113,
|
| + InvalidArgument = 114,
|
| + InvalidFrameBufferSize = 115,
|
| +}
|
| +public enum EVRTrackedCameraFrameType
|
| +{
|
| + Distorted = 0,
|
| + Undistorted = 1,
|
| + MaximumUndistorted = 2,
|
| + MAX_CAMERA_FRAME_TYPES = 3,
|
| +}
|
| +public enum EVRApplicationError
|
| +{
|
| + None = 0,
|
| + AppKeyAlreadyExists = 100,
|
| + NoManifest = 101,
|
| + NoApplication = 102,
|
| + InvalidIndex = 103,
|
| + UnknownApplication = 104,
|
| + IPCFailed = 105,
|
| + ApplicationAlreadyRunning = 106,
|
| + InvalidManifest = 107,
|
| + InvalidApplication = 108,
|
| + LaunchFailed = 109,
|
| + ApplicationAlreadyStarting = 110,
|
| + LaunchInProgress = 111,
|
| + OldApplicationQuitting = 112,
|
| + TransitionAborted = 113,
|
| + IsTemplate = 114,
|
| + BufferTooSmall = 200,
|
| + PropertyNotSet = 201,
|
| + UnknownProperty = 202,
|
| + InvalidParameter = 203,
|
| +}
|
| +public enum EVRApplicationProperty
|
| +{
|
| + Name_String = 0,
|
| + LaunchType_String = 11,
|
| + WorkingDirectory_String = 12,
|
| + BinaryPath_String = 13,
|
| + Arguments_String = 14,
|
| + URL_String = 15,
|
| + Description_String = 50,
|
| + NewsURL_String = 51,
|
| + ImagePath_String = 52,
|
| + Source_String = 53,
|
| + IsDashboardOverlay_Bool = 60,
|
| + IsTemplate_Bool = 61,
|
| + IsInstanced_Bool = 62,
|
| + IsInternal_Bool = 63,
|
| + LastLaunchTime_Uint64 = 70,
|
| +}
|
| +public enum EVRApplicationTransitionState
|
| +{
|
| + VRApplicationTransition_None = 0,
|
| + VRApplicationTransition_OldAppQuitSent = 10,
|
| + VRApplicationTransition_WaitingForExternalLaunch = 11,
|
| + VRApplicationTransition_NewAppLaunched = 20,
|
| +}
|
| +public enum ChaperoneCalibrationState
|
| +{
|
| + OK = 1,
|
| + Warning = 100,
|
| + Warning_BaseStationMayHaveMoved = 101,
|
| + Warning_BaseStationRemoved = 102,
|
| + Warning_SeatedBoundsInvalid = 103,
|
| + Error = 200,
|
| + Error_BaseStationUninitialized = 201,
|
| + Error_BaseStationConflict = 202,
|
| + Error_PlayAreaInvalid = 203,
|
| + Error_CollisionBoundsInvalid = 204,
|
| +}
|
| +public enum EChaperoneConfigFile
|
| +{
|
| + Live = 1,
|
| + Temp = 2,
|
| +}
|
| +public enum EChaperoneImportFlags
|
| +{
|
| + EChaperoneImport_BoundsOnly = 1,
|
| +}
|
| +public enum EVRCompositorError
|
| +{
|
| + None = 0,
|
| + RequestFailed = 1,
|
| + IncompatibleVersion = 100,
|
| + DoNotHaveFocus = 101,
|
| + InvalidTexture = 102,
|
| + IsNotSceneApplication = 103,
|
| + TextureIsOnWrongDevice = 104,
|
| + TextureUsesUnsupportedFormat = 105,
|
| + SharedTexturesNotSupported = 106,
|
| + IndexOutOfRange = 107,
|
| + AlreadySubmitted = 108,
|
| +}
|
| +public enum VROverlayInputMethod
|
| +{
|
| + None = 0,
|
| + Mouse = 1,
|
| +}
|
| +public enum VROverlayTransformType
|
| +{
|
| + VROverlayTransform_Absolute = 0,
|
| + VROverlayTransform_TrackedDeviceRelative = 1,
|
| + VROverlayTransform_SystemOverlay = 2,
|
| + VROverlayTransform_TrackedComponent = 3,
|
| +}
|
| +public enum VROverlayFlags
|
| +{
|
| + None = 0,
|
| + Curved = 1,
|
| + RGSS4X = 2,
|
| + NoDashboardTab = 3,
|
| + AcceptsGamepadEvents = 4,
|
| + ShowGamepadFocus = 5,
|
| + SendVRScrollEvents = 6,
|
| + SendVRTouchpadEvents = 7,
|
| + ShowTouchPadScrollWheel = 8,
|
| + TransferOwnershipToInternalProcess = 9,
|
| + SideBySide_Parallel = 10,
|
| + SideBySide_Crossed = 11,
|
| + Panorama = 12,
|
| + StereoPanorama = 13,
|
| + SortWithNonSceneOverlays = 14,
|
| + VisibleInDashboard = 15,
|
| +}
|
| +public enum VRMessageOverlayResponse
|
| +{
|
| + ButtonPress_0 = 0,
|
| + ButtonPress_1 = 1,
|
| + ButtonPress_2 = 2,
|
| + ButtonPress_3 = 3,
|
| + CouldntFindSystemOverlay = 4,
|
| + CouldntFindOrCreateClientOverlay = 5,
|
| + ApplicationQuit = 6,
|
| +}
|
| +public enum EGamepadTextInputMode
|
| +{
|
| + k_EGamepadTextInputModeNormal = 0,
|
| + k_EGamepadTextInputModePassword = 1,
|
| + k_EGamepadTextInputModeSubmit = 2,
|
| +}
|
| +public enum EGamepadTextInputLineMode
|
| +{
|
| + k_EGamepadTextInputLineModeSingleLine = 0,
|
| + k_EGamepadTextInputLineModeMultipleLines = 1,
|
| +}
|
| +public enum EOverlayDirection
|
| +{
|
| + Up = 0,
|
| + Down = 1,
|
| + Left = 2,
|
| + Right = 3,
|
| + Count = 4,
|
| +}
|
| +public enum EVROverlayIntersectionMaskPrimitiveType
|
| +{
|
| + OverlayIntersectionPrimitiveType_Rectangle = 0,
|
| + OverlayIntersectionPrimitiveType_Circle = 1,
|
| +}
|
| +public enum EVRRenderModelError
|
| +{
|
| + None = 0,
|
| + Loading = 100,
|
| + NotSupported = 200,
|
| + InvalidArg = 300,
|
| + InvalidModel = 301,
|
| + NoShapes = 302,
|
| + MultipleShapes = 303,
|
| + TooManyVertices = 304,
|
| + MultipleTextures = 305,
|
| + BufferTooSmall = 306,
|
| + NotEnoughNormals = 307,
|
| + NotEnoughTexCoords = 308,
|
| + InvalidTexture = 400,
|
| +}
|
| +public enum EVRComponentProperty
|
| +{
|
| + IsStatic = 1,
|
| + IsVisible = 2,
|
| + IsTouched = 4,
|
| + IsPressed = 8,
|
| + IsScrolled = 16,
|
| +}
|
| +public enum EVRNotificationType
|
| +{
|
| + Transient = 0,
|
| + Persistent = 1,
|
| + Transient_SystemWithUserValue = 2,
|
| +}
|
| +public enum EVRNotificationStyle
|
| +{
|
| + None = 0,
|
| + Application = 100,
|
| + Contact_Disabled = 200,
|
| + Contact_Enabled = 201,
|
| + Contact_Active = 202,
|
| +}
|
| +public enum EVRSettingsError
|
| +{
|
| + None = 0,
|
| + IPCFailed = 1,
|
| + WriteFailed = 2,
|
| + ReadFailed = 3,
|
| + JsonParseFailed = 4,
|
| + UnsetSettingHasNoDefault = 5,
|
| +}
|
| +public enum EVRScreenshotError
|
| +{
|
| + None = 0,
|
| + RequestFailed = 1,
|
| + IncompatibleVersion = 100,
|
| + NotFound = 101,
|
| + BufferTooSmall = 102,
|
| + ScreenshotAlreadyInProgress = 108,
|
| +}
|
| +
|
| +[StructLayout(LayoutKind.Explicit)] public struct VREvent_Data_t
|
| +{
|
| + [FieldOffset(0)] public VREvent_Reserved_t reserved;
|
| + [FieldOffset(0)] public VREvent_Controller_t controller;
|
| + [FieldOffset(0)] public VREvent_Mouse_t mouse;
|
| + [FieldOffset(0)] public VREvent_Scroll_t scroll;
|
| + [FieldOffset(0)] public VREvent_Process_t process;
|
| + [FieldOffset(0)] public VREvent_Notification_t notification;
|
| + [FieldOffset(0)] public VREvent_Overlay_t overlay;
|
| + [FieldOffset(0)] public VREvent_Status_t status;
|
| + [FieldOffset(0)] public VREvent_Ipd_t ipd;
|
| + [FieldOffset(0)] public VREvent_Chaperone_t chaperone;
|
| + [FieldOffset(0)] public VREvent_PerformanceTest_t performanceTest;
|
| + [FieldOffset(0)] public VREvent_TouchPadMove_t touchPadMove;
|
| + [FieldOffset(0)] public VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset;
|
| + [FieldOffset(0)] public VREvent_Screenshot_t screenshot;
|
| + [FieldOffset(0)] public VREvent_ScreenshotProgress_t screenshotProgress;
|
| + [FieldOffset(0)] public VREvent_ApplicationLaunch_t applicationLaunch;
|
| + [FieldOffset(0)] public VREvent_EditingCameraSurface_t cameraSurface;
|
| + [FieldOffset(0)] public VREvent_MessageOverlay_t messageOverlay;
|
| + [FieldOffset(0)] public VREvent_Keyboard_t keyboard; // This has to be at the end due to a mono bug
|
| +}
|
| +
|
| +
|
| +[StructLayout(LayoutKind.Explicit)] public struct VROverlayIntersectionMaskPrimitive_Data_t
|
| +{
|
| + [FieldOffset(0)] public IntersectionMaskRectangle_t m_Rectangle;
|
| + [FieldOffset(0)] public IntersectionMaskCircle_t m_Circle;
|
| +}
|
| +
|
| +[StructLayout(LayoutKind.Sequential)] public struct HmdMatrix34_t
|
| +{
|
| + public float m0; //float[3][4]
|
| + public float m1;
|
| + public float m2;
|
| + public float m3;
|
| + public float m4;
|
| + public float m5;
|
| + public float m6;
|
| + public float m7;
|
| + public float m8;
|
| + public float m9;
|
| + public float m10;
|
| + public float m11;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct HmdMatrix44_t
|
| +{
|
| + public float m0; //float[4][4]
|
| + public float m1;
|
| + public float m2;
|
| + public float m3;
|
| + public float m4;
|
| + public float m5;
|
| + public float m6;
|
| + public float m7;
|
| + public float m8;
|
| + public float m9;
|
| + public float m10;
|
| + public float m11;
|
| + public float m12;
|
| + public float m13;
|
| + public float m14;
|
| + public float m15;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct HmdVector3_t
|
| +{
|
| + public float v0; //float[3]
|
| + public float v1;
|
| + public float v2;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct HmdVector4_t
|
| +{
|
| + public float v0; //float[4]
|
| + public float v1;
|
| + public float v2;
|
| + public float v3;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct HmdVector3d_t
|
| +{
|
| + public double v0; //double[3]
|
| + public double v1;
|
| + public double v2;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct HmdVector2_t
|
| +{
|
| + public float v0; //float[2]
|
| + public float v1;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct HmdQuaternion_t
|
| +{
|
| + public double w;
|
| + public double x;
|
| + public double y;
|
| + public double z;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct HmdColor_t
|
| +{
|
| + public float r;
|
| + public float g;
|
| + public float b;
|
| + public float a;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct HmdQuad_t
|
| +{
|
| + public HmdVector3_t vCorners0; //HmdVector3_t[4]
|
| + public HmdVector3_t vCorners1;
|
| + public HmdVector3_t vCorners2;
|
| + public HmdVector3_t vCorners3;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct HmdRect2_t
|
| +{
|
| + public HmdVector2_t vTopLeft;
|
| + public HmdVector2_t vBottomRight;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct DistortionCoordinates_t
|
| +{
|
| + public float rfRed0; //float[2]
|
| + public float rfRed1;
|
| + public float rfGreen0; //float[2]
|
| + public float rfGreen1;
|
| + public float rfBlue0; //float[2]
|
| + public float rfBlue1;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct Texture_t
|
| +{
|
| + public IntPtr handle; // void *
|
| + public ETextureType eType;
|
| + public EColorSpace eColorSpace;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct TrackedDevicePose_t
|
| +{
|
| + public HmdMatrix34_t mDeviceToAbsoluteTracking;
|
| + public HmdVector3_t vVelocity;
|
| + public HmdVector3_t vAngularVelocity;
|
| + public ETrackingResult eTrackingResult;
|
| + [MarshalAs(UnmanagedType.I1)]
|
| + public bool bPoseIsValid;
|
| + [MarshalAs(UnmanagedType.I1)]
|
| + public bool bDeviceIsConnected;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct VRTextureBounds_t
|
| +{
|
| + public float uMin;
|
| + public float vMin;
|
| + public float uMax;
|
| + public float vMax;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct VRVulkanTextureData_t
|
| +{
|
| + public ulong m_nImage;
|
| + public IntPtr m_pDevice; // struct VkDevice_T *
|
| + public IntPtr m_pPhysicalDevice; // struct VkPhysicalDevice_T *
|
| + public IntPtr m_pInstance; // struct VkInstance_T *
|
| + public IntPtr m_pQueue; // struct VkQueue_T *
|
| + public uint m_nQueueFamilyIndex;
|
| + public uint m_nWidth;
|
| + public uint m_nHeight;
|
| + public uint m_nFormat;
|
| + public uint m_nSampleCount;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct D3D12TextureData_t
|
| +{
|
| + public IntPtr m_pResource; // struct ID3D12Resource *
|
| + public IntPtr m_pCommandQueue; // struct ID3D12CommandQueue *
|
| + public uint m_nNodeMask;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct VREvent_Controller_t
|
| +{
|
| + public uint button;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct VREvent_Mouse_t
|
| +{
|
| + public float x;
|
| + public float y;
|
| + public uint button;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct VREvent_Scroll_t
|
| +{
|
| + public float xdelta;
|
| + public float ydelta;
|
| + public uint repeatCount;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct VREvent_TouchPadMove_t
|
| +{
|
| + [MarshalAs(UnmanagedType.I1)]
|
| + public bool bFingerDown;
|
| + public float flSecondsFingerDown;
|
| + public float fValueXFirst;
|
| + public float fValueYFirst;
|
| + public float fValueXRaw;
|
| + public float fValueYRaw;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct VREvent_Notification_t
|
| +{
|
| + public ulong ulUserValue;
|
| + public uint notificationId;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct VREvent_Process_t
|
| +{
|
| + public uint pid;
|
| + public uint oldPid;
|
| + [MarshalAs(UnmanagedType.I1)]
|
| + public bool bForced;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct VREvent_Overlay_t
|
| +{
|
| + public ulong overlayHandle;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct VREvent_Status_t
|
| +{
|
| + public uint statusState;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct VREvent_Keyboard_t
|
| +{
|
| + public byte cNewInput0,cNewInput1,cNewInput2,cNewInput3,cNewInput4,cNewInput5,cNewInput6,cNewInput7;
|
| + public ulong uUserValue;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct VREvent_Ipd_t
|
| +{
|
| + public float ipdMeters;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct VREvent_Chaperone_t
|
| +{
|
| + public ulong m_nPreviousUniverse;
|
| + public ulong m_nCurrentUniverse;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct VREvent_Reserved_t
|
| +{
|
| + public ulong reserved0;
|
| + public ulong reserved1;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct VREvent_PerformanceTest_t
|
| +{
|
| + public uint m_nFidelityLevel;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct VREvent_SeatedZeroPoseReset_t
|
| +{
|
| + [MarshalAs(UnmanagedType.I1)]
|
| + public bool bResetBySystemMenu;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct VREvent_Screenshot_t
|
| +{
|
| + public uint handle;
|
| + public uint type;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct VREvent_ScreenshotProgress_t
|
| +{
|
| + public float progress;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct VREvent_ApplicationLaunch_t
|
| +{
|
| + public uint pid;
|
| + public uint unArgsHandle;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct VREvent_EditingCameraSurface_t
|
| +{
|
| + public ulong overlayHandle;
|
| + public uint nVisualMode;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct VREvent_MessageOverlay_t
|
| +{
|
| + public uint unVRMessageOverlayResponse;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct VREvent_Property_t
|
| +{
|
| + public ulong container;
|
| + public ETrackedDeviceProperty prop;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct VREvent_t
|
| +{
|
| + public uint eventType;
|
| + public uint trackedDeviceIndex;
|
| + public float eventAgeSeconds;
|
| + public VREvent_Data_t data;
|
| +}
|
| +[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 void Unpack(ref VRControllerState_t unpacked)
|
| + {
|
| + unpacked.unPacketNum = this.unPacketNum;
|
| + unpacked.ulButtonPressed = this.ulButtonPressed;
|
| + unpacked.ulButtonTouched = this.ulButtonTouched;
|
| + unpacked.rAxis0 = this.rAxis0;
|
| + unpacked.rAxis1 = this.rAxis1;
|
| + unpacked.rAxis2 = this.rAxis2;
|
| + unpacked.rAxis3 = this.rAxis3;
|
| + unpacked.rAxis4 = this.rAxis4;
|
| + }
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct Compositor_OverlaySettings
|
| +{
|
| + public uint size;
|
| + [MarshalAs(UnmanagedType.I1)]
|
| + public bool curved;
|
| + [MarshalAs(UnmanagedType.I1)]
|
| + public bool antialias;
|
| + public float scale;
|
| + public float distance;
|
| + public float alpha;
|
| + public float uOffset;
|
| + public float vOffset;
|
| + public float uScale;
|
| + public float vScale;
|
| + public float gridDivs;
|
| + public float gridWidth;
|
| + public float gridScale;
|
| + public HmdMatrix44_t transform;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct CameraVideoStreamFrameHeader_t
|
| +{
|
| + public EVRTrackedCameraFrameType eFrameType;
|
| + public uint nWidth;
|
| + public uint nHeight;
|
| + public uint nBytesPerPixel;
|
| + public uint nFrameSequence;
|
| + public TrackedDevicePose_t standingTrackedDevicePose;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct AppOverrideKeys_t
|
| +{
|
| + public IntPtr pchKey; // const char *
|
| + public IntPtr pchValue; // const char *
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct Compositor_FrameTiming
|
| +{
|
| + public uint m_nSize;
|
| + public uint m_nFrameIndex;
|
| + public uint m_nNumFramePresents;
|
| + public uint m_nNumMisPresented;
|
| + public uint m_nNumDroppedFrames;
|
| + public uint m_nReprojectionFlags;
|
| + public double m_flSystemTimeInSeconds;
|
| + public float m_flPreSubmitGpuMs;
|
| + public float m_flPostSubmitGpuMs;
|
| + public float m_flTotalRenderGpuMs;
|
| + public float m_flCompositorRenderGpuMs;
|
| + public float m_flCompositorRenderCpuMs;
|
| + public float m_flCompositorIdleCpuMs;
|
| + public float m_flClientFrameIntervalMs;
|
| + public float m_flPresentCallCpuMs;
|
| + public float m_flWaitForPresentCpuMs;
|
| + public float m_flSubmitFrameMs;
|
| + public float m_flWaitGetPosesCalledMs;
|
| + public float m_flNewPosesReadyMs;
|
| + public float m_flNewFrameReadyMs;
|
| + public float m_flCompositorUpdateStartMs;
|
| + public float m_flCompositorUpdateEndMs;
|
| + public float m_flCompositorRenderStartMs;
|
| + public TrackedDevicePose_t m_HmdPose;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct Compositor_CumulativeStats
|
| +{
|
| + public uint m_nPid;
|
| + public uint m_nNumFramePresents;
|
| + public uint m_nNumDroppedFrames;
|
| + public uint m_nNumReprojectedFrames;
|
| + public uint m_nNumFramePresentsOnStartup;
|
| + public uint m_nNumDroppedFramesOnStartup;
|
| + public uint m_nNumReprojectedFramesOnStartup;
|
| + public uint m_nNumLoading;
|
| + public uint m_nNumFramePresentsLoading;
|
| + public uint m_nNumDroppedFramesLoading;
|
| + public uint m_nNumReprojectedFramesLoading;
|
| + public uint m_nNumTimedOut;
|
| + public uint m_nNumFramePresentsTimedOut;
|
| + public uint m_nNumDroppedFramesTimedOut;
|
| + public uint m_nNumReprojectedFramesTimedOut;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct VROverlayIntersectionParams_t
|
| +{
|
| + public HmdVector3_t vSource;
|
| + public HmdVector3_t vDirection;
|
| + public ETrackingUniverseOrigin eOrigin;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct VROverlayIntersectionResults_t
|
| +{
|
| + public HmdVector3_t vPoint;
|
| + public HmdVector3_t vNormal;
|
| + public HmdVector2_t vUVs;
|
| + public float fDistance;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct IntersectionMaskRectangle_t
|
| +{
|
| + public float m_flTopLeftX;
|
| + public float m_flTopLeftY;
|
| + public float m_flWidth;
|
| + public float m_flHeight;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct IntersectionMaskCircle_t
|
| +{
|
| + public float m_flCenterX;
|
| + public float m_flCenterY;
|
| + public float m_flRadius;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct VROverlayIntersectionMaskPrimitive_t
|
| +{
|
| + public EVROverlayIntersectionMaskPrimitiveType m_nPrimitiveType;
|
| + public VROverlayIntersectionMaskPrimitive_Data_t m_Primitive;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct RenderModel_ComponentState_t
|
| +{
|
| + public HmdMatrix34_t mTrackingToComponentRenderModel;
|
| + public HmdMatrix34_t mTrackingToComponentLocal;
|
| + public uint uProperties;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct RenderModel_Vertex_t
|
| +{
|
| + public HmdVector3_t vPosition;
|
| + public HmdVector3_t vNormal;
|
| + public float rfTextureCoord0; //float[2]
|
| + public float rfTextureCoord1;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct RenderModel_TextureMap_t
|
| +{
|
| + public char unWidth;
|
| + public char unHeight;
|
| + public IntPtr rubTextureMapData; // const uint8_t *
|
| +}
|
| +// This structure is for backwards binary compatibility on Linux and OSX only
|
| +[StructLayout(LayoutKind.Sequential, Pack = 4)] public struct RenderModel_TextureMap_t_Packed
|
| +{
|
| + public char unWidth;
|
| + public char unHeight;
|
| + public IntPtr rubTextureMapData; // const uint8_t *
|
| + public void Unpack(ref RenderModel_TextureMap_t unpacked)
|
| + {
|
| + unpacked.unWidth = this.unWidth;
|
| + unpacked.unHeight = this.unHeight;
|
| + unpacked.rubTextureMapData = this.rubTextureMapData;
|
| + }
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct RenderModel_t
|
| +{
|
| + public IntPtr rVertexData; // const struct vr::RenderModel_Vertex_t *
|
| + public uint unVertexCount;
|
| + public IntPtr rIndexData; // const uint16_t *
|
| + public uint unTriangleCount;
|
| + public int diffuseTextureId;
|
| +}
|
| +// This structure is for backwards binary compatibility on Linux and OSX only
|
| +[StructLayout(LayoutKind.Sequential, Pack = 4)] public struct RenderModel_t_Packed
|
| +{
|
| + public IntPtr rVertexData; // const struct vr::RenderModel_Vertex_t *
|
| + public uint unVertexCount;
|
| + public IntPtr rIndexData; // const uint16_t *
|
| + public uint unTriangleCount;
|
| + public int diffuseTextureId;
|
| + public void Unpack(ref RenderModel_t unpacked)
|
| + {
|
| + unpacked.rVertexData = this.rVertexData;
|
| + unpacked.unVertexCount = this.unVertexCount;
|
| + unpacked.rIndexData = this.rIndexData;
|
| + unpacked.unTriangleCount = this.unTriangleCount;
|
| + unpacked.diffuseTextureId = this.diffuseTextureId;
|
| + }
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct RenderModel_ControllerMode_State_t
|
| +{
|
| + [MarshalAs(UnmanagedType.I1)]
|
| + public bool bScrollWheelVisible;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct NotificationBitmap_t
|
| +{
|
| + public IntPtr m_pImageData; // void *
|
| + public int m_nWidth;
|
| + public int m_nHeight;
|
| + public int m_nBytesPerPixel;
|
| +}
|
| +[StructLayout(LayoutKind.Sequential)] public struct COpenVRContext
|
| +{
|
| + public IntPtr m_pVRSystem; // class vr::IVRSystem *
|
| + public IntPtr m_pVRChaperone; // class vr::IVRChaperone *
|
| + public IntPtr m_pVRChaperoneSetup; // class vr::IVRChaperoneSetup *
|
| + public IntPtr m_pVRCompositor; // class vr::IVRCompositor *
|
| + public IntPtr m_pVROverlay; // class vr::IVROverlay *
|
| + public IntPtr m_pVRResources; // class vr::IVRResources *
|
| + public IntPtr m_pVRRenderModels; // class vr::IVRRenderModels *
|
| + public IntPtr m_pVRExtendedDisplay; // class vr::IVRExtendedDisplay *
|
| + public IntPtr m_pVRSettings; // class vr::IVRSettings *
|
| + public IntPtr m_pVRApplications; // class vr::IVRApplications *
|
| + public IntPtr m_pVRTrackedCamera; // class vr::IVRTrackedCamera *
|
| + public IntPtr m_pVRScreenshots; // class vr::IVRScreenshots *
|
| +}
|
| +
|
| +public class OpenVR
|
| +{
|
| +
|
| + public static uint InitInternal(ref EVRInitError peError, EVRApplicationType eApplicationType)
|
| + {
|
| + return OpenVRInterop.InitInternal(ref peError, eApplicationType);
|
| + }
|
| +
|
| + public static void ShutdownInternal()
|
| + {
|
| + OpenVRInterop.ShutdownInternal();
|
| + }
|
| +
|
| + public static bool IsHmdPresent()
|
| + {
|
| + return OpenVRInterop.IsHmdPresent();
|
| + }
|
| +
|
| + public static bool IsRuntimeInstalled()
|
| + {
|
| + return OpenVRInterop.IsRuntimeInstalled();
|
| + }
|
| +
|
| + public static string GetStringForHmdError(EVRInitError error)
|
| + {
|
| + return Marshal.PtrToStringAnsi(OpenVRInterop.GetStringForHmdError(error));
|
| + }
|
| +
|
| + public static IntPtr GetGenericInterface(string pchInterfaceVersion, ref EVRInitError peError)
|
| + {
|
| + return OpenVRInterop.GetGenericInterface(pchInterfaceVersion, ref peError);
|
| + }
|
| +
|
| + public static bool IsInterfaceVersionValid(string pchInterfaceVersion)
|
| + {
|
| + return OpenVRInterop.IsInterfaceVersionValid(pchInterfaceVersion);
|
| + }
|
| +
|
| + public static uint GetInitToken()
|
| + {
|
| + return OpenVRInterop.GetInitToken();
|
| + }
|
| +
|
| + public const uint k_unMaxDriverDebugResponseSize = 32768;
|
| + public const uint k_unTrackedDeviceIndex_Hmd = 0;
|
| + public const uint k_unMaxTrackedDeviceCount = 16;
|
| + public const uint k_unTrackedDeviceIndexOther = 4294967294;
|
| + public const uint k_unTrackedDeviceIndexInvalid = 4294967295;
|
| + public const ulong k_ulInvalidPropertyContainer = 0;
|
| + public const uint k_unInvalidPropertyTag = 0;
|
| + public const uint k_unFloatPropertyTag = 1;
|
| + public const uint k_unInt32PropertyTag = 2;
|
| + public const uint k_unUint64PropertyTag = 3;
|
| + public const uint k_unBoolPropertyTag = 4;
|
| + public const uint k_unStringPropertyTag = 5;
|
| + public const uint k_unHmdMatrix34PropertyTag = 20;
|
| + public const uint k_unHmdMatrix44PropertyTag = 21;
|
| + public const uint k_unHmdVector3PropertyTag = 22;
|
| + public const uint k_unHmdVector4PropertyTag = 23;
|
| + public const uint k_unHiddenAreaPropertyTag = 30;
|
| + public const uint k_unOpenVRInternalReserved_Start = 1000;
|
| + public const uint k_unOpenVRInternalReserved_End = 10000;
|
| + public const uint k_unMaxPropertyStringSize = 32768;
|
| + public const uint k_unControllerStateAxisCount = 5;
|
| + public const ulong k_ulOverlayHandleInvalid = 0;
|
| + public const uint k_unScreenshotHandleInvalid = 0;
|
| + public const string IVRSystem_Version = "IVRSystem_015";
|
| + public const string IVRExtendedDisplay_Version = "IVRExtendedDisplay_001";
|
| + public const string IVRTrackedCamera_Version = "IVRTrackedCamera_003";
|
| + public const uint k_unMaxApplicationKeyLength = 128;
|
| + public const string k_pch_MimeType_HomeApp = "vr/home";
|
| + public const string k_pch_MimeType_GameTheater = "vr/game_theater";
|
| + public const string IVRApplications_Version = "IVRApplications_006";
|
| + public const string IVRChaperone_Version = "IVRChaperone_003";
|
| + public const string IVRChaperoneSetup_Version = "IVRChaperoneSetup_005";
|
| + public const string IVRCompositor_Version = "IVRCompositor_020";
|
| + public const uint k_unVROverlayMaxKeyLength = 128;
|
| + public const uint k_unVROverlayMaxNameLength = 128;
|
| + public const uint k_unMaxOverlayCount = 64;
|
| + public const uint k_unMaxOverlayIntersectionMaskPrimitivesCount = 32;
|
| + public const string IVROverlay_Version = "IVROverlay_014";
|
| + public const string k_pch_Controller_Component_GDC2015 = "gdc2015";
|
| + public const string k_pch_Controller_Component_Base = "base";
|
| + public const string k_pch_Controller_Component_Tip = "tip";
|
| + public const string k_pch_Controller_Component_HandGrip = "handgrip";
|
| + public const string k_pch_Controller_Component_Status = "status";
|
| + public const string IVRRenderModels_Version = "IVRRenderModels_005";
|
| + public const uint k_unNotificationTextMaxSize = 256;
|
| + public const string IVRNotifications_Version = "IVRNotifications_002";
|
| + public const uint k_unMaxSettingsKeyLength = 128;
|
| + public const string IVRSettings_Version = "IVRSettings_002";
|
| + public const string k_pch_SteamVR_Section = "steamvr";
|
| + public const string k_pch_SteamVR_RequireHmd_String = "requireHmd";
|
| + public const string k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver";
|
| + public const string k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd";
|
| + public const string k_pch_SteamVR_DisplayDebug_Bool = "displayDebug";
|
| + public const string k_pch_SteamVR_DebugProcessPipe_String = "debugProcessPipe";
|
| + public const string k_pch_SteamVR_EnableDistortion_Bool = "enableDistortion";
|
| + public const string k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX";
|
| + public const string k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY";
|
| + public const string k_pch_SteamVR_SendSystemButtonToAllApps_Bool = "sendSystemButtonToAllApps";
|
| + public const string k_pch_SteamVR_LogLevel_Int32 = "loglevel";
|
| + public const string k_pch_SteamVR_IPD_Float = "ipd";
|
| + public const string k_pch_SteamVR_Background_String = "background";
|
| + public const string k_pch_SteamVR_BackgroundUseDomeProjection_Bool = "backgroundUseDomeProjection";
|
| + public const string k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCameraHeight";
|
| + public const string k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRadius";
|
| + public const string k_pch_SteamVR_GridColor_String = "gridColor";
|
| + public const string k_pch_SteamVR_PlayAreaColor_String = "playAreaColor";
|
| + public const string k_pch_SteamVR_ShowStage_Bool = "showStage";
|
| + public const string k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers";
|
| + public const string k_pch_SteamVR_DirectMode_Bool = "directMode";
|
| + public const string k_pch_SteamVR_DirectModeEdidVid_Int32 = "directModeEdidVid";
|
| + public const string k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid";
|
| + public const string k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers";
|
| + public const string k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees";
|
| + public const string k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestationPowerManagement";
|
| + public const string k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses";
|
| + public const string k_pch_SteamVR_RenderTargetMultiplier_Float = "renderTargetMultiplier";
|
| + public const string k_pch_SteamVR_AllowAsyncReprojection_Bool = "allowAsyncReprojection";
|
| + public const string k_pch_SteamVR_AllowReprojection_Bool = "allowInterleavedReprojection";
|
| + public const string k_pch_SteamVR_ForceReprojection_Bool = "forceReprojection";
|
| + public const string k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking";
|
| + public const string k_pch_SteamVR_DefaultMirrorView_Int32 = "defaultMirrorView";
|
| + public const string k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView";
|
| + public const string k_pch_SteamVR_MirrorViewGeometry_String = "mirrorViewGeometry";
|
| + public const string k_pch_SteamVR_StartMonitorFromAppLaunch = "startMonitorFromAppLaunch";
|
| + public const string k_pch_SteamVR_StartCompositorFromAppLaunch_Bool = "startCompositorFromAppLaunch";
|
| + public const string k_pch_SteamVR_StartDashboardFromAppLaunch_Bool = "startDashboardFromAppLaunch";
|
| + public const string k_pch_SteamVR_StartOverlayAppsFromDashboard_Bool = "startOverlayAppsFromDashboard";
|
| + public const string k_pch_SteamVR_EnableHomeApp = "enableHomeApp";
|
| + public const string k_pch_SteamVR_SetInitialDefaultHomeApp = "setInitialDefaultHomeApp";
|
| + 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_Lighthouse_Section = "driver_lighthouse";
|
| + public const string k_pch_Lighthouse_DisableIMU_Bool = "disableimu";
|
| + public const string k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation";
|
| + public const string k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug";
|
| + public const string k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation";
|
| + public const string k_pch_Lighthouse_DBHistory_Bool = "dbhistory";
|
| + public const string k_pch_Null_Section = "driver_null";
|
| + public const string k_pch_Null_SerialNumber_String = "serialNumber";
|
| + public const string k_pch_Null_ModelNumber_String = "modelNumber";
|
| + public const string k_pch_Null_WindowX_Int32 = "windowX";
|
| + public const string k_pch_Null_WindowY_Int32 = "windowY";
|
| + public const string k_pch_Null_WindowWidth_Int32 = "windowWidth";
|
| + public const string k_pch_Null_WindowHeight_Int32 = "windowHeight";
|
| + public const string k_pch_Null_RenderWidth_Int32 = "renderWidth";
|
| + public const string k_pch_Null_RenderHeight_Int32 = "renderHeight";
|
| + public const string k_pch_Null_SecondsFromVsyncToPhotons_Float = "secondsFromVsyncToPhotons";
|
| + public const string k_pch_Null_DisplayFrequency_Float = "displayFrequency";
|
| + public const string k_pch_UserInterface_Section = "userinterface";
|
| + public const string k_pch_UserInterface_StatusAlwaysOnTop_Bool = "StatusAlwaysOnTop";
|
| + public const string k_pch_UserInterface_MinimizeToTray_Bool = "MinimizeToTray";
|
| + public const string k_pch_UserInterface_Screenshots_Bool = "screenshots";
|
| + public const string k_pch_UserInterface_ScreenshotType_Int = "screenshotType";
|
| + public const string k_pch_Notifications_Section = "notifications";
|
| + public const string k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb";
|
| + public const string k_pch_Keyboard_Section = "keyboard";
|
| + public const string k_pch_Keyboard_TutorialCompletions = "TutorialCompletions";
|
| + public const string k_pch_Keyboard_ScaleX = "ScaleX";
|
| + public const string k_pch_Keyboard_ScaleY = "ScaleY";
|
| + public const string k_pch_Keyboard_OffsetLeftX = "OffsetLeftX";
|
| + public const string k_pch_Keyboard_OffsetRightX = "OffsetRightX";
|
| + public const string k_pch_Keyboard_OffsetY = "OffsetY";
|
| + public const string k_pch_Keyboard_Smoothing = "Smoothing";
|
| + public const string k_pch_Perf_Section = "perfcheck";
|
| + public const string k_pch_Perf_HeuristicActive_Bool = "heuristicActive";
|
| + public const string k_pch_Perf_NotifyInHMD_Bool = "warnInHMD";
|
| + public const string k_pch_Perf_NotifyOnlyOnce_Bool = "warnOnlyOnce";
|
| + public const string k_pch_Perf_AllowTimingStore_Bool = "allowTimingStore";
|
| + public const string k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit";
|
| + public const string k_pch_Perf_TestData_Float = "perfTestData";
|
| + public const string k_pch_CollisionBounds_Section = "collisionBounds";
|
| + public const string k_pch_CollisionBounds_Style_Int32 = "CollisionBoundsStyle";
|
| + public const string k_pch_CollisionBounds_GroundPerimeterOn_Bool = "CollisionBoundsGroundPerimeterOn";
|
| + public const string k_pch_CollisionBounds_CenterMarkerOn_Bool = "CollisionBoundsCenterMarkerOn";
|
| + public const string k_pch_CollisionBounds_PlaySpaceOn_Bool = "CollisionBoundsPlaySpaceOn";
|
| + public const string k_pch_CollisionBounds_FadeDistance_Float = "CollisionBoundsFadeDistance";
|
| + public const string k_pch_CollisionBounds_ColorGammaR_Int32 = "CollisionBoundsColorGammaR";
|
| + public const string k_pch_CollisionBounds_ColorGammaG_Int32 = "CollisionBoundsColorGammaG";
|
| + public const string k_pch_CollisionBounds_ColorGammaB_Int32 = "CollisionBoundsColorGammaB";
|
| + public const string k_pch_CollisionBounds_ColorGammaA_Int32 = "CollisionBoundsColorGammaA";
|
| + public const string k_pch_Camera_Section = "camera";
|
| + public const string k_pch_Camera_EnableCamera_Bool = "enableCamera";
|
| + public const string k_pch_Camera_EnableCameraInDashboard_Bool = "enableCameraInDashboard";
|
| + public const string k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCameraForCollisionBounds";
|
| + public const string k_pch_Camera_EnableCameraForRoomView_Bool = "enableCameraForRoomView";
|
| + public const string k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGammaR";
|
| + public const string k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGammaG";
|
| + public const string k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB";
|
| + public const string k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA";
|
| + public const string k_pch_Camera_BoundsStrength_Int32 = "cameraBoundsStrength";
|
| + public const string k_pch_audio_Section = "audio";
|
| + public const string k_pch_audio_OnPlaybackDevice_String = "onPlaybackDevice";
|
| + public const string k_pch_audio_OnRecordDevice_String = "onRecordDevice";
|
| + public const string k_pch_audio_OnPlaybackMirrorDevice_String = "onPlaybackMirrorDevice";
|
| + public const string k_pch_audio_OffPlaybackDevice_String = "offPlaybackDevice";
|
| + public const string k_pch_audio_OffRecordDevice_String = "offRecordDevice";
|
| + public const string k_pch_audio_VIVEHDMIGain = "viveHDMIGain";
|
| + public const string k_pch_Power_Section = "power";
|
| + public const string k_pch_Power_PowerOffOnExit_Bool = "powerOffOnExit";
|
| + public const string k_pch_Power_TurnOffScreensTimeout_Float = "turnOffScreensTimeout";
|
| + public const string k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout";
|
| + public const string k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout";
|
| + public const string k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress";
|
| + public const string k_pch_Dashboard_Section = "dashboard";
|
| + public const string k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard";
|
| + public const string k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode";
|
| + public const string k_pch_modelskin_Section = "modelskins";
|
| + public const string k_pch_Driver_Enable_Bool = "enable";
|
| + public const string IVRScreenshots_Version = "IVRScreenshots_001";
|
| + public const string IVRResources_Version = "IVRResources_001";
|
| +
|
| + static uint VRToken { get; set; }
|
| +
|
| + const string FnTable_Prefix = "FnTable:";
|
| +
|
| + class COpenVRContext
|
| + {
|
| + public COpenVRContext() { Clear(); }
|
| +
|
| + public void Clear()
|
| + {
|
| + m_pVRSystem = null;
|
| + m_pVRChaperone = null;
|
| + m_pVRChaperoneSetup = null;
|
| + m_pVRCompositor = null;
|
| + m_pVROverlay = null;
|
| + m_pVRRenderModels = null;
|
| + m_pVRExtendedDisplay = null;
|
| + m_pVRSettings = null;
|
| + m_pVRApplications = null;
|
| + m_pVRScreenshots = null;
|
| + m_pVRTrackedCamera = null;
|
| + }
|
| +
|
| + void CheckClear()
|
| + {
|
| + if (VRToken != GetInitToken())
|
| + {
|
| + Clear();
|
| + VRToken = GetInitToken();
|
| + }
|
| + }
|
| +
|
| + public CVRSystem VRSystem()
|
| + {
|
| + CheckClear();
|
| + if (m_pVRSystem == null)
|
| + {
|
| + var eError = EVRInitError.None;
|
| + var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRSystem_Version, ref eError);
|
| + if (pInterface != IntPtr.Zero && eError == EVRInitError.None)
|
| + m_pVRSystem = new CVRSystem(pInterface);
|
| + }
|
| + return m_pVRSystem;
|
| + }
|
| +
|
| + public CVRChaperone VRChaperone()
|
| + {
|
| + CheckClear();
|
| + if (m_pVRChaperone == null)
|
| + {
|
| + var eError = EVRInitError.None;
|
| + var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRChaperone_Version, ref eError);
|
| + if (pInterface != IntPtr.Zero && eError == EVRInitError.None)
|
| + m_pVRChaperone = new CVRChaperone(pInterface);
|
| + }
|
| + return m_pVRChaperone;
|
| + }
|
| +
|
| + public CVRChaperoneSetup VRChaperoneSetup()
|
| + {
|
| + CheckClear();
|
| + if (m_pVRChaperoneSetup == null)
|
| + {
|
| + var eError = EVRInitError.None;
|
| + var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRChaperoneSetup_Version, ref eError);
|
| + if (pInterface != IntPtr.Zero && eError == EVRInitError.None)
|
| + m_pVRChaperoneSetup = new CVRChaperoneSetup(pInterface);
|
| + }
|
| + return m_pVRChaperoneSetup;
|
| + }
|
| +
|
| + public CVRCompositor VRCompositor()
|
| + {
|
| + CheckClear();
|
| + if (m_pVRCompositor == null)
|
| + {
|
| + var eError = EVRInitError.None;
|
| + var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRCompositor_Version, ref eError);
|
| + if (pInterface != IntPtr.Zero && eError == EVRInitError.None)
|
| + m_pVRCompositor = new CVRCompositor(pInterface);
|
| + }
|
| + return m_pVRCompositor;
|
| + }
|
| +
|
| + public CVROverlay VROverlay()
|
| + {
|
| + CheckClear();
|
| + if (m_pVROverlay == null)
|
| + {
|
| + var eError = EVRInitError.None;
|
| + var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVROverlay_Version, ref eError);
|
| + if (pInterface != IntPtr.Zero && eError == EVRInitError.None)
|
| + m_pVROverlay = new CVROverlay(pInterface);
|
| + }
|
| + return m_pVROverlay;
|
| + }
|
| +
|
| + public CVRRenderModels VRRenderModels()
|
| + {
|
| + CheckClear();
|
| + if (m_pVRRenderModels == null)
|
| + {
|
| + var eError = EVRInitError.None;
|
| + var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRRenderModels_Version, ref eError);
|
| + if (pInterface != IntPtr.Zero && eError == EVRInitError.None)
|
| + m_pVRRenderModels = new CVRRenderModels(pInterface);
|
| + }
|
| + return m_pVRRenderModels;
|
| + }
|
| +
|
| + public CVRExtendedDisplay VRExtendedDisplay()
|
| + {
|
| + CheckClear();
|
| + if (m_pVRExtendedDisplay == null)
|
| + {
|
| + var eError = EVRInitError.None;
|
| + var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRExtendedDisplay_Version, ref eError);
|
| + if (pInterface != IntPtr.Zero && eError == EVRInitError.None)
|
| + m_pVRExtendedDisplay = new CVRExtendedDisplay(pInterface);
|
| + }
|
| + return m_pVRExtendedDisplay;
|
| + }
|
| +
|
| + public CVRSettings VRSettings()
|
| + {
|
| + CheckClear();
|
| + if (m_pVRSettings == null)
|
| + {
|
| + var eError = EVRInitError.None;
|
| + var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRSettings_Version, ref eError);
|
| + if (pInterface != IntPtr.Zero && eError == EVRInitError.None)
|
| + m_pVRSettings = new CVRSettings(pInterface);
|
| + }
|
| + return m_pVRSettings;
|
| + }
|
| +
|
| + public CVRApplications VRApplications()
|
| + {
|
| + CheckClear();
|
| + if (m_pVRApplications == null)
|
| + {
|
| + var eError = EVRInitError.None;
|
| + var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRApplications_Version, ref eError);
|
| + if (pInterface != IntPtr.Zero && eError == EVRInitError.None)
|
| + m_pVRApplications = new CVRApplications(pInterface);
|
| + }
|
| + return m_pVRApplications;
|
| + }
|
| +
|
| + public CVRScreenshots VRScreenshots()
|
| + {
|
| + CheckClear();
|
| + if (m_pVRScreenshots == null)
|
| + {
|
| + var eError = EVRInitError.None;
|
| + var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRScreenshots_Version, ref eError);
|
| + if (pInterface != IntPtr.Zero && eError == EVRInitError.None)
|
| + m_pVRScreenshots = new CVRScreenshots(pInterface);
|
| + }
|
| + return m_pVRScreenshots;
|
| + }
|
| +
|
| + public CVRTrackedCamera VRTrackedCamera()
|
| + {
|
| + CheckClear();
|
| + if (m_pVRTrackedCamera == null)
|
| + {
|
| + var eError = EVRInitError.None;
|
| + var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRTrackedCamera_Version, ref eError);
|
| + if (pInterface != IntPtr.Zero && eError == EVRInitError.None)
|
| + m_pVRTrackedCamera = new CVRTrackedCamera(pInterface);
|
| + }
|
| + return m_pVRTrackedCamera;
|
| + }
|
| +
|
| + private CVRSystem m_pVRSystem;
|
| + private CVRChaperone m_pVRChaperone;
|
| + private CVRChaperoneSetup m_pVRChaperoneSetup;
|
| + private CVRCompositor m_pVRCompositor;
|
| + private CVROverlay m_pVROverlay;
|
| + private CVRRenderModels m_pVRRenderModels;
|
| + private CVRExtendedDisplay m_pVRExtendedDisplay;
|
| + private CVRSettings m_pVRSettings;
|
| + private CVRApplications m_pVRApplications;
|
| + private CVRScreenshots m_pVRScreenshots;
|
| + private CVRTrackedCamera m_pVRTrackedCamera;
|
| + };
|
| +
|
| + private static COpenVRContext _OpenVRInternal_ModuleContext = null;
|
| + static COpenVRContext OpenVRInternal_ModuleContext
|
| + {
|
| + get
|
| + {
|
| + if (_OpenVRInternal_ModuleContext == null)
|
| + _OpenVRInternal_ModuleContext = new COpenVRContext();
|
| + return _OpenVRInternal_ModuleContext;
|
| + }
|
| + }
|
| +
|
| + public static CVRSystem System { get { return OpenVRInternal_ModuleContext.VRSystem(); } }
|
| + public static CVRChaperone Chaperone { get { return OpenVRInternal_ModuleContext.VRChaperone(); } }
|
| + public static CVRChaperoneSetup ChaperoneSetup { get { return OpenVRInternal_ModuleContext.VRChaperoneSetup(); } }
|
| + public static CVRCompositor Compositor { get { return OpenVRInternal_ModuleContext.VRCompositor(); } }
|
| + public static CVROverlay Overlay { get { return OpenVRInternal_ModuleContext.VROverlay(); } }
|
| + public static CVRRenderModels RenderModels { get { return OpenVRInternal_ModuleContext.VRRenderModels(); } }
|
| + public static CVRExtendedDisplay ExtendedDisplay { get { return OpenVRInternal_ModuleContext.VRExtendedDisplay(); } }
|
| + public static CVRSettings Settings { get { return OpenVRInternal_ModuleContext.VRSettings(); } }
|
| + public static CVRApplications Applications { get { return OpenVRInternal_ModuleContext.VRApplications(); } }
|
| + public static CVRScreenshots Screenshots { get { return OpenVRInternal_ModuleContext.VRScreenshots(); } }
|
| + public static CVRTrackedCamera TrackedCamera { get { return OpenVRInternal_ModuleContext.VRTrackedCamera(); } }
|
| +
|
| + /** Finds the active installation of vrclient.dll and initializes it */
|
| + public static CVRSystem Init(ref EVRInitError peError, EVRApplicationType eApplicationType = EVRApplicationType.VRApplication_Scene)
|
| + {
|
| + VRToken = InitInternal(ref peError, eApplicationType);
|
| + OpenVRInternal_ModuleContext.Clear();
|
| +
|
| + if (peError != EVRInitError.None)
|
| + return null;
|
| +
|
| + bool bInterfaceValid = IsInterfaceVersionValid(IVRSystem_Version);
|
| + if (!bInterfaceValid)
|
| + {
|
| + ShutdownInternal();
|
| + peError = EVRInitError.Init_InterfaceNotFound;
|
| + return null;
|
| + }
|
| +
|
| + return OpenVR.System;
|
| + }
|
| +
|
| + /** unloads vrclient.dll. Any interface pointers from the interface are
|
| + * invalid after this point */
|
| + public static void Shutdown()
|
| + {
|
| + ShutdownInternal();
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +
|
| +}
|
| +
|
|
|