Files
2026-02-21 16:45:37 +08:00

268 lines
10 KiB
C#

using System;
using System.Runtime.InteropServices;
using System.Text;
namespace Valve.VR
{
public struct IVRCompositor
{
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate void _SetTrackingSpace(ETrackingUniverseOrigin eOrigin);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate ETrackingUniverseOrigin _GetTrackingSpace();
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate EVRCompositorError _WaitGetPoses([In][Out] TrackedDevicePose_t[] pRenderPoseArray, uint unRenderPoseArrayCount, [In][Out] TrackedDevicePose_t[] pGamePoseArray, uint unGamePoseArrayCount);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate EVRCompositorError _GetLastPoses([In][Out] TrackedDevicePose_t[] pRenderPoseArray, uint unRenderPoseArrayCount, [In][Out] TrackedDevicePose_t[] pGamePoseArray, uint unGamePoseArrayCount);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate EVRCompositorError _GetLastPoseForTrackedDeviceIndex(uint unDeviceIndex, ref TrackedDevicePose_t pOutputPose, ref TrackedDevicePose_t pOutputGamePose);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate EVRCompositorError _Submit(EVREye eEye, ref Texture_t pTexture, ref VRTextureBounds_t pBounds, EVRSubmitFlags nSubmitFlags);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate void _ClearLastSubmittedFrame();
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate void _PostPresentHandoff();
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate bool _GetFrameTiming(ref Compositor_FrameTiming pTiming, uint unFramesAgo);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate uint _GetFrameTimings(ref Compositor_FrameTiming pTiming, uint nFrames);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate float _GetFrameTimeRemaining();
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate void _GetCumulativeStats(ref Compositor_CumulativeStats pStats, uint nStatsSizeInBytes);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate void _FadeToColor(float fSeconds, float fRed, float fGreen, float fBlue, float fAlpha, bool bBackground);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate HmdColor_t _GetCurrentFadeColor(bool bBackground);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate void _FadeGrid(float fSeconds, bool bFadeIn);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate float _GetCurrentGridAlpha();
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate EVRCompositorError _SetSkyboxOverride([In][Out] Texture_t[] pTextures, uint unTextureCount);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate void _ClearSkyboxOverride();
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate void _CompositorBringToFront();
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate void _CompositorGoToBack();
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate void _CompositorQuit();
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate bool _IsFullscreen();
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate uint _GetCurrentSceneFocusProcess();
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate uint _GetLastFrameRenderer();
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate bool _CanRenderScene();
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate void _ShowMirrorWindow();
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate void _HideMirrorWindow();
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate bool _IsMirrorWindowVisible();
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate void _CompositorDumpImages();
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate bool _ShouldAppRenderWithLowResources();
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate void _ForceInterleavedReprojectionOn(bool bOverride);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate void _ForceReconnectProcess();
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate void _SuspendRendering(bool bSuspend);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate EVRCompositorError _GetMirrorTextureD3D11(EVREye eEye, IntPtr pD3D11DeviceOrResource, ref IntPtr ppD3D11ShaderResourceView);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate void _ReleaseMirrorTextureD3D11(IntPtr pD3D11ShaderResourceView);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate EVRCompositorError _GetMirrorTextureGL(EVREye eEye, ref uint pglTextureId, IntPtr pglSharedTextureHandle);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate bool _ReleaseSharedGLTexture(uint glTextureId, IntPtr glSharedTextureHandle);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate void _LockGLSharedTextureForAccess(IntPtr glSharedTextureHandle);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate void _UnlockGLSharedTextureForAccess(IntPtr glSharedTextureHandle);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate uint _GetVulkanInstanceExtensionsRequired(StringBuilder pchValue, uint unBufferSize);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate uint _GetVulkanDeviceExtensionsRequired(IntPtr pPhysicalDevice, StringBuilder pchValue, uint unBufferSize);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate void _SetExplicitTimingMode(EVRCompositorTimingMode eTimingMode);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate EVRCompositorError _SubmitExplicitTimingData();
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _SetTrackingSpace SetTrackingSpace;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _GetTrackingSpace GetTrackingSpace;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _WaitGetPoses WaitGetPoses;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _GetLastPoses GetLastPoses;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _GetLastPoseForTrackedDeviceIndex GetLastPoseForTrackedDeviceIndex;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _Submit Submit;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _ClearLastSubmittedFrame ClearLastSubmittedFrame;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _PostPresentHandoff PostPresentHandoff;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _GetFrameTiming GetFrameTiming;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _GetFrameTimings GetFrameTimings;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _GetFrameTimeRemaining GetFrameTimeRemaining;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _GetCumulativeStats GetCumulativeStats;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _FadeToColor FadeToColor;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _GetCurrentFadeColor GetCurrentFadeColor;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _FadeGrid FadeGrid;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _GetCurrentGridAlpha GetCurrentGridAlpha;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _SetSkyboxOverride SetSkyboxOverride;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _ClearSkyboxOverride ClearSkyboxOverride;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _CompositorBringToFront CompositorBringToFront;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _CompositorGoToBack CompositorGoToBack;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _CompositorQuit CompositorQuit;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _IsFullscreen IsFullscreen;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _GetCurrentSceneFocusProcess GetCurrentSceneFocusProcess;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _GetLastFrameRenderer GetLastFrameRenderer;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _CanRenderScene CanRenderScene;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _ShowMirrorWindow ShowMirrorWindow;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _HideMirrorWindow HideMirrorWindow;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _IsMirrorWindowVisible IsMirrorWindowVisible;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _CompositorDumpImages CompositorDumpImages;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _ShouldAppRenderWithLowResources ShouldAppRenderWithLowResources;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _ForceInterleavedReprojectionOn ForceInterleavedReprojectionOn;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _ForceReconnectProcess ForceReconnectProcess;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _SuspendRendering SuspendRendering;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _GetMirrorTextureD3D11 GetMirrorTextureD3D11;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _ReleaseMirrorTextureD3D11 ReleaseMirrorTextureD3D11;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _GetMirrorTextureGL GetMirrorTextureGL;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _ReleaseSharedGLTexture ReleaseSharedGLTexture;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _LockGLSharedTextureForAccess LockGLSharedTextureForAccess;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _UnlockGLSharedTextureForAccess UnlockGLSharedTextureForAccess;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _GetVulkanInstanceExtensionsRequired GetVulkanInstanceExtensionsRequired;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _GetVulkanDeviceExtensionsRequired GetVulkanDeviceExtensionsRequired;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _SetExplicitTimingMode SetExplicitTimingMode;
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _SubmitExplicitTimingData SubmitExplicitTimingData;
}
}