Skip to content

Commit 84e877f

Browse files
committed
OpenVR SDK 1.0.4:
General: * Further refinement to Vulkan support. Note: the interface is still subject to change. IVRSystem (v14): * ComputeDistortion signature change. Previous version used nan as error signaling. New version returns explicit success. * GetHiddenAreaMesh takes optional EHiddenAreaMeshType argument to request Standard, Inverse, or LineLoop mesh. IVRCompositor (v18): * New submit error, VRCompositorError_AlreadySubmitted (if you submit the same eye twice) * GetFrameTimings signature change * Exposed GetCurrentFadeColor, GetCurrentGridAlpha IVROverlay (v13): * Added SetOverlayIntersectionMask IServerDriverHost: * Added PollNextEvent IClientDriverHost: * Removed GetSettings * Added GetGenericInterface ClientTrackedDeviceProvider (v5): * GetHiddenAreaMesh takes additional argument, EHiddenAreaMeshType Pull Requests integrated: ValveSoftware#48 Format README in Markdown ValveSoftware#58 correct detection of GCC ValveSoftware#68 helloworldoverlay: Specify c++11 to fix gcc errors ValveSoftware#76 Remove duplicate, unneeded glBindBuffer call. ValveSoftware#135 Invert m_mat4HMDPose after assignment copying. ValveSoftware#191 Document additional methods ValveSoftware#278 include stdbool.h on non windows platform ValveSoftware#306 Multi-platform CMake support. [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 3697868]
1 parent 5bc41e4 commit 84e877f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+11468
-365
lines changed

README README.md

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
1+
OpenVR SDK
2+
---
3+
14
OpenVR is an API and runtime that allows access to VR hardware from multiple
25
vendors without requiring that applications have specific knowledge of the
36
hardware they are targeting. This repository is an SDK that contains the API
47
and samples. The runtime is under SteamVR in Tools on Steam.
58

6-
Documentation for the API is available in the wiki: https://github.com/ValveSoftware/openvr/wiki/API-Documentation
9+
### Documentation
710

8-
More information on OpenVR and SteamVR can be found on http://steamvr.com
11+
Documentation for the API is available on the [Github Wiki](https://github.com/ValveSoftware/openvr/wiki/API-Documentation)
912

13+
More information on OpenVR and SteamVR can be found on http://steamvr.com

bin/linux64/libopenvr_api.so

4.42 KB
Binary file not shown.

bin/linux64/libopenvr_api.so.dbg

14.1 KB
Binary file not shown.

bin/osx32/libopenvr_api.dylib

3.74 KB
Binary file not shown.
Binary file not shown.

bin/win32/openvr_api.dll

0 Bytes
Binary file not shown.

bin/win32/openvr_api.pdb

-16 KB
Binary file not shown.

bin/win64/openvr_api.dll

0 Bytes
Binary file not shown.

bin/win64/openvr_api.pdb

-8 KB
Binary file not shown.

headers/openvr.h

+132-41
Large diffs are not rendered by default.

headers/openvr_api.cs

+110-25
Large diffs are not rendered by default.

headers/openvr_api.json

+85-11
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
,{"typedef": "vr::VROverlayHandle_t","type": "uint64_t"}
99
,{"typedef": "vr::TrackedCameraHandle_t","type": "uint64_t"}
1010
,{"typedef": "vr::ScreenshotHandle_t","type": "uint32_t"}
11+
,{"typedef": "vr::VROverlayIntersectionMaskPrimitive_Data_t","type": "union VROverlayIntersectionMaskPrimitive_Data_t"}
1112
,{"typedef": "vr::VRComponentProperties","type": "uint32_t"}
1213
,{"typedef": "vr::TextureID_t","type": "int32_t"}
1314
,{"typedef": "vr::VRNotificationId","type": "uint32_t"}
@@ -101,6 +102,7 @@
101102
,{"name": "Prop_HasCamera_Bool","value": "1030"}
102103
,{"name": "Prop_DriverVersion_String","value": "1031"}
103104
,{"name": "Prop_Firmware_ForceUpdateRequired_Bool","value": "1032"}
105+
,{"name": "Prop_ViveSystemButtonFixRequired_Bool","value": "1033"}
104106
,{"name": "Prop_ReportsTimeSinceVSync_Bool","value": "2000"}
105107
,{"name": "Prop_SecondsFromVsyncToPhotons_Float","value": "2001"}
106108
,{"name": "Prop_DisplayFrequency_Float","value": "2002"}
@@ -138,6 +140,7 @@
138140
,{"name": "Prop_ScreenshotHorizontalFieldOfViewDegrees_Float","value": "2034"}
139141
,{"name": "Prop_ScreenshotVerticalFieldOfViewDegrees_Float","value": "2035"}
140142
,{"name": "Prop_DisplaySuppressed_Bool","value": "2036"}
143+
,{"name": "Prop_DisplayAllowNightMode_Bool","value": "2037"}
141144
,{"name": "Prop_AttachedDeviceId_String","value": "3000"}
142145
,{"name": "Prop_SupportedButtons_Uint64","value": "3001"}
143146
,{"name": "Prop_Axis0Type_Int32","value": "3002"}
@@ -333,6 +336,11 @@
333336
,{"name": "VRMouseButton_Right","value": "2"}
334337
,{"name": "VRMouseButton_Middle","value": "4"}
335338
]}
339+
, {"enumname": "vr::EHiddenAreaMeshType","values": [
340+
{"name": "k_eHiddenAreaMesh_Standard","value": "0"}
341+
,{"name": "k_eHiddenAreaMesh_Inverse","value": "1"}
342+
,{"name": "k_eHiddenAreaMesh_LineLoop","value": "2"}
343+
]}
336344
, {"enumname": "vr::EVRControllerAxisType","values": [
337345
{"name": "k_eControllerAxis_None","value": "0"}
338346
,{"name": "k_eControllerAxis_TrackPad","value": "1"}
@@ -371,6 +379,8 @@
371379
,{"name": "VROverlayError_UnableToLoadFile","value": "25"}
372380
,{"name": "VROverlayError_KeyboardAlreadyInUse","value": "26"}
373381
,{"name": "VROverlayError_NoNeighbor","value": "27"}
382+
,{"name": "VROverlayError_TooManyMaskPrimitives","value": "29"}
383+
,{"name": "VROverlayError_BadMaskPrimitive","value": "30"}
374384
]}
375385
, {"enumname": "vr::EVRApplicationType","values": [
376386
{"name": "VRApplication_Other","value": "0"}
@@ -583,6 +593,7 @@
583593
,{"name": "VRCompositorError_TextureUsesUnsupportedFormat","value": "105"}
584594
,{"name": "VRCompositorError_SharedTexturesNotSupported","value": "106"}
585595
,{"name": "VRCompositorError_IndexOutOfRange","value": "107"}
596+
,{"name": "VRCompositorError_AlreadySubmitted","value": "108"}
586597
]}
587598
, {"enumname": "vr::VROverlayInputMethod","values": [
588599
{"name": "VROverlayInputMethod_None","value": "0"}
@@ -627,6 +638,10 @@
627638
,{"name": "OverlayDirection_Right","value": "3"}
628639
,{"name": "OverlayDirection_Count","value": "4"}
629640
]}
641+
, {"enumname": "vr::EVROverlayIntersectionMaskPrimitiveType","values": [
642+
{"name": "OverlayIntersectionPrimitiveType_Rectangle","value": "0"}
643+
,{"name": "OverlayIntersectionPrimitiveType_Circle","value": "1"}
644+
]}
630645
, {"enumname": "vr::EVRRenderModelError","values": [
631646
{"name": "VRRenderModelError_None","value": "0"}
632647
,{"name": "VRRenderModelError_Loading","value": "100"}
@@ -679,8 +694,6 @@
679694
]}
680695
],
681696
"consts":[{
682-
"constname": "k_unTrackingStringSize","consttype": "const uint32_t", "constval": "32"}
683-
,{
684697
"constname": "k_unMaxDriverDebugResponseSize","consttype": "const uint32_t", "constval": "32768"}
685698
,{
686699
"constname": "k_unTrackedDeviceIndex_Hmd","consttype": "const uint32_t", "constval": "0"}
@@ -699,7 +712,7 @@
699712
,{
700713
"constname": "k_unScreenshotHandleInvalid","consttype": "const uint32_t", "constval": "0"}
701714
,{
702-
"constname": "IVRSystem_Version","consttype": "const char *const", "constval": "IVRSystem_012"}
715+
"constname": "IVRSystem_Version","consttype": "const char *const", "constval": "IVRSystem_014"}
703716
,{
704717
"constname": "IVRExtendedDisplay_Version","consttype": "const char *const", "constval": "IVRExtendedDisplay_001"}
705718
,{
@@ -717,13 +730,15 @@
717730
,{
718731
"constname": "IVRChaperoneSetup_Version","consttype": "const char *const", "constval": "IVRChaperoneSetup_005"}
719732
,{
720-
"constname": "IVRCompositor_Version","consttype": "const char *const", "constval": "IVRCompositor_016"}
733+
"constname": "IVRCompositor_Version","consttype": "const char *const", "constval": "IVRCompositor_018"}
721734
,{
722735
"constname": "k_unVROverlayMaxKeyLength","consttype": "const uint32_t", "constval": "128"}
723736
,{
724737
"constname": "k_unVROverlayMaxNameLength","consttype": "const uint32_t", "constval": "128"}
725738
,{
726739
"constname": "k_unMaxOverlayCount","consttype": "const uint32_t", "constval": "64"}
740+
,{
741+
"constname": "k_unMaxOverlayIntersectionMaskPrimitivesCount","consttype": "const uint32_t", "constval": "32"}
727742
,{
728743
"constname": "IVROverlay_Version","consttype": "const char *const", "constval": "IVROverlay_013"}
729744
,{
@@ -772,12 +787,12 @@
772787
"constname": "k_pch_SteamVR_IPD_Float","consttype": "const char *const", "constval": "ipd"}
773788
,{
774789
"constname": "k_pch_SteamVR_Background_String","consttype": "const char *const", "constval": "background"}
790+
,{
791+
"constname": "k_pch_SteamVR_BackgroundUseDomeProjection_Bool","consttype": "const char *const", "constval": "backgroundUseDomeProjection"}
775792
,{
776793
"constname": "k_pch_SteamVR_BackgroundCameraHeight_Float","consttype": "const char *const", "constval": "backgroundCameraHeight"}
777794
,{
778795
"constname": "k_pch_SteamVR_BackgroundDomeRadius_Float","consttype": "const char *const", "constval": "backgroundDomeRadius"}
779-
,{
780-
"constname": "k_pch_SteamVR_Environment_String","consttype": "const char *const", "constval": "environment"}
781796
,{
782797
"constname": "k_pch_SteamVR_GridColor_String","consttype": "const char *const", "constval": "gridColor"}
783798
,{
@@ -803,7 +818,9 @@
803818
,{
804819
"constname": "k_pch_SteamVR_RenderTargetMultiplier_Float","consttype": "const char *const", "constval": "renderTargetMultiplier"}
805820
,{
806-
"constname": "k_pch_SteamVR_AllowReprojection_Bool","consttype": "const char *const", "constval": "allowReprojection"}
821+
"constname": "k_pch_SteamVR_AllowAsyncReprojection_Bool","consttype": "const char *const", "constval": "allowAsyncReprojection"}
822+
,{
823+
"constname": "k_pch_SteamVR_AllowReprojection_Bool","consttype": "const char *const", "constval": "allowInterleavedReprojection"}
807824
,{
808825
"constname": "k_pch_SteamVR_ForceReprojection_Bool","consttype": "const char *const", "constval": "forceReprojection"}
809826
,{
@@ -824,6 +841,8 @@
824841
"constname": "k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32","consttype": "const char *const", "constval": "CycleBackgroundImageTimeSec"}
825842
,{
826843
"constname": "k_pch_SteamVR_RetailDemo_Bool","consttype": "const char *const", "constval": "retailDemo"}
844+
,{
845+
"constname": "k_pch_SteamVR_IpdOffset_Float","consttype": "const char *const", "constval": "ipdOffset"}
827846
,{
828847
"constname": "k_pch_Lighthouse_Section","consttype": "const char *const", "constval": "driver_lighthouse"}
829848
,{
@@ -864,6 +883,8 @@
864883
"constname": "k_pch_UserInterface_Section","consttype": "const char *const", "constval": "userinterface"}
865884
,{
866885
"constname": "k_pch_UserInterface_StatusAlwaysOnTop_Bool","consttype": "const char *const", "constval": "StatusAlwaysOnTop"}
886+
,{
887+
"constname": "k_pch_UserInterface_MinimizeToTray_Bool","consttype": "const char *const", "constval": "MinimizeToTray"}
867888
,{
868889
"constname": "k_pch_UserInterface_Screenshots_Bool","consttype": "const char *const", "constval": "screenshots"}
869890
,{
@@ -1157,6 +1178,7 @@
11571178
{ "fieldname": "m_nSize", "fieldtype": "uint32_t"},
11581179
{ "fieldname": "m_nFrameIndex", "fieldtype": "uint32_t"},
11591180
{ "fieldname": "m_nNumFramePresents", "fieldtype": "uint32_t"},
1181+
{ "fieldname": "m_nNumMisPresented", "fieldtype": "uint32_t"},
11601182
{ "fieldname": "m_nNumDroppedFrames", "fieldtype": "uint32_t"},
11611183
{ "fieldname": "m_nReprojectionFlags", "fieldtype": "uint32_t"},
11621184
{ "fieldname": "m_flSystemTimeInSeconds", "fieldtype": "double"},
@@ -1202,6 +1224,21 @@
12021224
{ "fieldname": "vNormal", "fieldtype": "struct vr::HmdVector3_t"},
12031225
{ "fieldname": "vUVs", "fieldtype": "struct vr::HmdVector2_t"},
12041226
{ "fieldname": "fDistance", "fieldtype": "float"}]}
1227+
,{"struct": "vr::IntersectionMaskRectangle_t","fields": [
1228+
{ "fieldname": "m_flTopLeftX", "fieldtype": "float"},
1229+
{ "fieldname": "m_flTopLeftY", "fieldtype": "float"},
1230+
{ "fieldname": "m_flWidth", "fieldtype": "float"},
1231+
{ "fieldname": "m_flHeight", "fieldtype": "float"}]}
1232+
,{"struct": "vr::IntersectionMaskCircle_t","fields": [
1233+
{ "fieldname": "m_flCenterX", "fieldtype": "float"},
1234+
{ "fieldname": "m_flCenterY", "fieldtype": "float"},
1235+
{ "fieldname": "m_flRadius", "fieldtype": "float"}]}
1236+
,{"struct": "vr::(anonymous)","fields": [
1237+
{ "fieldname": "m_Rectangle", "fieldtype": "struct vr::IntersectionMaskRectangle_t"},
1238+
{ "fieldname": "m_Circle", "fieldtype": "struct vr::IntersectionMaskCircle_t"}]}
1239+
,{"struct": "vr::VROverlayIntersectionMaskPrimitive_t","fields": [
1240+
{ "fieldname": "m_nPrimitiveType", "fieldtype": "enum vr::EVROverlayIntersectionMaskPrimitiveType"},
1241+
{ "fieldname": "m_Primitive", "fieldtype": "VROverlayIntersectionMaskPrimitive_Data_t"}]}
12051242
,{"struct": "vr::RenderModel_ComponentState_t","fields": [
12061243
{ "fieldname": "mTrackingToComponentRenderModel", "fieldtype": "struct vr::HmdMatrix34_t"},
12071244
{ "fieldname": "mTrackingToComponentLocal", "fieldtype": "struct vr::HmdMatrix34_t"},
@@ -1276,11 +1313,12 @@
12761313
,{
12771314
"classname": "vr::IVRSystem",
12781315
"methodname": "ComputeDistortion",
1279-
"returntype": "struct vr::DistortionCoordinates_t",
1316+
"returntype": "bool",
12801317
"params": [
12811318
{ "paramname": "eEye" ,"paramtype": "vr::EVREye"},
12821319
{ "paramname": "fU" ,"paramtype": "float"},
1283-
{ "paramname": "fV" ,"paramtype": "float"}
1320+
{ "paramname": "fV" ,"paramtype": "float"},
1321+
{ "paramname": "pDistortionCoordinates" ,"paramtype": "struct vr::DistortionCoordinates_t *"}
12841322
]
12851323
}
12861324
,{
@@ -1516,7 +1554,8 @@
15161554
"methodname": "GetHiddenAreaMesh",
15171555
"returntype": "struct vr::HiddenAreaMesh_t",
15181556
"params": [
1519-
{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}
1557+
{ "paramname": "eEye" ,"paramtype": "vr::EVREye"},
1558+
{ "paramname": "type" ,"paramtype": "vr::EHiddenAreaMeshType"}
15201559
]
15211560
}
15221561
,{
@@ -1525,7 +1564,8 @@
15251564
"returntype": "bool",
15261565
"params": [
15271566
{ "paramname": "unControllerDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"},
1528-
{ "paramname": "pControllerState" ,"paramtype": "vr::VRControllerState_t *"}
1567+
{ "paramname": "pControllerState" ,"paramtype": "vr::VRControllerState_t *"},
1568+
{ "paramname": "unControllerStateSize" ,"paramtype": "uint32_t"}
15291569
]
15301570
}
15311571
,{
@@ -1536,6 +1576,7 @@
15361576
{ "paramname": "eOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"},
15371577
{ "paramname": "unControllerDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"},
15381578
{ "paramname": "pControllerState" ,"paramtype": "vr::VRControllerState_t *"},
1579+
{ "paramname": "unControllerStateSize" ,"paramtype": "uint32_t"},
15391580
{ "paramname": "pTrackedDevicePose" ,"paramtype": "struct vr::TrackedDevicePose_t *"}
15401581
]
15411582
}
@@ -2333,6 +2374,15 @@
23332374
{ "paramname": "unFramesAgo" ,"paramtype": "uint32_t"}
23342375
]
23352376
}
2377+
,{
2378+
"classname": "vr::IVRCompositor",
2379+
"methodname": "GetFrameTimings",
2380+
"returntype": "uint32_t",
2381+
"params": [
2382+
{ "paramname": "pTiming" ,"paramtype": "struct vr::Compositor_FrameTiming *"},
2383+
{ "paramname": "nFrames" ,"paramtype": "uint32_t"}
2384+
]
2385+
}
23362386
,{
23372387
"classname": "vr::IVRCompositor",
23382388
"methodname": "GetFrameTimeRemaining",
@@ -2360,6 +2410,14 @@
23602410
{ "paramname": "bBackground" ,"paramtype": "bool"}
23612411
]
23622412
}
2413+
,{
2414+
"classname": "vr::IVRCompositor",
2415+
"methodname": "GetCurrentFadeColor",
2416+
"returntype": "struct vr::HmdColor_t",
2417+
"params": [
2418+
{ "paramname": "bBackground" ,"paramtype": "bool"}
2419+
]
2420+
}
23632421
,{
23642422
"classname": "vr::IVRCompositor",
23652423
"methodname": "FadeGrid",
@@ -2369,6 +2427,11 @@
23692427
{ "paramname": "bFadeIn" ,"paramtype": "bool"}
23702428
]
23712429
}
2430+
,{
2431+
"classname": "vr::IVRCompositor",
2432+
"methodname": "GetCurrentGridAlpha",
2433+
"returntype": "float"
2434+
}
23722435
,{
23732436
"classname": "vr::IVRCompositor",
23742437
"methodname": "SetSkyboxOverride",
@@ -3176,6 +3239,17 @@
31763239
{ "paramname": "avoidRect" ,"paramtype": "struct vr::HmdRect2_t"}
31773240
]
31783241
}
3242+
,{
3243+
"classname": "vr::IVROverlay",
3244+
"methodname": "SetOverlayIntersectionMask",
3245+
"returntype": "vr::EVROverlayError",
3246+
"params": [
3247+
{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"},
3248+
{ "paramname": "pMaskPrimitives" ,"paramtype": "struct vr::VROverlayIntersectionMaskPrimitive_t *"},
3249+
{ "paramname": "unNumMaskPrimitives" ,"paramtype": "uint32_t"},
3250+
{ "paramname": "unPrimitiveSize" ,"paramtype": "uint32_t"}
3251+
]
3252+
}
31793253
,{
31803254
"classname": "vr::IVRRenderModels",
31813255
"methodname": "LoadRenderModel_Async",

0 commit comments

Comments
 (0)