diff options
author | Joe Ludwig <joe@valvesoftware.com> | 2016-03-10 04:41:07 +0300 |
---|---|---|
committer | Joe Ludwig <joe@valvesoftware.com> | 2016-03-10 04:41:07 +0300 |
commit | f1ffbf4e92f383bdb453d58f9583c51a5ec350d9 (patch) | |
tree | 4d3919d16805af97b3a9e7ee73b8e18a78c5bd6e | |
parent | 217ae22879404b61fd8fcbca0109286c6b273537 (diff) |
OpenVR SDK 0.9.19:v0.9.19
IVRRenderModels:
* Added LoadIntoTextureD3D11_Async. Loads render model texture asynchronously and copies into provided texture (as opposed to creating one and returning it).
IVROverlay:
* Added SetOverlayRenderingPid/GetOverlayRenderingPid to let you delegate rendering of an overlay's texture to another process
* Added new event VREvent_OverlaySharedTextureChanged, this is fired when the backing shared texture for an overlay target changes, which is useful when using GetOverlayTexture
* Added GetOverlayTexture/ReleaseNativeOverlayHandle to let you retrieve a native texture pointer backing an overlay targe
IVRApplications:
* Added new application type, templates. Use the "is_template" key in your manifest to define an application of this type, and the LaunchTemplateApplication call to launch this application. Template applications let you override the keys in the manifest a runtime, useful for launching viewer style apps that want optional command line arguments and for you to transition from the application back to itself again.
[git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 3339101]
33 files changed, 344 insertions, 717 deletions
diff --git a/bin/linux64/libopenvr_api.so b/bin/linux64/libopenvr_api.so Binary files differindex 2997dde..913fa49 100755 --- a/bin/linux64/libopenvr_api.so +++ b/bin/linux64/libopenvr_api.so diff --git a/bin/linux64/libopenvr_api.so.dbg b/bin/linux64/libopenvr_api.so.dbg Binary files differindex 4756847..c9d40ba 100755 --- a/bin/linux64/libopenvr_api.so.dbg +++ b/bin/linux64/libopenvr_api.so.dbg diff --git a/bin/osx32/libopenvr_api.dylib b/bin/osx32/libopenvr_api.dylib Binary files differindex cbc9582..8dc663b 100755 --- a/bin/osx32/libopenvr_api.dylib +++ b/bin/osx32/libopenvr_api.dylib diff --git a/bin/osx32/libopenvr_api.dylib.dSYM/Contents/Resources/DWARF/libopenvr_api.dylib b/bin/osx32/libopenvr_api.dylib.dSYM/Contents/Resources/DWARF/libopenvr_api.dylib Binary files differindex 9d091be..0bd4a3a 100644 --- a/bin/osx32/libopenvr_api.dylib.dSYM/Contents/Resources/DWARF/libopenvr_api.dylib +++ b/bin/osx32/libopenvr_api.dylib.dSYM/Contents/Resources/DWARF/libopenvr_api.dylib diff --git a/bin/win32/openvr_api.dll b/bin/win32/openvr_api.dll Binary files differindex 1e13dc9..0496bef 100644 --- a/bin/win32/openvr_api.dll +++ b/bin/win32/openvr_api.dll diff --git a/bin/win32/openvr_api.pdb b/bin/win32/openvr_api.pdb Binary files differindex 429b671..7adab0d 100644 --- a/bin/win32/openvr_api.pdb +++ b/bin/win32/openvr_api.pdb diff --git a/bin/win64/openvr_api.dll b/bin/win64/openvr_api.dll Binary files differindex fe3be9b..940f39d 100644 --- a/bin/win64/openvr_api.dll +++ b/bin/win64/openvr_api.dll diff --git a/bin/win64/openvr_api.pdb b/bin/win64/openvr_api.pdb Binary files differindex 925dc29..9128e09 100644 --- a/bin/win64/openvr_api.pdb +++ b/bin/win64/openvr_api.pdb diff --git a/headers/openvr.h b/headers/openvr.h index fce271d..f79a25e 100644 --- a/headers/openvr.h +++ b/headers/openvr.h @@ -261,6 +261,7 @@ enum ETrackedDeviceProperty Prop_DisplayBootloaderVersion_Uint64 = 2030, Prop_DisplayHardwareVersion_Uint64 = 2031, Prop_AudioFirmwareVersion_Uint64 = 2032, + Prop_CameraCompatibilityMode_Int32 = 2033, // Properties that are unique to TrackedDeviceClass_Controller Prop_AttachedDeviceId_String = 3000, @@ -391,6 +392,7 @@ enum EVREventType VREvent_HideKeyboard = 510, // Sent to keyboard renderer in the dashboard to hide it VREvent_OverlayGamepadFocusGained = 511, // Sent to an overlay when IVROverlay::SetFocusOverlay is called on it VREvent_OverlayGamepadFocusLost = 512, // Send to an overlay when it previously had focus and IVROverlay::SetFocusOverlay is called on something else + VREvent_OverlaySharedTextureChanged = 513, VREvent_Notification_Shown = 600, VREvent_Notification_Hidden = 601, @@ -1174,20 +1176,9 @@ public: * prompt the user to save and then exit afterward, otherwise the user will be left in a confusing state. */ virtual void AcknowledgeQuit_UserPrompt() = 0; - // ------------------------------------ - // Performance Test methods - // ------------------------------------ - - /** Performance Testing applications can call this to enable/disable when frame timing data should be - * captured for the Perf Test Report. */ - virtual void PerformanceTestEnableCapture( bool bEnable ) = 0; - - /** Performance Testing applications can call this to note on the Perf Test Report when they've shifted - * their fidelity to a new mode. */ - virtual void PerformanceTestReportFidelityLevelChange( int nFidelityLevel ) = 0; }; -static const char * const IVRSystem_Version = "IVRSystem_011"; +static const char * const IVRSystem_Version = "IVRSystem_012"; } @@ -1215,6 +1206,7 @@ namespace vr VRApplicationError_LaunchInProgress = 111, // The system was already starting a different application VRApplicationError_OldApplicationQuitting = 112, VRApplicationError_TransitionAborted = 113, + VRApplicationError_IsTemplate = 114, // error when you try to call LaunchApplication() on a template type app (use LaunchTemplateApplication) VRApplicationError_BufferTooSmall = 200, // The provided buffer was too small to fit the requested data VRApplicationError_PropertyNotSet = 201, // The requested property was not set @@ -1241,6 +1233,8 @@ namespace vr VRApplicationProperty_Source_String = 53, VRApplicationProperty_IsDashboardOverlay_Bool = 60, + VRApplicationProperty_IsTemplate_Bool = 61, + VRApplicationProperty_IsInstanced_Bool = 62, VRApplicationProperty_LastLaunchTime_Uint64 = 70, }; @@ -1256,6 +1250,11 @@ namespace vr VRApplicationTransition_NewAppLaunched = 20, }; + struct AppOverrideKeys_t + { + const char *pchKey; + const char *pchValue; + }; class IVRApplications { @@ -1289,6 +1288,11 @@ namespace vr * This call is not valid for dashboard overlay applications. */ virtual EVRApplicationError LaunchApplication( const char *pchAppKey ) = 0; + /** Launches an instance of an application of type template, with its app key being pchNewAppKey (which must be unique) and optionally override sections + * from the manifest file via AppOverrideKeys_t + */ + virtual EVRApplicationError LaunchTemplateApplication( const char *pchTemplateAppKey, const char *pchNewAppKey, VR_ARRAY_COUNT( unKeys ) const AppOverrideKeys_t *pKeys, uint32_t unKeys ) = 0; + /** Launches the dashboard overlay application if it is not already running. This call is only valid for * dashboard overlay applications. */ virtual EVRApplicationError LaunchDashboardOverlay( const char *pchAppKey ) = 0; @@ -1358,7 +1362,7 @@ namespace vr virtual EVRApplicationError LaunchInternalProcess( const char *pchBinaryPath, const char *pchArguments, const char *pchWorkingDirectory ) = 0; }; - static const char * const IVRApplications_Version = "IVRApplications_004"; + static const char * const IVRApplications_Version = "IVRApplications_005"; } // namespace vr @@ -1424,6 +1428,8 @@ namespace vr static const char * const k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid"; static const char * const k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers"; static const char * const k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees"; + static const char * const k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestationPowerManagement"; + static const char * const k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses"; //----------------------------------------------------------------------------- // lighthouse keys @@ -2089,6 +2095,13 @@ namespace vr // Overlay rendering methods // --------------------------------------------- + /** Sets the pid that is allowed to render to this overlay (the creator pid is always allow to render), + * by default this is the pid of the process that made the overlay */ + virtual EVROverlayError SetOverlayRenderingPid( VROverlayHandle_t ulOverlayHandle, uint32_t unPID ) = 0; + + /** Gets the pid that is allowed to render to this overlay */ + virtual uint32_t GetOverlayRenderingPid( VROverlayHandle_t ulOverlayHandle ) = 0; + /** Specify flag setting for a given overlay */ virtual EVROverlayError SetOverlayFlag( VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool bEnabled ) = 0; @@ -2224,10 +2237,7 @@ namespace vr // Overlay texture methods // --------------------------------------------- - /** Texture to draw for the overlay. IVRCompositor::SetGraphicsDevice must be called before - * this function. This function can only be called by the overlay's renderer process. - * - * If pBounds is NULL the entire texture will be used. + /** Texture to draw for the overlay. This function can only be called by the overlay's creator or renderer process (see SetOverlayRenderingPid) . * * OpenGL dirty state: * glBindTexture @@ -2245,6 +2255,24 @@ namespace vr * This function can only be called by the overlay's renderer process */ virtual EVROverlayError SetOverlayFromFile( VROverlayHandle_t ulOverlayHandle, const char *pchFilePath ) = 0; + /** Get the native texture handle/device for an overlay you have created. + * On windows this handle will be a ID3D11ShaderResourceView with a ID3D11Texture2D bound. + * + * The texture will always be sized to match the backing texture you supplied in SetOverlayTexture above. + * + * You MUST call ReleaseNativeOverlayHandle() with pNativeTextureHandle once you are done with this texture. + * + * pNativeTextureHandle is an OUTPUT, it will be a pointer to a ID3D11ShaderResourceView *. + * pNativeTextureRef is an INPUT and should be a ID3D11Resource *. The device used by pNativeTextureRef will be used to bind pNativeTextureHandle. + */ + virtual EVROverlayError GetOverlayTexture( VROverlayHandle_t ulOverlayHandle, void **pNativeTextureHandle, void *pNativeTextureRef, uint32_t *pWidth, uint32_t *pHeight, uint32_t *pNativeFormat, EGraphicsAPIConvention *pAPI, EColorSpace *pColorSpace ) = 0; + + /** Release the pNativeTextureHandle provided from the GetOverlayTexture call, this allows the system to free the underlying GPU resources for this object, + * so only do it once you stop rendering this texture. + */ + virtual EVROverlayError ReleaseNativeOverlayHandle( VROverlayHandle_t ulOverlayHandle, void *pNativeTextureHandle ) = 0; + + // ---------------------------------------------- // Dashboard Overlay Methods // ---------------------------------------------- @@ -2290,9 +2318,10 @@ namespace vr /** Set the position of the keyboard in overlay space by telling it to avoid a rectangle in the overlay. Rectangle coords have (0,0) in the bottom left **/ virtual void SetKeyboardPositionForOverlay( VROverlayHandle_t ulOverlayHandle, HmdRect2_t avoidRect ) = 0; + }; - static const char * const IVROverlay_Version = "IVROverlay_010"; + static const char * const IVROverlay_Version = "IVROverlay_011"; } // namespace vr @@ -2416,6 +2445,9 @@ public: /** Creates a D3D11 texture and loads data into it. */ virtual EVRRenderModelError LoadTextureD3D11_Async( TextureID_t textureId, void *pD3D11Device, void **ppD3D11Texture2D ) = 0; + /** Helper function to copy the bits into an existing texture. */ + virtual EVRRenderModelError LoadIntoTextureD3D11_Async( TextureID_t textureId, void *pDstTexture ) = 0; + /** Use this to free textures created with LoadTextureD3D11_Async instead of calling Release on them. */ virtual void FreeTextureD3D11( void *pD3D11Texture2D ) = 0; @@ -2467,7 +2499,7 @@ public: virtual bool RenderModelHasComponent( const char *pchRenderModelName, const char *pchComponentName ) = 0; }; -static const char * const IVRRenderModels_Version = "IVRRenderModels_004"; +static const char * const IVRRenderModels_Version = "IVRRenderModels_005"; } diff --git a/headers/openvr_api.cs b/headers/openvr_api.cs index 64fda9a..ba25a8a 100644 --- a/headers/openvr_api.cs +++ b/headers/openvr_api.cs @@ -235,16 +235,6 @@ public struct IVRSystem [MarshalAs(UnmanagedType.FunctionPtr)] internal _AcknowledgeQuit_UserPrompt AcknowledgeQuit_UserPrompt; - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _PerformanceTestEnableCapture(bool bEnable); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _PerformanceTestEnableCapture PerformanceTestEnableCapture; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _PerformanceTestReportFidelityLevelChange(int nFidelityLevel); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _PerformanceTestReportFidelityLevelChange PerformanceTestReportFidelityLevelChange; - } [StructLayout(LayoutKind.Sequential)] @@ -306,6 +296,11 @@ public struct IVRApplications 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 _LaunchDashboardOverlay(string pchAppKey); [MarshalAs(UnmanagedType.FunctionPtr)] internal _LaunchDashboardOverlay LaunchDashboardOverlay; @@ -726,6 +721,16 @@ public struct IVROverlay 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; @@ -931,6 +936,16 @@ public struct IVROverlay 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 EGraphicsAPIConvention pAPI, ref EColorSpace pColorSpace); + [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 _CreateDashboardOverlay(string pchOverlayKey, string pchOverlayFriendlyName, ref ulong pMainHandle, ref ulong pThumbnailHandle); [MarshalAs(UnmanagedType.FunctionPtr)] internal _CreateDashboardOverlay CreateDashboardOverlay; @@ -1026,6 +1041,11 @@ public struct IVRRenderModels 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; @@ -1152,136 +1172,11 @@ public struct IVRSettings } -[StructLayout(LayoutKind.Sequential)] -public struct IVRTrackedCamera -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _HasCamera(uint nDeviceIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _HasCamera HasCamera; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetCameraFirmwareDescription(uint nDeviceIndex, string pBuffer, uint nBufferLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCameraFirmwareDescription GetCameraFirmwareDescription; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetCameraFrameDimensions(uint nDeviceIndex, ECameraVideoStreamFormat nVideoStreamFormat, ref uint pWidth, ref uint pHeight); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCameraFrameDimensions GetCameraFrameDimensions; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _SetCameraVideoStreamFormat(uint nDeviceIndex, ECameraVideoStreamFormat nVideoStreamFormat); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetCameraVideoStreamFormat SetCameraVideoStreamFormat; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ECameraVideoStreamFormat _GetCameraVideoStreamFormat(uint nDeviceIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCameraVideoStreamFormat GetCameraVideoStreamFormat; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _EnableCameraForStreaming(uint nDeviceIndex, bool bEnable); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _EnableCameraForStreaming EnableCameraForStreaming; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _StartVideoStream(uint nDeviceIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _StartVideoStream StartVideoStream; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _StopVideoStream(uint nDeviceIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _StopVideoStream StopVideoStream; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsVideoStreamActive(uint nDeviceIndex, ref bool pbPaused, ref float pflElapsedTime); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsVideoStreamActive IsVideoStreamActive; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetVideoStreamFrame(uint nDeviceIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetVideoStreamFrame GetVideoStreamFrame; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _ReleaseVideoStreamFrame(uint nDeviceIndex, ref CameraVideoStreamFrame_t pFrameImage); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReleaseVideoStreamFrame ReleaseVideoStreamFrame; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _SetAutoExposure(uint nDeviceIndex, bool bEnable); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetAutoExposure SetAutoExposure; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _PauseVideoStream(uint nDeviceIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _PauseVideoStream PauseVideoStream; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _ResumeVideoStream(uint nDeviceIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ResumeVideoStream ResumeVideoStream; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetCameraDistortion(uint nDeviceIndex, float flInputU, float flInputV, ref float pflOutputU, ref float pflOutputV); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCameraDistortion GetCameraDistortion; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetCameraProjection(uint nDeviceIndex, float flWidthPixels, float flHeightPixels, float flZNear, float flZFar, ref HmdMatrix44_t pProjection); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCameraProjection GetCameraProjection; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetRecommendedCameraUndistortion(uint nDeviceIndex, ref uint pUndistortionWidthPixels, ref uint pUndistortionHeightPixels); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetRecommendedCameraUndistortion GetRecommendedCameraUndistortion; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _SetCameraUndistortion(uint nDeviceIndex, uint nUndistortionWidthPixels, uint nUndistortionHeightPixels); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetCameraUndistortion SetCameraUndistortion; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _RequestVideoServicesForTool(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _RequestVideoServicesForTool RequestVideoServicesForTool; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ReleaseVideoServicesForTool(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReleaseVideoServicesForTool ReleaseVideoServicesForTool; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetVideoStreamFrameSharedTextureGL(bool bUndistorted, ref uint pglTextureId, IntPtr pglSharedTextureHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetVideoStreamFrameSharedTextureGL GetVideoStreamFrameSharedTextureGL; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _ReleaseVideoStreamFrameSharedTextureGL(uint glTextureId, IntPtr glSharedTextureHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReleaseVideoStreamFrameSharedTextureGL ReleaseVideoStreamFrameSharedTextureGL; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _LockSharedTextureGL(IntPtr glSharedTextureHandle, ref CameraVideoStreamFrame_t pFrameImage); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LockSharedTextureGL LockSharedTextureGL; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _UnlockSharedTextureGL(IntPtr glSharedTextureHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _UnlockSharedTextureGL UnlockSharedTextureGL; - -} - public class CVRSystem { IVRSystem FnTable; - public CVRSystem(IntPtr pInterface) + internal CVRSystem(IntPtr pInterface) { FnTable = (IVRSystem)Marshal.PtrToStructure(pInterface, typeof(IVRSystem)); } @@ -1504,21 +1399,13 @@ public class CVRSystem { FnTable.AcknowledgeQuit_UserPrompt(); } - public void PerformanceTestEnableCapture(bool bEnable) - { - FnTable.PerformanceTestEnableCapture(bEnable); - } - public void PerformanceTestReportFidelityLevelChange(int nFidelityLevel) - { - FnTable.PerformanceTestReportFidelityLevelChange(nFidelityLevel); - } } public class CVRExtendedDisplay { IVRExtendedDisplay FnTable; - public CVRExtendedDisplay(IntPtr pInterface) + internal CVRExtendedDisplay(IntPtr pInterface) { FnTable = (IVRExtendedDisplay)Marshal.PtrToStructure(pInterface, typeof(IVRExtendedDisplay)); } @@ -1550,7 +1437,7 @@ public class CVRExtendedDisplay public class CVRApplications { IVRApplications FnTable; - public CVRApplications(IntPtr pInterface) + internal CVRApplications(IntPtr pInterface) { FnTable = (IVRApplications)Marshal.PtrToStructure(pInterface, typeof(IVRApplications)); } @@ -1589,6 +1476,11 @@ public class CVRApplications 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 LaunchDashboardOverlay(string pchAppKey) { EVRApplicationError result = FnTable.LaunchDashboardOverlay(pchAppKey); @@ -1675,7 +1567,7 @@ public class CVRApplications public class CVRChaperone { IVRChaperone FnTable; - public CVRChaperone(IntPtr pInterface) + internal CVRChaperone(IntPtr pInterface) { FnTable = (IVRChaperone)Marshal.PtrToStructure(pInterface, typeof(IVRChaperone)); } @@ -1723,7 +1615,7 @@ public class CVRChaperone public class CVRChaperoneSetup { IVRChaperoneSetup FnTable; - public CVRChaperoneSetup(IntPtr pInterface) + internal CVRChaperoneSetup(IntPtr pInterface) { FnTable = (IVRChaperoneSetup)Marshal.PtrToStructure(pInterface, typeof(IVRChaperoneSetup)); } @@ -1841,7 +1733,7 @@ public class CVRChaperoneSetup public class CVRCompositor { IVRCompositor FnTable; - public CVRCompositor(IntPtr pInterface) + internal CVRCompositor(IntPtr pInterface) { FnTable = (IVRCompositor)Marshal.PtrToStructure(pInterface, typeof(IVRCompositor)); } @@ -1973,7 +1865,7 @@ public class CVRCompositor public class CVROverlay { IVROverlay FnTable; - public CVROverlay(IntPtr pInterface) + internal CVROverlay(IntPtr pInterface) { FnTable = (IVROverlay)Marshal.PtrToStructure(pInterface, typeof(IVROverlay)); } @@ -2026,6 +1918,16 @@ public class CVROverlay IntPtr result = FnTable.GetOverlayErrorNameFromEnum(error); return (string) Marshal.PtrToStructure(result, typeof(string)); } + 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); @@ -2241,6 +2143,19 @@ public class CVROverlay 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 EGraphicsAPIConvention pAPI,ref EColorSpace pColorSpace) + { + pWidth = 0; + pHeight = 0; + pNativeFormat = 0; + EVROverlayError result = FnTable.GetOverlayTexture(ulOverlayHandle,ref pNativeTextureHandle,pNativeTextureRef,ref pWidth,ref pHeight,ref pNativeFormat,ref pAPI,ref pColorSpace); + return result; + } + public EVROverlayError ReleaseNativeOverlayHandle(ulong ulOverlayHandle,IntPtr pNativeTextureHandle) + { + EVROverlayError result = FnTable.ReleaseNativeOverlayHandle(ulOverlayHandle,pNativeTextureHandle); + return result; + } public EVROverlayError CreateDashboardOverlay(string pchOverlayKey,string pchOverlayFriendlyName,ref ulong pMainHandle,ref ulong pThumbnailHandle) { pMainHandle = 0; @@ -2311,7 +2226,7 @@ public class CVROverlay public class CVRRenderModels { IVRRenderModels FnTable; - public CVRRenderModels(IntPtr pInterface) + internal CVRRenderModels(IntPtr pInterface) { FnTable = (IVRRenderModels)Marshal.PtrToStructure(pInterface, typeof(IVRRenderModels)); } @@ -2338,6 +2253,11 @@ public class CVRRenderModels 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); @@ -2388,7 +2308,7 @@ public class CVRRenderModels public class CVRNotifications { IVRNotifications FnTable; - public CVRNotifications(IntPtr pInterface) + internal CVRNotifications(IntPtr pInterface) { FnTable = (IVRNotifications)Marshal.PtrToStructure(pInterface, typeof(IVRNotifications)); } @@ -2409,7 +2329,7 @@ public class CVRNotifications public class CVRSettings { IVRSettings FnTable; - public CVRSettings(IntPtr pInterface) + internal CVRSettings(IntPtr pInterface) { FnTable = (IVRSettings)Marshal.PtrToStructure(pInterface, typeof(IVRSettings)); } @@ -2469,141 +2389,6 @@ public class CVRSettings } -public class CVRTrackedCamera -{ - IVRTrackedCamera FnTable; - public CVRTrackedCamera(IntPtr pInterface) - { - FnTable = (IVRTrackedCamera)Marshal.PtrToStructure(pInterface, typeof(IVRTrackedCamera)); - } - public bool HasCamera(uint nDeviceIndex) - { - bool result = FnTable.HasCamera(nDeviceIndex); - return result; - } - public bool GetCameraFirmwareDescription(uint nDeviceIndex,string pBuffer,uint nBufferLen) - { - bool result = FnTable.GetCameraFirmwareDescription(nDeviceIndex,pBuffer,nBufferLen); - return result; - } - public bool GetCameraFrameDimensions(uint nDeviceIndex,ECameraVideoStreamFormat nVideoStreamFormat,ref uint pWidth,ref uint pHeight) - { - pWidth = 0; - pHeight = 0; - bool result = FnTable.GetCameraFrameDimensions(nDeviceIndex,nVideoStreamFormat,ref pWidth,ref pHeight); - return result; - } - public bool SetCameraVideoStreamFormat(uint nDeviceIndex,ECameraVideoStreamFormat nVideoStreamFormat) - { - bool result = FnTable.SetCameraVideoStreamFormat(nDeviceIndex,nVideoStreamFormat); - return result; - } - public ECameraVideoStreamFormat GetCameraVideoStreamFormat(uint nDeviceIndex) - { - ECameraVideoStreamFormat result = FnTable.GetCameraVideoStreamFormat(nDeviceIndex); - return result; - } - public bool EnableCameraForStreaming(uint nDeviceIndex,bool bEnable) - { - bool result = FnTable.EnableCameraForStreaming(nDeviceIndex,bEnable); - return result; - } - public bool StartVideoStream(uint nDeviceIndex) - { - bool result = FnTable.StartVideoStream(nDeviceIndex); - return result; - } - public bool StopVideoStream(uint nDeviceIndex) - { - bool result = FnTable.StopVideoStream(nDeviceIndex); - return result; - } - public bool IsVideoStreamActive(uint nDeviceIndex,ref bool pbPaused,ref float pflElapsedTime) - { - pbPaused = false; - pflElapsedTime = 0; - bool result = FnTable.IsVideoStreamActive(nDeviceIndex,ref pbPaused,ref pflElapsedTime); - return result; - } - public CameraVideoStreamFrame_t GetVideoStreamFrame(uint nDeviceIndex) - { - IntPtr result = FnTable.GetVideoStreamFrame(nDeviceIndex); - return (CameraVideoStreamFrame_t) Marshal.PtrToStructure(result, typeof(CameraVideoStreamFrame_t)); - } - public bool ReleaseVideoStreamFrame(uint nDeviceIndex,ref CameraVideoStreamFrame_t pFrameImage) - { - bool result = FnTable.ReleaseVideoStreamFrame(nDeviceIndex,ref pFrameImage); - return result; - } - public bool SetAutoExposure(uint nDeviceIndex,bool bEnable) - { - bool result = FnTable.SetAutoExposure(nDeviceIndex,bEnable); - return result; - } - public bool PauseVideoStream(uint nDeviceIndex) - { - bool result = FnTable.PauseVideoStream(nDeviceIndex); - return result; - } - public bool ResumeVideoStream(uint nDeviceIndex) - { - bool result = FnTable.ResumeVideoStream(nDeviceIndex); - return result; - } - public bool GetCameraDistortion(uint nDeviceIndex,float flInputU,float flInputV,ref float pflOutputU,ref float pflOutputV) - { - pflOutputU = 0; - pflOutputV = 0; - bool result = FnTable.GetCameraDistortion(nDeviceIndex,flInputU,flInputV,ref pflOutputU,ref pflOutputV); - return result; - } - public bool GetCameraProjection(uint nDeviceIndex,float flWidthPixels,float flHeightPixels,float flZNear,float flZFar,ref HmdMatrix44_t pProjection) - { - bool result = FnTable.GetCameraProjection(nDeviceIndex,flWidthPixels,flHeightPixels,flZNear,flZFar,ref pProjection); - return result; - } - public bool GetRecommendedCameraUndistortion(uint nDeviceIndex,ref uint pUndistortionWidthPixels,ref uint pUndistortionHeightPixels) - { - pUndistortionWidthPixels = 0; - pUndistortionHeightPixels = 0; - bool result = FnTable.GetRecommendedCameraUndistortion(nDeviceIndex,ref pUndistortionWidthPixels,ref pUndistortionHeightPixels); - return result; - } - public bool SetCameraUndistortion(uint nDeviceIndex,uint nUndistortionWidthPixels,uint nUndistortionHeightPixels) - { - bool result = FnTable.SetCameraUndistortion(nDeviceIndex,nUndistortionWidthPixels,nUndistortionHeightPixels); - return result; - } - public void RequestVideoServicesForTool() - { - FnTable.RequestVideoServicesForTool(); - } - public void ReleaseVideoServicesForTool() - { - FnTable.ReleaseVideoServicesForTool(); - } - public bool GetVideoStreamFrameSharedTextureGL(bool bUndistorted,ref uint pglTextureId,IntPtr pglSharedTextureHandle) - { - pglTextureId = 0; - bool result = FnTable.GetVideoStreamFrameSharedTextureGL(bUndistorted,ref pglTextureId,pglSharedTextureHandle); - return result; - } - public bool ReleaseVideoStreamFrameSharedTextureGL(uint glTextureId,IntPtr glSharedTextureHandle) - { - bool result = FnTable.ReleaseVideoStreamFrameSharedTextureGL(glTextureId,glSharedTextureHandle); - return result; - } - public void LockSharedTextureGL(IntPtr glSharedTextureHandle,ref CameraVideoStreamFrame_t pFrameImage) - { - FnTable.LockSharedTextureGL(glSharedTextureHandle,ref pFrameImage); - } - public void UnlockSharedTextureGL(IntPtr glSharedTextureHandle) - { - FnTable.UnlockSharedTextureGL(glSharedTextureHandle); - } -} - - public class OpenVRInterop { [DllImportAttribute("openvr_api", EntryPoint = "VR_InitInternal")] @@ -2735,6 +2520,7 @@ public enum ETrackedDeviceProperty Prop_DisplayBootloaderVersion_Uint64 = 2030, Prop_DisplayHardwareVersion_Uint64 = 2031, Prop_AudioFirmwareVersion_Uint64 = 2032, + Prop_CameraCompatibilityMode_Int32 = 2033, Prop_AttachedDeviceId_String = 3000, Prop_SupportedButtons_Uint64 = 3001, Prop_Axis0Type_Int32 = 3002, @@ -2825,6 +2611,7 @@ public enum EVREventType VREvent_HideKeyboard = 510, VREvent_OverlayGamepadFocusGained = 511, VREvent_OverlayGamepadFocusLost = 512, + VREvent_OverlaySharedTextureChanged = 513, VREvent_Notification_Shown = 600, VREvent_Notification_Hidden = 601, VREvent_Notification_BeginInteraction = 602, @@ -3040,6 +2827,7 @@ public enum EVRApplicationError LaunchInProgress = 111, OldApplicationQuitting = 112, TransitionAborted = 113, + IsTemplate = 114, BufferTooSmall = 200, PropertyNotSet = 201, UnknownProperty = 202, @@ -3057,6 +2845,8 @@ public enum EVRApplicationProperty ImagePath_String = 52, Source_String = 53, IsDashboardOverlay_Bool = 60, + IsTemplate_Bool = 61, + IsInstanced_Bool = 62, LastLaunchTime_Uint64 = 70, } public enum EVRApplicationTransitionState @@ -3184,14 +2974,6 @@ public enum EVRSettingsError WriteFailed = 2, ReadFailed = 3, } -public enum ECameraVideoStreamFormat -{ - CVS_FORMAT_UNKNOWN = 0, - CVS_FORMAT_RAW10 = 1, - CVS_FORMAT_NV12 = 2, - CVS_FORMAT_RGB24 = 3, - CVS_MAX_FORMATS = 4, -} [StructLayout(LayoutKind.Explicit)] public struct VREvent_Data_t { @@ -3213,33 +2995,61 @@ public enum ECameraVideoStreamFormat [StructLayout(LayoutKind.Sequential)] public struct HmdMatrix34_t { - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12, ArraySubType = UnmanagedType.R4)] - public float[] m; //float[3][4] + 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 { - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.R4)] - public float[] m; //float[4][4] + 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 { - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.R4)] - public float[] v; //float[3] + public float v0; //float[3] + public float v1; + public float v2; } [StructLayout(LayoutKind.Sequential)] public struct HmdVector4_t { - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.R4)] - public float[] v; //float[4] + public float v0; //float[4] + public float v1; + public float v2; + public float v3; } [StructLayout(LayoutKind.Sequential)] public struct HmdVector3d_t { - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.R8)] - public double[] v; //double[3] + public double v0; //double[3] + public double v1; + public double v2; } [StructLayout(LayoutKind.Sequential)] public struct HmdVector2_t { - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.R4)] - public float[] v; //float[2] + public float v0; //float[2] + public float v1; } [StructLayout(LayoutKind.Sequential)] public struct HmdQuaternion_t { @@ -3257,8 +3067,10 @@ public enum ECameraVideoStreamFormat } [StructLayout(LayoutKind.Sequential)] public struct HmdQuad_t { - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.Struct)] - public HmdVector3_t[] vCorners; //HmdVector3_t[4] + 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 { @@ -3267,12 +3079,12 @@ public enum ECameraVideoStreamFormat } [StructLayout(LayoutKind.Sequential)] public struct DistortionCoordinates_t { - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.R4)] - public float[] rfRed; //float[2] - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.R4)] - public float[] rfGreen; //float[2] - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.R4)] - public float[] rfBlue; //float[2] + 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 { @@ -3395,8 +3207,11 @@ public enum ECameraVideoStreamFormat public uint unPacketNum; public ulong ulButtonPressed; public ulong ulButtonTouched; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5, ArraySubType = UnmanagedType.Struct)] - public VRControllerAxis_t[] rAxis; //VRControllerAxis_t[5] + public VRControllerAxis_t rAxis0; //VRControllerAxis_t[5] + public VRControllerAxis_t rAxis1; + public VRControllerAxis_t rAxis2; + public VRControllerAxis_t rAxis3; + public VRControllerAxis_t rAxis4; } [StructLayout(LayoutKind.Sequential)] public struct Compositor_OverlaySettings { @@ -3417,6 +3232,11 @@ public enum ECameraVideoStreamFormat public float gridScale; public HmdMatrix44_t transform; } +[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; @@ -3465,8 +3285,8 @@ public enum ECameraVideoStreamFormat { public HmdVector3_t vPosition; public HmdVector3_t vNormal; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.R4)] - public float[] rfTextureCoord; //float[2] + public float rfTextureCoord0; //float[2] + public float rfTextureCoord1; } [StructLayout(LayoutKind.Sequential)] public struct RenderModel_TextureMap_t { @@ -3494,30 +3314,6 @@ public enum ECameraVideoStreamFormat public int height; public int depth; } -[StructLayout(LayoutKind.Sequential)] public struct CameraVideoStreamFrame_t -{ - public ECameraVideoStreamFormat m_nStreamFormat; - public uint m_nWidth; - public uint m_nHeight; - public uint m_nImageDataSize; - public uint m_nFrameSequence; - public uint m_nISPFrameTimeStamp; - public uint m_nISPReferenceTimeStamp; - public uint m_nSyncCounter; - public uint m_nCamSyncEvents; - public uint m_nExposureTime; - public uint m_nBufferIndex; - public uint m_nBufferCount; - public double m_flFrameElapsedTime; - public double m_flFrameCaptureTime; - public ulong m_nFrameCaptureTicks; - [MarshalAs(UnmanagedType.I1)] - public bool m_bPoseIsValid; - public HmdMatrix34_t m_matDeviceToAbsoluteTracking; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.R4)] - public float[] m_Pad; //float[4] - public IntPtr m_pImageData; // void * -} [StructLayout(LayoutKind.Sequential)] public struct COpenVRContext { public IntPtr m_pVRSystem; // class vr::IVRSystem * @@ -3582,23 +3378,23 @@ public class OpenVR public const uint k_unMaxPropertyStringSize = 32768; public const uint k_unControllerStateAxisCount = 5; public const ulong k_ulOverlayHandleInvalid = 0; - public const string IVRSystem_Version = "IVRSystem_011"; + public const string IVRSystem_Version = "IVRSystem_012"; public const string IVRExtendedDisplay_Version = "IVRExtendedDisplay_001"; public const uint k_unMaxApplicationKeyLength = 128; - public const string IVRApplications_Version = "IVRApplications_004"; + public const string IVRApplications_Version = "IVRApplications_005"; public const string IVRChaperone_Version = "IVRChaperone_003"; public const string IVRChaperoneSetup_Version = "IVRChaperoneSetup_005"; public const string IVRCompositor_Version = "IVRCompositor_013"; public const uint k_unVROverlayMaxKeyLength = 128; public const uint k_unVROverlayMaxNameLength = 128; public const uint k_unMaxOverlayCount = 32; - public const string IVROverlay_Version = "IVROverlay_010"; + public const string IVROverlay_Version = "IVROverlay_011"; 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_004"; + 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; @@ -3626,6 +3422,8 @@ public class OpenVR 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_Lighthouse_Section = "driver_lighthouse"; public const string k_pch_Lighthouse_DisableIMU_Bool = "disableimu"; public const string k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation"; @@ -3672,7 +3470,6 @@ public class OpenVR 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 IVRTrackedCamera_Version = "IVRTrackedCamera_001"; static uint VRToken { get; set; } diff --git a/headers/openvr_api.json b/headers/openvr_api.json index 99899cd..f697095 100644 --- a/headers/openvr_api.json +++ b/headers/openvr_api.json @@ -127,6 +127,7 @@ ,{"name": "Prop_DisplayBootloaderVersion_Uint64","value": "2030"} ,{"name": "Prop_DisplayHardwareVersion_Uint64","value": "2031"} ,{"name": "Prop_AudioFirmwareVersion_Uint64","value": "2032"} + ,{"name": "Prop_CameraCompatibilityMode_Int32","value": "2033"} ,{"name": "Prop_AttachedDeviceId_String","value": "3000"} ,{"name": "Prop_SupportedButtons_Uint64","value": "3001"} ,{"name": "Prop_Axis0Type_Int32","value": "3002"} @@ -213,6 +214,7 @@ ,{"name": "VREvent_HideKeyboard","value": "510"} ,{"name": "VREvent_OverlayGamepadFocusGained","value": "511"} ,{"name": "VREvent_OverlayGamepadFocusLost","value": "512"} + ,{"name": "VREvent_OverlaySharedTextureChanged","value": "513"} ,{"name": "VREvent_Notification_Shown","value": "600"} ,{"name": "VREvent_Notification_Hidden","value": "601"} ,{"name": "VREvent_Notification_BeginInteraction","value": "602"} @@ -416,6 +418,7 @@ ,{"name": "VRApplicationError_LaunchInProgress","value": "111"} ,{"name": "VRApplicationError_OldApplicationQuitting","value": "112"} ,{"name": "VRApplicationError_TransitionAborted","value": "113"} + ,{"name": "VRApplicationError_IsTemplate","value": "114"} ,{"name": "VRApplicationError_BufferTooSmall","value": "200"} ,{"name": "VRApplicationError_PropertyNotSet","value": "201"} ,{"name": "VRApplicationError_UnknownProperty","value": "202"} @@ -432,6 +435,8 @@ ,{"name": "VRApplicationProperty_ImagePath_String","value": "52"} ,{"name": "VRApplicationProperty_Source_String","value": "53"} ,{"name": "VRApplicationProperty_IsDashboardOverlay_Bool","value": "60"} + ,{"name": "VRApplicationProperty_IsTemplate_Bool","value": "61"} + ,{"name": "VRApplicationProperty_IsInstanced_Bool","value": "62"} ,{"name": "VRApplicationProperty_LastLaunchTime_Uint64","value": "70"} ]} , {"enumname": "vr::EVRApplicationTransitionState","values": [ @@ -543,13 +548,6 @@ ,{"name": "VRSettingsError_WriteFailed","value": "2"} ,{"name": "VRSettingsError_ReadFailed","value": "3"} ]} -, {"enumname": "vr::ECameraVideoStreamFormat","values": [ - {"name": "CVS_FORMAT_UNKNOWN","value": "0"} - ,{"name": "CVS_FORMAT_RAW10","value": "1"} - ,{"name": "CVS_FORMAT_NV12","value": "2"} - ,{"name": "CVS_FORMAT_RGB24","value": "3"} - ,{"name": "CVS_MAX_FORMATS","value": "4"} -]} ], "consts":[{ "constname": "k_unTrackingStringSize","consttype": "const uint32_t", "constval": "32"} @@ -568,13 +566,13 @@ ,{ "constname": "k_ulOverlayHandleInvalid","consttype": "const VROverlayHandle_t", "constval": "0"} ,{ - "constname": "IVRSystem_Version","consttype": "const char *const", "constval": "IVRSystem_011"} + "constname": "IVRSystem_Version","consttype": "const char *const", "constval": "IVRSystem_012"} ,{ "constname": "IVRExtendedDisplay_Version","consttype": "const char *const", "constval": "IVRExtendedDisplay_001"} ,{ "constname": "k_unMaxApplicationKeyLength","consttype": "const uint32_t", "constval": "128"} ,{ - "constname": "IVRApplications_Version","consttype": "const char *const", "constval": "IVRApplications_004"} + "constname": "IVRApplications_Version","consttype": "const char *const", "constval": "IVRApplications_005"} ,{ "constname": "IVRChaperone_Version","consttype": "const char *const", "constval": "IVRChaperone_003"} ,{ @@ -588,7 +586,7 @@ ,{ "constname": "k_unMaxOverlayCount","consttype": "const uint32_t", "constval": "32"} ,{ - "constname": "IVROverlay_Version","consttype": "const char *const", "constval": "IVROverlay_010"} + "constname": "IVROverlay_Version","consttype": "const char *const", "constval": "IVROverlay_011"} ,{ "constname": "k_pch_Controller_Component_GDC2015","consttype": "const char *const", "constval": "gdc2015"} ,{ @@ -600,7 +598,7 @@ ,{ "constname": "k_pch_Controller_Component_Status","consttype": "const char *const", "constval": "status"} ,{ - "constname": "IVRRenderModels_Version","consttype": "const char *const", "constval": "IVRRenderModels_004"} + "constname": "IVRRenderModels_Version","consttype": "const char *const", "constval": "IVRRenderModels_005"} ,{ "constname": "k_unNotificationTextMaxSize","consttype": "const uint32_t", "constval": "256"} ,{ @@ -656,6 +654,10 @@ ,{ "constname": "k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float","consttype": "const char *const", "constval": "speakersForwardYawOffsetDegrees"} ,{ + "constname": "k_pch_SteamVR_BaseStationPowerManagement_Bool","consttype": "const char *const", "constval": "basestationPowerManagement"} +,{ + "constname": "k_pch_SteamVR_NeverKillProcesses_Bool","consttype": "const char *const", "constval": "neverKillProcesses"} +,{ "constname": "k_pch_Lighthouse_Section","consttype": "const char *const", "constval": "driver_lighthouse"} ,{ "constname": "k_pch_Lighthouse_DisableIMU_Bool","consttype": "const char *const", "constval": "disableimu"} @@ -747,8 +749,6 @@ "constname": "k_pch_audio_OffRecordDevice_String","consttype": "const char *const", "constval": "offRecordDevice"} ,{ "constname": "k_pch_audio_VIVEHDMIGain","consttype": "const char *const", "constval": "viveHDMIGain"} -,{ - "constname": "IVRTrackedCamera_Version","consttype": "const char *const", "constval": "IVRTrackedCamera_001"} ], "structs":[{"struct": "vr::HmdMatrix34_t","fields": [ { "fieldname": "m", "fieldtype": "float [3][4]"}]} @@ -886,6 +886,9 @@ { "fieldname": "gridWidth", "fieldtype": "float"}, { "fieldname": "gridScale", "fieldtype": "float"}, { "fieldname": "transform", "fieldtype": "struct vr::HmdMatrix44_t"}]} +,{"struct": "vr::AppOverrideKeys_t","fields": [ +{ "fieldname": "pchKey", "fieldtype": "const char *"}, +{ "fieldname": "pchValue", "fieldtype": "const char *"}]} ,{"struct": "vr::Compositor_FrameTiming","fields": [ { "fieldname": "m_nSize", "fieldtype": "uint32_t"}, { "fieldname": "m_nFrameIndex", "fieldtype": "uint32_t"}, @@ -943,26 +946,6 @@ { "fieldname": "width", "fieldtype": "int32_t"}, { "fieldname": "height", "fieldtype": "int32_t"}, { "fieldname": "depth", "fieldtype": "int32_t"}]} -,{"struct": "vr::CameraVideoStreamFrame_t","fields": [ -{ "fieldname": "m_nStreamFormat", "fieldtype": "enum vr::ECameraVideoStreamFormat"}, -{ "fieldname": "m_nWidth", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nHeight", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nImageDataSize", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nFrameSequence", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nISPFrameTimeStamp", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nISPReferenceTimeStamp", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nSyncCounter", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nCamSyncEvents", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nExposureTime", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nBufferIndex", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nBufferCount", "fieldtype": "uint32_t"}, -{ "fieldname": "m_flFrameElapsedTime", "fieldtype": "double"}, -{ "fieldname": "m_flFrameCaptureTime", "fieldtype": "double"}, -{ "fieldname": "m_nFrameCaptureTicks", "fieldtype": "uint64_t"}, -{ "fieldname": "m_bPoseIsValid", "fieldtype": "_Bool"}, -{ "fieldname": "m_matDeviceToAbsoluteTracking", "fieldtype": "vr::HmdMatrix34_t"}, -{ "fieldname": "m_Pad", "fieldtype": "float [4]"}, -{ "fieldname": "m_pImageData", "fieldtype": "void *"}]} ,{"struct": "vr::COpenVRContext","fields": [ { "fieldname": "m_pVRSystem", "fieldtype": "class vr::IVRSystem *"}, { "fieldname": "m_pVRChaperone", "fieldtype": "class vr::IVRChaperone *"}, @@ -1343,22 +1326,6 @@ "returntype": "void" } ,{ - "classname": "vr::IVRSystem", - "methodname": "PerformanceTestEnableCapture", - "returntype": "void", - "params": [ -{ "paramname": "bEnable" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "PerformanceTestReportFidelityLevelChange", - "returntype": "void", - "params": [ -{ "paramname": "nFidelityLevel" ,"paramtype": "int"} - ] -} -,{ "classname": "vr::IVRExtendedDisplay", "methodname": "GetWindowBounds", "returntype": "void", @@ -1450,6 +1417,17 @@ } ,{ "classname": "vr::IVRApplications", + "methodname": "LaunchTemplateApplication", + "returntype": "vr::EVRApplicationError", + "params": [ +{ "paramname": "pchTemplateAppKey" ,"paramtype": "const char *"}, +{ "paramname": "pchNewAppKey" ,"paramtype": "const char *"}, +{ "paramname": "pKeys" ,"array_count": "unKeys" ,"paramtype": "const struct vr::AppOverrideKeys_t *"}, +{ "paramname": "unKeys" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVRApplications", "methodname": "LaunchDashboardOverlay", "returntype": "vr::EVRApplicationError", "params": [ @@ -2078,6 +2056,23 @@ } ,{ "classname": "vr::IVROverlay", + "methodname": "SetOverlayRenderingPid", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "unPID" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetOverlayRenderingPid", + "returntype": "uint32_t", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} + ] +} +,{ + "classname": "vr::IVROverlay", "methodname": "SetOverlayFlag", "returntype": "vr::EVROverlayError", "params": [ @@ -2460,6 +2455,30 @@ } ,{ "classname": "vr::IVROverlay", + "methodname": "GetOverlayTexture", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "pNativeTextureHandle" ,"paramtype": "void **"}, +{ "paramname": "pNativeTextureRef" ,"paramtype": "void *"}, +{ "paramname": "pWidth" ,"paramtype": "uint32_t *"}, +{ "paramname": "pHeight" ,"paramtype": "uint32_t *"}, +{ "paramname": "pNativeFormat" ,"paramtype": "uint32_t *"}, +{ "paramname": "pAPI" ,"paramtype": "vr::EGraphicsAPIConvention *"}, +{ "paramname": "pColorSpace" ,"paramtype": "vr::EColorSpace *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "ReleaseNativeOverlayHandle", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "pNativeTextureHandle" ,"paramtype": "void *"} + ] +} +,{ + "classname": "vr::IVROverlay", "methodname": "CreateDashboardOverlay", "returntype": "vr::EVROverlayError", "params": [ @@ -2620,6 +2639,15 @@ } ,{ "classname": "vr::IVRRenderModels", + "methodname": "LoadIntoTextureD3D11_Async", + "returntype": "vr::EVRRenderModelError", + "params": [ +{ "paramname": "textureId" ,"paramtype": "vr::TextureID_t"}, +{ "paramname": "pDstTexture" ,"paramtype": "void *"} + ] +} +,{ + "classname": "vr::IVRRenderModels", "methodname": "FreeTextureD3D11", "returntype": "void", "params": [ @@ -2849,219 +2877,5 @@ { "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} ] } -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "HasCamera", - "returntype": "bool", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetCameraFirmwareDescription", - "returntype": "bool", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pBuffer" ,"paramtype": "char *"}, -{ "paramname": "nBufferLen" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetCameraFrameDimensions", - "returntype": "bool", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "nVideoStreamFormat" ,"paramtype": "vr::ECameraVideoStreamFormat"}, -{ "paramname": "pWidth" ,"paramtype": "uint32_t *"}, -{ "paramname": "pHeight" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "SetCameraVideoStreamFormat", - "returntype": "bool", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "nVideoStreamFormat" ,"paramtype": "vr::ECameraVideoStreamFormat"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetCameraVideoStreamFormat", - "returntype": "vr::ECameraVideoStreamFormat", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "EnableCameraForStreaming", - "returntype": "bool", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "bEnable" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "StartVideoStream", - "returntype": "bool", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "StopVideoStream", - "returntype": "bool", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "IsVideoStreamActive", - "returntype": "bool", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pbPaused" ,"paramtype": "bool *"}, -{ "paramname": "pflElapsedTime" ,"paramtype": "float *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetVideoStreamFrame", - "returntype": "const vr::CameraVideoStreamFrame_t *", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "ReleaseVideoStreamFrame", - "returntype": "bool", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pFrameImage" ,"paramtype": "const vr::CameraVideoStreamFrame_t *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "SetAutoExposure", - "returntype": "bool", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "bEnable" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "PauseVideoStream", - "returntype": "bool", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "ResumeVideoStream", - "returntype": "bool", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetCameraDistortion", - "returntype": "bool", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "flInputU" ,"paramtype": "float"}, -{ "paramname": "flInputV" ,"paramtype": "float"}, -{ "paramname": "pflOutputU" ,"paramtype": "float *"}, -{ "paramname": "pflOutputV" ,"paramtype": "float *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetCameraProjection", - "returntype": "bool", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "flWidthPixels" ,"paramtype": "float"}, -{ "paramname": "flHeightPixels" ,"paramtype": "float"}, -{ "paramname": "flZNear" ,"paramtype": "float"}, -{ "paramname": "flZFar" ,"paramtype": "float"}, -{ "paramname": "pProjection" ,"paramtype": "vr::HmdMatrix44_t *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetRecommendedCameraUndistortion", - "returntype": "bool", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pUndistortionWidthPixels" ,"paramtype": "uint32_t *"}, -{ "paramname": "pUndistortionHeightPixels" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "SetCameraUndistortion", - "returntype": "bool", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "nUndistortionWidthPixels" ,"paramtype": "uint32_t"}, -{ "paramname": "nUndistortionHeightPixels" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "RequestVideoServicesForTool", - "returntype": "void" -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "ReleaseVideoServicesForTool", - "returntype": "void" -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetVideoStreamFrameSharedTextureGL", - "returntype": "bool", - "params": [ -{ "paramname": "bUndistorted" ,"paramtype": "bool"}, -{ "paramname": "pglTextureId" ,"paramtype": "vr::glUInt_t *"}, -{ "paramname": "pglSharedTextureHandle" ,"paramtype": "vr::glSharedTextureHandle_t *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "ReleaseVideoStreamFrameSharedTextureGL", - "returntype": "bool", - "params": [ -{ "paramname": "glTextureId" ,"paramtype": "vr::glUInt_t"}, -{ "paramname": "glSharedTextureHandle" ,"paramtype": "vr::glSharedTextureHandle_t"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "LockSharedTextureGL", - "returntype": "void", - "params": [ -{ "paramname": "glSharedTextureHandle" ,"paramtype": "vr::glSharedTextureHandle_t"}, -{ "paramname": "pFrameImage" ,"paramtype": "vr::CameraVideoStreamFrame_t *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "UnlockSharedTextureGL", - "returntype": "void", - "params": [ -{ "paramname": "glSharedTextureHandle" ,"paramtype": "vr::glSharedTextureHandle_t"} - ] -} ] }
\ No newline at end of file diff --git a/headers/openvr_capi.h b/headers/openvr_capi.h index f557454..c01389c 100644 --- a/headers/openvr_capi.h +++ b/headers/openvr_capi.h @@ -59,23 +59,23 @@ static const unsigned int k_unTrackedDeviceIndexInvalid = 4294967295; static const unsigned int k_unMaxPropertyStringSize = 32768; static const unsigned int k_unControllerStateAxisCount = 5; static const unsigned long k_ulOverlayHandleInvalid = 0; -static const char * IVRSystem_Version = "IVRSystem_011"; +static const char * IVRSystem_Version = "IVRSystem_012"; static const char * IVRExtendedDisplay_Version = "IVRExtendedDisplay_001"; static const unsigned int k_unMaxApplicationKeyLength = 128; -static const char * IVRApplications_Version = "IVRApplications_004"; +static const char * IVRApplications_Version = "IVRApplications_005"; static const char * IVRChaperone_Version = "IVRChaperone_003"; static const char * IVRChaperoneSetup_Version = "IVRChaperoneSetup_005"; static const char * IVRCompositor_Version = "IVRCompositor_013"; static const unsigned int k_unVROverlayMaxKeyLength = 128; static const unsigned int k_unVROverlayMaxNameLength = 128; static const unsigned int k_unMaxOverlayCount = 32; -static const char * IVROverlay_Version = "IVROverlay_010"; +static const char * IVROverlay_Version = "IVROverlay_011"; static const char * k_pch_Controller_Component_GDC2015 = "gdc2015"; static const char * k_pch_Controller_Component_Base = "base"; static const char * k_pch_Controller_Component_Tip = "tip"; static const char * k_pch_Controller_Component_HandGrip = "handgrip"; static const char * k_pch_Controller_Component_Status = "status"; -static const char * IVRRenderModels_Version = "IVRRenderModels_004"; +static const char * IVRRenderModels_Version = "IVRRenderModels_005"; static const unsigned int k_unNotificationTextMaxSize = 256; static const char * IVRNotifications_Version = "IVRNotifications_002"; static const unsigned int k_unMaxSettingsKeyLength = 128; @@ -103,6 +103,8 @@ static const char * k_pch_SteamVR_DirectModeEdidVid_Int32 = "directModeEdidVid"; static const char * k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid"; static const char * k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers"; static const char * k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees"; +static const char * k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestationPowerManagement"; +static const char * k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses"; static const char * k_pch_Lighthouse_Section = "driver_lighthouse"; static const char * k_pch_Lighthouse_DisableIMU_Bool = "disableimu"; static const char * k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation"; @@ -149,7 +151,6 @@ static const char * k_pch_audio_OnRecordDevice_String = "onRecordDevice"; static const char * k_pch_audio_OffPlaybackDevice_String = "offPlaybackDevice"; static const char * k_pch_audio_OffRecordDevice_String = "offRecordDevice"; static const char * k_pch_audio_VIVEHDMIGain = "viveHDMIGain"; -static const char * IVRTrackedCamera_Version = "IVRTrackedCamera_001"; // OpenVR Enums @@ -270,6 +271,7 @@ typedef enum ETrackedDeviceProperty ETrackedDeviceProperty_Prop_DisplayBootloaderVersion_Uint64 = 2030, ETrackedDeviceProperty_Prop_DisplayHardwareVersion_Uint64 = 2031, ETrackedDeviceProperty_Prop_AudioFirmwareVersion_Uint64 = 2032, + ETrackedDeviceProperty_Prop_CameraCompatibilityMode_Int32 = 2033, ETrackedDeviceProperty_Prop_AttachedDeviceId_String = 3000, ETrackedDeviceProperty_Prop_SupportedButtons_Uint64 = 3001, ETrackedDeviceProperty_Prop_Axis0Type_Int32 = 3002, @@ -364,6 +366,7 @@ typedef enum EVREventType EVREventType_VREvent_HideKeyboard = 510, EVREventType_VREvent_OverlayGamepadFocusGained = 511, EVREventType_VREvent_OverlayGamepadFocusLost = 512, + EVREventType_VREvent_OverlaySharedTextureChanged = 513, EVREventType_VREvent_Notification_Shown = 600, EVREventType_VREvent_Notification_Hidden = 601, EVREventType_VREvent_Notification_BeginInteraction = 602, @@ -591,6 +594,7 @@ typedef enum EVRApplicationError EVRApplicationError_VRApplicationError_LaunchInProgress = 111, EVRApplicationError_VRApplicationError_OldApplicationQuitting = 112, EVRApplicationError_VRApplicationError_TransitionAborted = 113, + EVRApplicationError_VRApplicationError_IsTemplate = 114, EVRApplicationError_VRApplicationError_BufferTooSmall = 200, EVRApplicationError_VRApplicationError_PropertyNotSet = 201, EVRApplicationError_VRApplicationError_UnknownProperty = 202, @@ -609,6 +613,8 @@ typedef enum EVRApplicationProperty EVRApplicationProperty_VRApplicationProperty_ImagePath_String = 52, EVRApplicationProperty_VRApplicationProperty_Source_String = 53, EVRApplicationProperty_VRApplicationProperty_IsDashboardOverlay_Bool = 60, + EVRApplicationProperty_VRApplicationProperty_IsTemplate_Bool = 61, + EVRApplicationProperty_VRApplicationProperty_IsInstanced_Bool = 62, EVRApplicationProperty_VRApplicationProperty_LastLaunchTime_Uint64 = 70, } EVRApplicationProperty; @@ -753,15 +759,6 @@ typedef enum EVRSettingsError EVRSettingsError_VRSettingsError_ReadFailed = 3, } EVRSettingsError; -typedef enum ECameraVideoStreamFormat -{ - ECameraVideoStreamFormat_CVS_FORMAT_UNKNOWN = 0, - ECameraVideoStreamFormat_CVS_FORMAT_RAW10 = 1, - ECameraVideoStreamFormat_CVS_FORMAT_NV12 = 2, - ECameraVideoStreamFormat_CVS_FORMAT_RGB24 = 3, - ECameraVideoStreamFormat_CVS_MAX_FORMATS = 4, -} ECameraVideoStreamFormat; - // OpenVR typedefs @@ -1006,6 +1003,12 @@ typedef struct Compositor_OverlaySettings struct HmdMatrix44_t transform; } Compositor_OverlaySettings; +typedef struct AppOverrideKeys_t +{ + char * pchKey; // const char * + char * pchValue; // const char * +} AppOverrideKeys_t; + typedef struct Compositor_FrameTiming { uint32_t m_nSize; @@ -1090,29 +1093,6 @@ typedef struct NotificationBitmap_t int32_t depth; } NotificationBitmap_t; -typedef struct CameraVideoStreamFrame_t -{ - enum ECameraVideoStreamFormat m_nStreamFormat; - uint32_t m_nWidth; - uint32_t m_nHeight; - uint32_t m_nImageDataSize; - uint32_t m_nFrameSequence; - uint32_t m_nISPFrameTimeStamp; - uint32_t m_nISPReferenceTimeStamp; - uint32_t m_nSyncCounter; - uint32_t m_nCamSyncEvents; - uint32_t m_nExposureTime; - uint32_t m_nBufferIndex; - uint32_t m_nBufferCount; - double m_flFrameElapsedTime; - double m_flFrameCaptureTime; - uint64_t m_nFrameCaptureTicks; - bool m_bPoseIsValid; - HmdMatrix34_t m_matDeviceToAbsoluteTracking; - float m_Pad[4]; //float[4] - void * m_pImageData; // void * -} CameraVideoStreamFrame_t; - typedef struct COpenVRContext { intptr_t m_pVRSystem; // class vr::IVRSystem * @@ -1204,8 +1184,6 @@ struct VR_IVRSystem_FnTable EVRFirmwareError (OPENVR_FNTABLE_CALLTYPE *PerformFirmwareUpdate)(TrackedDeviceIndex_t unDeviceIndex); void (OPENVR_FNTABLE_CALLTYPE *AcknowledgeQuit_Exiting)(); void (OPENVR_FNTABLE_CALLTYPE *AcknowledgeQuit_UserPrompt)(); - void (OPENVR_FNTABLE_CALLTYPE *PerformanceTestEnableCapture)(bool bEnable); - void (OPENVR_FNTABLE_CALLTYPE *PerformanceTestReportFidelityLevelChange)(int nFidelityLevel); }; struct VR_IVRExtendedDisplay_FnTable @@ -1224,6 +1202,7 @@ struct VR_IVRApplications_FnTable EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *GetApplicationKeyByIndex)(uint32_t unApplicationIndex, char * pchAppKeyBuffer, uint32_t unAppKeyBufferLen); EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *GetApplicationKeyByProcessId)(uint32_t unProcessId, char * pchAppKeyBuffer, uint32_t unAppKeyBufferLen); EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchApplication)(char * pchAppKey); + EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchTemplateApplication)(char * pchTemplateAppKey, char * pchNewAppKey, struct AppOverrideKeys_t * pKeys, uint32_t unKeys); EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchDashboardOverlay)(char * pchAppKey); bool (OPENVR_FNTABLE_CALLTYPE *CancelApplicationLaunch)(char * pchAppKey); EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *IdentifyApplication)(uint32_t unProcessId, char * pchAppKey); @@ -1320,6 +1299,8 @@ struct VR_IVROverlay_FnTable uint32_t (OPENVR_FNTABLE_CALLTYPE *GetOverlayName)(VROverlayHandle_t ulOverlayHandle, char * pchValue, uint32_t unBufferSize, EVROverlayError * pError); EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayImageData)(VROverlayHandle_t ulOverlayHandle, void * pvBuffer, uint32_t unBufferSize, uint32_t * punWidth, uint32_t * punHeight); char * (OPENVR_FNTABLE_CALLTYPE *GetOverlayErrorNameFromEnum)(EVROverlayError error); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayRenderingPid)(VROverlayHandle_t ulOverlayHandle, uint32_t unPID); + uint32_t (OPENVR_FNTABLE_CALLTYPE *GetOverlayRenderingPid)(VROverlayHandle_t ulOverlayHandle); EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayFlag)(VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool bEnabled); EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayFlag)(VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool * pbEnabled); EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayColor)(VROverlayHandle_t ulOverlayHandle, float fRed, float fGreen, float fBlue); @@ -1361,6 +1342,8 @@ struct VR_IVROverlay_FnTable EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ClearOverlayTexture)(VROverlayHandle_t ulOverlayHandle); EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayRaw)(VROverlayHandle_t ulOverlayHandle, void * pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth); EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayFromFile)(VROverlayHandle_t ulOverlayHandle, char * pchFilePath); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTexture)(VROverlayHandle_t ulOverlayHandle, void ** pNativeTextureHandle, void * pNativeTextureRef, uint32_t * pWidth, uint32_t * pHeight, uint32_t * pNativeFormat, EGraphicsAPIConvention * pAPI, EColorSpace * pColorSpace); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ReleaseNativeOverlayHandle)(VROverlayHandle_t ulOverlayHandle, void * pNativeTextureHandle); EVROverlayError (OPENVR_FNTABLE_CALLTYPE *CreateDashboardOverlay)(char * pchOverlayKey, char * pchOverlayFriendlyName, VROverlayHandle_t * pMainHandle, VROverlayHandle_t * pThumbnailHandle); bool (OPENVR_FNTABLE_CALLTYPE *IsDashboardVisible)(); bool (OPENVR_FNTABLE_CALLTYPE *IsActiveDashboardOverlay)(VROverlayHandle_t ulOverlayHandle); @@ -1383,6 +1366,7 @@ struct VR_IVRRenderModels_FnTable EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadTexture_Async)(TextureID_t textureId, struct RenderModel_TextureMap_t ** ppTexture); void (OPENVR_FNTABLE_CALLTYPE *FreeTexture)(struct RenderModel_TextureMap_t * pTexture); EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadTextureD3D11_Async)(TextureID_t textureId, void * pD3D11Device, void ** ppD3D11Texture2D); + EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadIntoTextureD3D11_Async)(TextureID_t textureId, void * pDstTexture); void (OPENVR_FNTABLE_CALLTYPE *FreeTextureD3D11)(void * pD3D11Texture2D); uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelName)(uint32_t unRenderModelIndex, char * pchRenderModelName, uint32_t unRenderModelNameLen); uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelCount)(); @@ -1416,34 +1400,6 @@ struct VR_IVRSettings_FnTable void (OPENVR_FNTABLE_CALLTYPE *RemoveKeyInSection)(char * pchSection, char * pchSettingsKey, EVRSettingsError * peError); }; -struct VR_IVRTrackedCamera_FnTable -{ - bool (OPENVR_FNTABLE_CALLTYPE *HasCamera)(TrackedDeviceIndex_t nDeviceIndex); - bool (OPENVR_FNTABLE_CALLTYPE *GetCameraFirmwareDescription)(TrackedDeviceIndex_t nDeviceIndex, char * pBuffer, uint32_t nBufferLen); - bool (OPENVR_FNTABLE_CALLTYPE *GetCameraFrameDimensions)(TrackedDeviceIndex_t nDeviceIndex, ECameraVideoStreamFormat nVideoStreamFormat, uint32_t * pWidth, uint32_t * pHeight); - bool (OPENVR_FNTABLE_CALLTYPE *SetCameraVideoStreamFormat)(TrackedDeviceIndex_t nDeviceIndex, ECameraVideoStreamFormat nVideoStreamFormat); - ECameraVideoStreamFormat (OPENVR_FNTABLE_CALLTYPE *GetCameraVideoStreamFormat)(TrackedDeviceIndex_t nDeviceIndex); - bool (OPENVR_FNTABLE_CALLTYPE *EnableCameraForStreaming)(TrackedDeviceIndex_t nDeviceIndex, bool bEnable); - bool (OPENVR_FNTABLE_CALLTYPE *StartVideoStream)(TrackedDeviceIndex_t nDeviceIndex); - bool (OPENVR_FNTABLE_CALLTYPE *StopVideoStream)(TrackedDeviceIndex_t nDeviceIndex); - bool (OPENVR_FNTABLE_CALLTYPE *IsVideoStreamActive)(TrackedDeviceIndex_t nDeviceIndex, bool * pbPaused, float * pflElapsedTime); - CameraVideoStreamFrame_t * (OPENVR_FNTABLE_CALLTYPE *GetVideoStreamFrame)(TrackedDeviceIndex_t nDeviceIndex); - bool (OPENVR_FNTABLE_CALLTYPE *ReleaseVideoStreamFrame)(TrackedDeviceIndex_t nDeviceIndex, CameraVideoStreamFrame_t * pFrameImage); - bool (OPENVR_FNTABLE_CALLTYPE *SetAutoExposure)(TrackedDeviceIndex_t nDeviceIndex, bool bEnable); - bool (OPENVR_FNTABLE_CALLTYPE *PauseVideoStream)(TrackedDeviceIndex_t nDeviceIndex); - bool (OPENVR_FNTABLE_CALLTYPE *ResumeVideoStream)(TrackedDeviceIndex_t nDeviceIndex); - bool (OPENVR_FNTABLE_CALLTYPE *GetCameraDistortion)(TrackedDeviceIndex_t nDeviceIndex, float flInputU, float flInputV, float * pflOutputU, float * pflOutputV); - bool (OPENVR_FNTABLE_CALLTYPE *GetCameraProjection)(TrackedDeviceIndex_t nDeviceIndex, float flWidthPixels, float flHeightPixels, float flZNear, float flZFar, HmdMatrix44_t * pProjection); - bool (OPENVR_FNTABLE_CALLTYPE *GetRecommendedCameraUndistortion)(TrackedDeviceIndex_t nDeviceIndex, uint32_t * pUndistortionWidthPixels, uint32_t * pUndistortionHeightPixels); - bool (OPENVR_FNTABLE_CALLTYPE *SetCameraUndistortion)(TrackedDeviceIndex_t nDeviceIndex, uint32_t nUndistortionWidthPixels, uint32_t nUndistortionHeightPixels); - void (OPENVR_FNTABLE_CALLTYPE *RequestVideoServicesForTool)(); - void (OPENVR_FNTABLE_CALLTYPE *ReleaseVideoServicesForTool)(); - bool (OPENVR_FNTABLE_CALLTYPE *GetVideoStreamFrameSharedTextureGL)(bool bUndistorted, glUInt_t * pglTextureId, glSharedTextureHandle_t * pglSharedTextureHandle); - bool (OPENVR_FNTABLE_CALLTYPE *ReleaseVideoStreamFrameSharedTextureGL)(glUInt_t glTextureId, glSharedTextureHandle_t glSharedTextureHandle); - void (OPENVR_FNTABLE_CALLTYPE *LockSharedTextureGL)(glSharedTextureHandle_t glSharedTextureHandle, CameraVideoStreamFrame_t * pFrameImage); - void (OPENVR_FNTABLE_CALLTYPE *UnlockSharedTextureGL)(glSharedTextureHandle_t glSharedTextureHandle); -}; - #if 0 // Global entry points diff --git a/headers/openvr_driver.h b/headers/openvr_driver.h index 370bea9..ea7f8d1 100644 --- a/headers/openvr_driver.h +++ b/headers/openvr_driver.h @@ -261,6 +261,7 @@ enum ETrackedDeviceProperty Prop_DisplayBootloaderVersion_Uint64 = 2030, Prop_DisplayHardwareVersion_Uint64 = 2031, Prop_AudioFirmwareVersion_Uint64 = 2032, + Prop_CameraCompatibilityMode_Int32 = 2033, // Properties that are unique to TrackedDeviceClass_Controller Prop_AttachedDeviceId_String = 3000, @@ -391,6 +392,7 @@ enum EVREventType VREvent_HideKeyboard = 510, // Sent to keyboard renderer in the dashboard to hide it VREvent_OverlayGamepadFocusGained = 511, // Sent to an overlay when IVROverlay::SetFocusOverlay is called on it VREvent_OverlayGamepadFocusLost = 512, // Send to an overlay when it previously had focus and IVROverlay::SetFocusOverlay is called on something else + VREvent_OverlaySharedTextureChanged = 513, VREvent_Notification_Shown = 600, VREvent_Notification_Hidden = 601, @@ -916,6 +918,24 @@ enum ECameraVideoStreamFormat CVS_MAX_FORMATS }; +enum ECameraCompatibilityMode +{ + CAMERA_COMPAT_MODE_BULK_DEFAULT = 0, + CAMERA_COMPAT_MODE_BULK_64K_DMA, + CAMERA_COMPAT_MODE_BULK_16K_DMA, + CAMERA_COMPAT_MODE_BULK_8K_DMA, + CAMERA_COMPAT_MODE_ISO_52FPS, + CAMERA_COMPAT_MODE_ISO_50FPS, + CAMERA_COMPAT_MODE_ISO_48FPS, + CAMERA_COMPAT_MODE_ISO_46FPS, + CAMERA_COMPAT_MODE_ISO_44FPS, + CAMERA_COMPAT_MODE_ISO_42FPS, + CAMERA_COMPAT_MODE_ISO_40FPS, + CAMERA_COMPAT_MODE_ISO_35FPS, + CAMERA_COMPAT_MODE_ISO_30FPS, + MAX_CAMERA_COMPAT_MODES +}; + #ifdef _MSC_VER #define VR_CAMERA_DECL_ALIGN( x ) __declspec( align( x ) ) #else @@ -933,23 +953,27 @@ VR_CAMERA_DECL_ALIGN( 8 ) struct CameraVideoStreamFrame_t uint32_t m_nFrameSequence; // Starts from 0 when stream starts. + uint32_t m_nBufferIndex; // Identifies which buffer the image data is hosted + uint32_t m_nBufferCount; // Total number of configured buffers + + uint32_t m_nExposureTime; + uint32_t m_nISPFrameTimeStamp; // Driver provided time stamp per driver centric time base uint32_t m_nISPReferenceTimeStamp; uint32_t m_nSyncCounter; uint32_t m_nCamSyncEvents; + double m_flReferenceCamSyncTime; - uint32_t m_nExposureTime; - - uint32_t m_nBufferIndex; // Identifies which buffer the image data is hosted - uint32_t m_nBufferCount; // Total number of configured buffers - - double m_flFrameElapsedTime; // Starts from 0 when stream starts. In seconds. + double m_flFrameElapsedTime; // Starts from 0 when stream starts. In seconds. + double m_flFrameDeliveryRate; - double m_flFrameCaptureTime; // Relative to when the frame was exposed/captured. - uint64_t m_nFrameCaptureTicks; + double m_flFrameCaptureTime_DriverAbsolute; // In USB time, via AuxEvent + double m_flFrameCaptureTime_ServerRelative; // In System time within the server + uint64_t m_nFrameCaptureTicks_ServerAbsolute; // In system ticks within the server + double m_flFrameCaptureTime_ClientRelative; // At the client, relative to when the frame was exposed/captured. - bool m_bPoseIsValid; // Supplied by HMD layer when used as a tracked camera + bool m_bPoseIsValid; // Supplied by HMD layer when used as a tracked camera vr::HmdMatrix34_t m_matDeviceToAbsoluteTracking; float m_Pad[4]; @@ -1024,6 +1048,8 @@ namespace vr static const char * const k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid"; static const char * const k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers"; static const char * const k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees"; + static const char * const k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestationPowerManagement"; + static const char * const k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses"; //----------------------------------------------------------------------------- // lighthouse keys @@ -1348,6 +1374,15 @@ namespace vr // ivrcameracomponent.h namespace vr { + + //----------------------------------------------------------------------------- + //----------------------------------------------------------------------------- + class ICameraVideoSinkCallback + { + public: + virtual void OnCameraVideoSinkCallback() = 0; + }; + // ---------------------------------------------------------------------------------------------- // Purpose: The camera on a single tracked device // ---------------------------------------------------------------------------------------------- @@ -1380,14 +1415,12 @@ namespace vr virtual bool SetCameraUndistortion( uint32_t nUndistortionWidthPixels, uint32_t nUndistortionHeightPixels ) = 0; virtual bool GetCameraFirmwareVersion( uint64_t *pFirmwareVersion ) = 0; virtual bool SetFrameRate( int nISPFrameRate, int nSensorFrameRate ) = 0; - - + virtual bool SetCameraVideoSinkCallback( vr::ICameraVideoSinkCallback *pCameraVideoSinkCallback ) = 0; + virtual bool GetCameraCompatibilityMode( vr::ECameraCompatibilityMode *pCameraCompatibilityMode ) = 0; + virtual bool SetCameraCompatibilityMode( vr::ECameraCompatibilityMode nCameraCompatibilityMode ) = 0; }; - - static const char *IVRCameraComponent_Version = "IVRCameraComponent_001"; - } // itrackeddevicedriverprovider.h namespace vr diff --git a/lib/linux64/libopenvr_api.so b/lib/linux64/libopenvr_api.so Binary files differindex 93c425a..93ca97c 100755 --- a/lib/linux64/libopenvr_api.so +++ b/lib/linux64/libopenvr_api.so diff --git a/lib/osx32/libopenvr_api.dylib b/lib/osx32/libopenvr_api.dylib Binary files differindex cbc9582..8dc663b 100644 --- a/lib/osx32/libopenvr_api.dylib +++ b/lib/osx32/libopenvr_api.dylib diff --git a/lib/win32/openvr_api.lib b/lib/win32/openvr_api.lib Binary files differindex fcdb7e5..f47d0df 100644 --- a/lib/win32/openvr_api.lib +++ b/lib/win32/openvr_api.lib diff --git a/lib/win64/openvr_api.lib b/lib/win64/openvr_api.lib Binary files differindex cafb998..9383f30 100644 --- a/lib/win64/openvr_api.lib +++ b/lib/win64/openvr_api.lib diff --git a/samples/bin/win32/openvr_api.dll b/samples/bin/win32/openvr_api.dll Binary files differindex 1e13dc9..0496bef 100644 --- a/samples/bin/win32/openvr_api.dll +++ b/samples/bin/win32/openvr_api.dll diff --git a/samples/bin/win64/Qt5Core.dll b/samples/bin/win64/Qt5Core.dll Binary files differnew file mode 100644 index 0000000..5751e35 --- /dev/null +++ b/samples/bin/win64/Qt5Core.dll diff --git a/samples/bin/win64/Qt5Cored.dll b/samples/bin/win64/Qt5Cored.dll Binary files differnew file mode 100644 index 0000000..2dabe3e --- /dev/null +++ b/samples/bin/win64/Qt5Cored.dll diff --git a/samples/bin/win64/Qt5Gui.dll b/samples/bin/win64/Qt5Gui.dll Binary files differnew file mode 100644 index 0000000..eff7c01 --- /dev/null +++ b/samples/bin/win64/Qt5Gui.dll diff --git a/samples/bin/win64/Qt5Guid.dll b/samples/bin/win64/Qt5Guid.dll Binary files differnew file mode 100644 index 0000000..0c13e9a --- /dev/null +++ b/samples/bin/win64/Qt5Guid.dll diff --git a/samples/bin/win64/Qt5OpenGL.dll b/samples/bin/win64/Qt5OpenGL.dll Binary files differnew file mode 100644 index 0000000..b914eb4 --- /dev/null +++ b/samples/bin/win64/Qt5OpenGL.dll diff --git a/samples/bin/win64/Qt5OpenGLd.dll b/samples/bin/win64/Qt5OpenGLd.dll Binary files differnew file mode 100644 index 0000000..0ed46a0 --- /dev/null +++ b/samples/bin/win64/Qt5OpenGLd.dll diff --git a/samples/bin/win64/Qt5Qml.dll b/samples/bin/win64/Qt5Qml.dll Binary files differnew file mode 100644 index 0000000..6c44959 --- /dev/null +++ b/samples/bin/win64/Qt5Qml.dll diff --git a/samples/bin/win64/Qt5Qmld.dll b/samples/bin/win64/Qt5Qmld.dll Binary files differnew file mode 100644 index 0000000..423a841 --- /dev/null +++ b/samples/bin/win64/Qt5Qmld.dll diff --git a/samples/bin/win64/Qt5Widgets.dll b/samples/bin/win64/Qt5Widgets.dll Binary files differnew file mode 100644 index 0000000..8a51ae9 --- /dev/null +++ b/samples/bin/win64/Qt5Widgets.dll diff --git a/samples/bin/win64/Qt5Widgetsd.dll b/samples/bin/win64/Qt5Widgetsd.dll Binary files differnew file mode 100644 index 0000000..fa0588a --- /dev/null +++ b/samples/bin/win64/Qt5Widgetsd.dll diff --git a/samples/bin/win64/icudt54.dll b/samples/bin/win64/icudt54.dll Binary files differnew file mode 100644 index 0000000..82db269 --- /dev/null +++ b/samples/bin/win64/icudt54.dll diff --git a/samples/bin/win64/icuin54.dll b/samples/bin/win64/icuin54.dll Binary files differnew file mode 100644 index 0000000..6e533ef --- /dev/null +++ b/samples/bin/win64/icuin54.dll diff --git a/samples/bin/win64/icuuc54.dll b/samples/bin/win64/icuuc54.dll Binary files differnew file mode 100644 index 0000000..9240a3e --- /dev/null +++ b/samples/bin/win64/icuuc54.dll diff --git a/samples/bin/win64/openvr_api.dll b/samples/bin/win64/openvr_api.dll Binary files differindex fe3be9b..940f39d 100644 --- a/samples/bin/win64/openvr_api.dll +++ b/samples/bin/win64/openvr_api.dll diff --git a/samples/helloworldoverlay/openvroverlaycontroller.cpp b/samples/helloworldoverlay/openvroverlaycontroller.cpp index f447b81..d099b25 100644 --- a/samples/helloworldoverlay/openvroverlaycontroller.cpp +++ b/samples/helloworldoverlay/openvroverlaycontroller.cpp @@ -135,11 +135,6 @@ bool COpenVROverlayController::Init() vr::VROverlay()->SetOverlayWidthInMeters( m_ulOverlayHandle, 1.5f ); vr::VROverlay()->SetOverlayInputMethod( m_ulOverlayHandle, vr::VROverlayInputMethod_Mouse ); - // flip V to account for GL vs. OpenVR texture origin - vr::VRTextureBounds_t overlayTextureBounds = { 0, 1.f, 1.f, 0.f }; - vr::VROverlay()->SetOverlayTextureBounds( m_ulOverlayHandle, &overlayTextureBounds ); - vr::VROverlay()->SetOverlayTextureBounds( m_ulOverlayThumbnailHandle, &overlayTextureBounds ); - m_pPumpEventsTimer = new QTimer( this ); connect(m_pPumpEventsTimer, SIGNAL( timeout() ), this, SLOT( OnTimeoutPumpEvents() ) ); m_pPumpEventsTimer->setInterval( 20 ); |