Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ValveSoftware/openvr.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-08-19# OpenVR SDK 1.23.7HEADv1.23.7masterJeremy Selan
IVROverlay: * Added the ability to specify the pitch angle (in radians) of the overlay before curvature is applied -- to form a fan or disk. Previously, this used the global pitch angle, which prevented these overlays from being pitched independently (i.e. the cone segment or disk were always and only vertically aligned. Note: The old behavior will continue to be applied when using the older interface to avoid breaking legacy apps. Overlay applications which update to this version and were using pitched curved overlays, are now required to call SetOverlayPreCurvePitch explicitly. * Added WaitFrameSync. This function will block until the top of each frame, and can therefore be used to synchronize with the runtime's update rate. Note: In non-async mode, some signals may be dropped due to scene app performance, so passing a timeout of 1000/refresh rate may be useful depending on the overlay app's desired behavior. IVRRenderModels: * Added VRRenderModelTextureFormat_RGBA16_FLOAT for loading dds textures. * Added mipmap support to render model textures. IVRDriverDirectModeComponent: * PostPresent now takes throttling parameters. Drivers which implement this interface can set Prop_SupportsAppThrottling_Bool to enable throttling / prediction UI in per-app video settings. Driver Interface: * Added VRInitError_Driver_WirelessHmdNotConnected. A driver can return this error when it expects to connect to an HMD over a wireless link, but has not yet connected. Instead of “HMD Not Found”, the user will be shown a message that encourages them to turn on their wireless headset. App containers: * Added VRInitError_Init_NoServerForAppContainer. This error can be returned when VR_Init is called from a process that is running inside an application container on Windows when SteamVR is not running. In this context, SteamVR must be running before the application can start. [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 7449484]
2022-08-18[ steamvr - sdk ]Aaron Leiby
* Editing codegen scripts to point to the public openvr_api.json. Note: Keep these changes when integrating from main/rel, but do not integrate them to main/rel. [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 7446031]
2022-08-18Merging using vr_steamvr_rel_to_sdk_releaseAaron Leiby
Integration via vr_steamvr_main_to_rel of: Change 7445792 by aaronl: [ steamvr - vrsdk ] * Adding the scripts we use to codegen C# and C bindings to the public SDK. [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 7445965]
2021-02-25# OpenVR SDK 1.16.8v1.16.8Joe Ludwig
IVRCompositor: * Added support for OpenGL array textures via the Submit_GLArrayTexture flag. IVROverlay: * Added support for overlays that support projections via SetOverlayTransformProjection [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 6385862]
2020-10-02Removed out of date OSX files from the SDKJoe Ludwig
[git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 6120212]
2020-09-18# OpenVR SDK 1.14.15v1.14.15Jeremy Selan
New events: * VREvent_DesktopViewUpdating * VREvent_DesktopViewReady IVRDriverDirectModeComponent: * Updated CreateSwapTextureSet to (optionally) allow NTHandle support IVRServerDriverHost: * Added SetDisplayProjectionRaw * Added SetRecommendedRenderTargetSize * Renamed TrackedDeviceDisplayTransformUpdated -> SetDisplayEyeToHead [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 6100641]
2020-07-30Fixed GitHub capitalization per ↵Joe Ludwig
https://github.com/ValveSoftware/openvr/pull/1416 [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 6021408]
2020-07-17SteamVR SDK 1.13.10Joe Ludwig
Chaperone: * Added VREvent_StandingZeroPoseReset, which is sent when a user triggers the new reset standing zero pose button in the SteamVR dashboard. * Moved ResetSeatedZeroPose from IVRSystem to IVRChaperone [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 6001169]
2020-06-03OpenVR SDK 1.12.5v1.12.5Joe Ludwig
Vulkan: * Added support for texture arrays [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 5908460]
2020-04-24OpenVR SDK 1.11.11v1.11.11Joe Ludwig
New events: * Added VREvent_WindowsMRSectionSettingChanged, which is sent whenever a setting in the "driver_holographic" section changes. * Added VREvent_OtherSectionSettingChanged, which is sent when a setting changes in a section that doesn't have an event of its own. [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 5825862]
2020-04-01Remove old Compositor_OverlaySettings struct referencesGabe Rowe
[git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 5787046]
2020-03-24Merging using vr_steamvr_rel_to_sdk_release.Joe Ludwig
This should be everything in 1.10.32 [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 5773387]
2020-03-17# OpenVR SDK 1.10.30v1.10.30Joe Ludwig
IVRHeadsetView: * Allows scene applications access the contents of the "VR View" window, including modifying properties of their own instances of that window. See the header file for details. IVROverlayView: * Allows applications to read overlay textures and send mouse events to those overlays. See the header file for details. IVRCompositor: * Added Submit_FrameDiscontinuity flag which can be passed to Submit to identify a discontinuity with the previous frame (e.g. when the player teleports). This prevents SteamVR’s Motion Smoothing from being applied using that pair of frames. * IVRCompositor::Submit – Can now handle DirectX Texture Arrays. Index 0 for the left eye, Index 1 for the right eye IVRRenderModels: * Added VRComponentProperty_IsHighlighted, which is set to true for any render model component that should be highlighted for an input binding. IVROverlay: * The DualAnalog input method is no longer supported. * Added VROverlayFlags_WantsModalBehavior. This flag causes an overlay to get a VREvent_Modal_Cancel event whenever the user clicks off of the overlay. This is ignored for dashboard overlays. * Added flags for keyboard usage. “minimal mode” is now specified with KeyboardFlag_Minimal. * Made modal keyboard behavior optional. To get the behavior from pre-1.10 SDKs, pass KeyboardFlag_Modal. * Added VREvent_LockMousePosition and VREvent_UnlockMousePosition, which are sent to overlays when a user is laser mousing over the overlay and performs the LockMousePosition compositor action. * Removed support for rendermodels attached to overlays. This feature is no longer supported. IVRInput: * Added global action set priority. When this is enabled in settings, overlay applications can override part or all of the input available to scene applications. See the header file comments for more details. * Added GetDominandHand/SetDominantHand. This allows an application to flip left and right hands on bindings. Applications that support this must add “supports_dominant_hand_setting” to true in their action manifest file. * Added GetComponentStateForBinding. This allows applications to get the render model component transform for any component on a render model for a set of input bindings. * Added GetBindingVariant. This allows applications to provide multiple binding files for a controller type and determine which of them the user currently has selected. The value returned here is the “variant” field from the options block in the binding JSON file. [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 5759046]
2020-01-07**OpenVR SDK 1.9.16**v1.9.16Joe Ludwig
IVRDriverInput: * Added TrackedControllerRole_Stylus, which allows a device to appear as /user/stylus in the binding system. IVRSettings: * Removed sync function. Saving of settings is controlled automatically by the system now. All existing calls to Sync can be deleted. Calls to sync using old APIs do nothing. IVRCompositor: * Added the ability for apps to skin the construct during loading transitions using a single model (limit 65k vertices) and a single texture (rendered unlit). See https://github.com/ValveSoftware/openvr/wiki/Compositor-Skinning for details. IVROverlay: * Added transform types for dashboard tabs and dashboard thumbs. These no longer use absolute transforms, so they no longer have getters for their transforms. * Added SetOverlayTransformCursor, which will set an overlay's transform to "cursor", which means it will be centered around its hotspot and automatically positioned by the laser mouse system. * Added GetOverlayTransformCursor in case an application needs to read back the cursor hotspot of a cursor. * Added SetOverlayCursor, which allows an overlay to specify which cursor overlay should be used whenever the laser mouse is pointed at that overlay. The desktop overlay uses this to show custom cursors based on context. * Added SetOverlayCursorPositionOverride, which lets an overlay set the position to show its cursor at a position that is independent from where the laser mouse is pointing. The desktop overlay uses this to allow the physical mouse to override the laser mouse. * Added ClearOverlayCursorPositionOverride, which clears any cursor position override on the overlay and returns it to using the laser mouse position. * Added TriggerLaserMouseHapticVibration, which will trigger a haptic vibration on the laser mouse device in the context of a particular transform. [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 5586053]
2019-11-06**OpenVR SDK 1.8.19**v1.8.19Joe Ludwig
Properties: * Added Prop_DashboardScale_Float. Each headset has the opportunity to provide a scale for 'comfortable dashboard UI legibility'. For reference, Vive is 1.0 scale and Index is 0.75 scale. * Added Prop_IpdUIRangeMinMeters_Float, Prop_IpdUIRangeMaxMeters_Float to control the IPD user interface range, in-headset. * Added Prop_Audio_DefaultPlaybackDeviceId_String, Prop_Audio_DefaultRecordingDeviceId_String for HMDs to provide identifiers for associated audio playback and recording devices. On Windows these are Endpoint ID Strings. * Added Prop_Audio_DefaultPlaybackDeviceVolume_Float for HMDs to specify a default volume level which will be set the first time the HMDs associated audio playback device is selected. Prop_Audio_DefaultPlaybackDeviceId_String must also be set. The volume range is 0 to 1. IVRApplications: * Added GetSceneApplicationState(), which returns the running application state ( None, Starting, Quitting, Running, etc). See VREvent_SceneApplicationStateChanged * Removed GetTransitionState() * Removed IsQuitUserPromptRequested() IVRSystem: * Removed AcknowledgeQuit_UserPrompt(). "Prompt user on quit" functionality is no longer supported. IVROverlay: * Added VROverlayFlags_HideLaserIntersection - This causes the laser mouse to not draw the intersection blob for this overlay. The overlay is responsible for drawing its own cursor, if appropriate. * Added support for rendering overlays as gravity aligned curved surfaces. See new Set/GetOverlayCurvature definitions for details. * Removed gamepad support in overlays. This includes GetGamepadFocusOverlay(), SetGamepadFocusOverlay(), SetOverlayNeighbor(), and MoveGamepadFocusToNeighbor(). Going forward gamepads will be supported via lasermouse instead of with these custom calls. IVRInput: * Added OpenBindingUI - This function opens the binding user interface. Events: * Added VREvent_SceneApplicationStateChanged * Removed VREvent_SceneFocusLost, VREvent_SceneFocusGained, VREvent_SceneApplicationSecondaryRenderingStarted, VREvent_ApplicationTransition{*} * Removed VREvent_QuitAborted_UserPrompt [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 5469045]
2019-10-09Fix Public API Sample for Cameras in 1.7.15Charles Lohr
[git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 5401956]
2019-09-17**OpenVR SDK 1.7.15**v1.7.15Joe Ludwig
Events: * VREvent_Compositor_MirrorWindowShown and VREvent_Compositor_MirrorWindowHidden are no longer supported and have been removed. IVRApplications: * Added `VRApplicationProperty_IsHidden_Bool`, which is true for applications which the user has chosen to hide in their Steam library. IVRCompositor: * Disabled the following functions: `ShowMirrorWindow()`, `HideMirrorWindow()`, and `IsMirrorWindowVisible()`. These are no longer support with the new VR View window. IVROverlay: * Removed support for so-called "high quality" overlays, along with the functions that create them. These overlays never supported laser mouse interaction, were unable to act as dashboard overlays, and generally didn't play well with the rest of SteamVR. This approach to rendering overlays also didn't scale to modern displays. Any existing apps that still use the APIs in old versions of the SDK will fall back to being rendered as standard overlays. IVRTrackedCamera: * Added support for setting which tracking universe poses are returned in. Set the camera tracking universe with `SetCameraTrackingSpace(...)` and retrieve the current tracking universe with `GetCameraTrackingSpace(...)`. The camera tracking universe defaults to standing. Driver Interface: * Added support for overriding HMD properties from display redirect drivers. Any properties written to the ` k_ulDisplayRedirectContainer` property container will be read instead of the properties on the HMD itself. This container is only valid after Activate has been called on a display redirect device. * Created an optional Prop_NamedIconPathDeviceStandbyAlert_String that drivers can use to declare a device icon for a combination of standby + alert states. It's recommended to visually be a combination of the Prop_NamedIconPathDeviceReadyAlert_String and Prop_NamedIconPathDeviceStandby_String icons. [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 5356236]
2019-08-06Fixed issue with driver sample not compiling after a 1.6.10 driver interface ↵v1.6.10bv.1.6.10bJoe Ludwig
change. https://github.com/ValveSoftware/openvr/pull/1170 [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 5275932]
2019-08-02OpenVR SDK 1.6.10v1.6.10Joe Ludwig
IVRSystem: * Added GetAppContainerFilePaths – Call this function to get a semicolon-delimited list of file paths that any app container that intends to act as a SteamVR application will need access to. * Added GetRuntimeVersion – This returns the version of the SteamVR runtime as a string. IVROverlay: * VROverlayFlags_ProtectedContent – This flag prevents the overlay in question from being readable by any OpenVR SDK, and prevents it from showing up in the overlay viewer. CVRPropertyHelpers: * Added getters and setters for 2, 3, and 4 element vectors Driver Interface: * Added IVRServerDriverHost::GetFrameTimings, which allows drivers to retrieve frame timing data * Added tracked device class to IVRWatchdogHost::WatchdogWakeUp – This allows more precise logging of how the user caused SteamVR to wake up from hardware activity. [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 5271985]
2019-07-05OpenVR SDK 1.5.17v1.5.17Joe Ludwig
Properties: * Deprecated Prop_DoNotApplyPrediction_Bool. Drivers should provide poses with zero velocity instead. * Added Prop_DriverProvidedChaperoneVisibility_Bool – Drivers that set Prop_DriverProvidedChaperonePath_String can also set this property to indicate when the driver provided chaperone is visible or not visible. * Added Prop_HmdTrackingStyle_Int32 - Drivers should set this to an EHmdTrackingStyle value to control what message is shown to users when the HMD isn't tracking. Add a per-driver “loadPriority” (higher is earlier loading) to control the order that we check drivers for available HMDs. The default loadPriority is 0. Drivers can set a different default in resources/settings/default.vrsettings. The user can override those settings in their personal steam/config/steamvr.vrsettings file. Drivers with the same priority continue to be loaded in alphabetical order as before. IVRDriverManager interface: * Added IsEnabled, which returns true if the driver is enabled. IVRInput interface: * Added GetActionBindingInfo - This function allows the caller to learn details about exactly how an action is bound, including what input source the binding is for, what mode on that source, and what slot on that mode. For example, a dpad binding to a trackpad would be "/input/trackpad", "dpad", and "north". IVRDebug Interface: * Initial version of IVRDebug, an interface intended to collect SteamVR debugging functionality. It currently provides methods to interact with the VR Profiler and the driver debug interface. * Added EmitVrProfilerEvent - Applications can use this method to emit a discrete event to the VR Profiler. * Added BeginVrProfilerEvent/FinishVrProfilerEvent - Applications can use this pair of functions to create a duration based VR Profiler event. The methods signal the beginning and the end of the event respectively. * Added DriverDebugRequest - Migrated this function from IVRSystem to IVRDebug. [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 5214411]
2019-05-24OpenVR SDK 1.4.18v1.4.18Joe Ludwig
General: * vr::VR_GetRunTimePath now takes a buffer to fill with the returned path. This form of the function is now thread-safe. Driver Interface: * Prop_DashboardLayoutPathName_String - specified the name of the dashboard layout control file. Allows per-HMD control over settings like dashboard distance, etc. HelloVR Sample: * Added an example of generic bindings that will work ifno device-specific bindings are specified. Valve Index Controller: * Renamed some references from Knuckles to Index Controller IVRChaperoneSetup: * Added RoomSetupStarting - This fires an event that the tracking system can use to know room setup is about to begin. This lets the tracking system make any last minute adjustments that should be incorporated into the new setup. If the user is adjusting live in HMD using a tweak tool, keep in mind that calling this might cause the user to see the room jump. IVRCompositor: * Added IsMotionSmoothingSupported - This returns true if Motion Smoothing is supported by the current hardware. * Added IsCurrentSceneFocusAppLoading - This indicates whether or not the current scene focus app is currently loading. The return value is inferred from its use of FadeGrid to explicitly fade to the compositor to cover up the fact that it cannot render at a sustained full framerate during this time. IVRInput: * Split GetPoseActionData into two functions * GetPoseActionRelativeToNow - returns the data for the pose action for any time, given a relative number of seconds. * GetPoseActionDataForNextFrame - returns the data for the pose action that matches the application's most recent call to WaitGetPoses * Added a eSummaryType argument to GetSkeletalSummaryData - This allows applications to specify how much filtering should be applied to the data: * VRSummaryType_FromAnimation - The data should match the animated transforms in the skeleton transforms. This data will probably be smoothed and may be more latent * VRSummaryType_FromDevice - The data should be the unprocessed values from the device when available. This data may include more jitter but may be provided with less latency. [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 5123272]
2019-03-28OpenVR SDK 1.3.22v1.3.22Joe Ludwig
General: * Removed DLL exports in the static library version of openvr_api.dll Driver Interface: * Added Prop_AdditionalSystemReportData_String, which allows drivers to put additional information about its devices in the system report. * Added VREvent_SystemReport_Started, which gives drivers the opportunity to log before a system report is generated. * Added IVRServerDriverHost::RequestRestart, which allows a driver to request a restart with a message that will be shown to the user, and an optional executable to run. IVROverlay: * Added viewportscale to scroll events. This is the overlay's vertical size relative to the overlay height. IVRInput: * Added IsUsingLegacyInput, which returns true if the application is using legacy input. [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 5016734]
2019-01-31OpenVR SDK v1.2.10:v1.2.10Nat Brown
General: * Added new, more specific error messages for many compositor startup failures. * Fix for IVRCompositor.GetFrameTimings C# binding (https://github.com/ValveSoftware/openvr/issues/1001) * Added VRNotifications and VRIOBuffer C# accessors. Event and Overlay changes: * Scroll events have been split into two types. The first, VREvent_ScrollDiscrete, is meant for applications that are tuned to accept primarily detented mousewheel events, which replaces the previous VREvent_Scroll event. The second, VREvent_ScrollSmooth, is for applications that are tuned for more touchscreen-like, analog scrolling. * VROverlayFlags have been updated to allow overlays to indicate their preferred scroll event type. The VROverlayFlags_SendVRDiscreteScrollEvents flag renames the VROverlayFlags_SendVRScrollEvents flag, and the overlay will receive VREvent_ScrollDiscrete events when this flag is set. The VROverlayFlags_SendVRSmoothScrollEvents flag is added, and the overlay's owning application will receive VREvent_ScrollSmooth events when this flag is set. * VREvent_Input_BindingsUpdated is sent when a user has updated controller bindings using the system input binding UI. IVRIOBuffer: * Adds ability for writers to detect if an IOBuffer has readers (IVRIOBuffer::HasReaders), to avoid potentially expensive writing work [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 4926575]
2019-01-30Merging using vr_steamvr_rel_to_sdk_release to create OpenVR SDK v1.2.10Nat Brown
General: * Added new, more specific error messages for many compositor startup failures. * Fix for IVRCompositor.GetFrameTimings C# binding (https://github.com/ValveSoftware/openvr/issues/1001) Event and Overlay changes: * Scroll events have been split into two types. The first, VREvent_ScrollDiscrete, is meant for applications that are tuned to accept primarily detented mousewheel events, which replaces the previous VREvent_Scroll event. The second, VREvent_ScrollSmooth, is for applications that are tuned for more touchscreen-like, analog scrolling. * VROverlayFlags have been updated to allow overlays to indicate their preferred scroll event type. The VROverlayFlags_SendVRDiscreteScrollEvents flag renames the VROverlayFlags_SendVRScrollEvents flag, and the overlay will receive VREvent_ScrollDiscrete events when this flag is set. The VROverlayFlags_SendVRSmoothScrollEvents flag is added, and the overlay's owning application will receive VREvent_ScrollSmooth events when this flag is set. * VREvent_Input_BindingsUpdated is sent when a user has updated controller bindings using the system input binding UI. IVRIOBuffer: * Adds ability for writers to detect if an IOBuffer has readers (IVRIOBuffer::HasReaders), to avoid potentially expensive writing work [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 4924548]
2018-11-27OpenVR SDK 1.1.3b:v1.1.3bJoe Ludwig
* Fixed issue with EVRSkeletalTrackingLevel not being defined in openvr_driver.h Fixes https://github.com/ValveSoftware/openvr/issues/947 [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 4837752]
2018-11-27OpenVR SDK Update 1.1.3Joe Ludwig
General: * Added required SteamVR version number to the header file. IVRCompositor: * New VRCompositor_FrameTiming ReprojectionFlag: VRCompositor_ReprojectionMotion. This flag will be set for application frames where motion smoothing was applied at least one of the times it was displayed. * New interface IsMotionSmoothingEnabled added to determine if that user has enabled motion smoothing or not. IVRChaperone: * Added VREvent_ChaperoneFlushCache, which is sent when the application should reload any cached data they loaded from the chaperone API. This event indicates the user's current chaperone settings have changed. * The VREvent_ChaperoneDataHasChanged event will no longer be sent, and IVRChaperone::ReloadInfo no longer has any effect. IVRChaperoneSetup: * Removed some unimplemented functions: * SetWorkingCollisionBoundsTagsInfo * GetLiveCollisionBoundsTagsInfo * SetWorkingPhysicalBoundsInfo * GetLivePhysicalBoundsInfo * Added ShowWorkingSetPreview/HideWorkingSetPreview, which will cause the application's current working set to show as the chaperone bounds rendered by the compositor. Unless your application is modifying the user's chaperone bounds, you won't need to call these functions. They are independent of bounds turning on and off based on how close the user is to them. IVROverlay: * Added flag VROverlayFlags_MakeOverlaysInteractiveIfVisible. If this flag is set on an overlay and that overlay is visible, SteamVR will be placed into laser mouse mode. This will prevent the scene application from receiving any input, so use this flag carefully. * Changed SetOverlayDualAnalogTransform to take a pointer to better support the C API. IVRTrackedCamera: * for headsets (like Vive Pro) which include multiple camera images in a single video stream, GetCameraIntrinsics and GetCameraProjection now support a uint32_t nCameraIndex parameter to get data about the specific camera. IVRInput: * Added an argument to GetOriginLocalizedName to allow the caller to specify which parts of the name they want in the returned string. The possible values are: * VRInputString_Hand - Which hand the origin is in. E.g. "Left Hand" * VRInputString_ControllerType - What kind of controller the user has in that hand. E.g. "Vive Controller" * VRInputString_InputSource - What part of that controller is the origin. E.g. "Trackpad" * VRInputString_All - All of the above. E.g. "Left Hand Vive Controller Trackpad" * Skeletal Input: * Added GetBoneCount to return the number of bones in the skeleton associated with an action * Added GetBoneHierarchy which returns the index of each bone's parent in a user-provided array * Added GetBoneName to retrieve the name of the bones in the skeleton * Added GetSkeletalReferenceTransforms to retrieve the transforms for several specific hand skeleton poses: * Bind Pose * Open Hand * Fist * Grip Limit, which is the shape of the hand when closed around the controller * Added GetSkeletalTrackingLevel to retrieve an estimate of the level of detail with which the controller associated with an action can track actual the movement of the user's body. The levels are: * Estimated: body part location can't be directly determined by the device. Any skeletal pose provided by the device is estimated by assuming the position required to active buttons, triggers, joysticks, or other input sensors. e.g. Vive Controller, Gamepad * Partial: body part location can be measured directly but with fewer degrees of freedom than the actual body part. Certain body part positions may be unmeasured by the device and estimated from other input data. e.g. Knuckles, gloves that only measure finger curl * Full: body part location can be measured directly throughout the entire range of motion of the body part. e.g. Mocap suit for the full body, gloves that measure rotation of each finger segment * Added GetSkeletalSummaryData which returns meta data about the current pose of the hand such as finger curl and splay * Removed ulRestrictToDevice as a parameter from all skeletal input functions Driver API: * Added TrackedControllerRole_Treadmill, which lets a driver specify that a device is intended to function as a treadmill. This opts the device out of hand selection. The new input path /user/treadmill is automatically assigned to the first treadmill device to activate. IVRCameraComponent: * CVS_FORMAT_BAYER16BG for cameras which support delivering raw sensor data * Added camera index to GetCameraDistortion, GetCameraProjection, and GetCameraIntrinsics to support multiple cameras on the same device (see also IVRTrackedCamera) * Added the ability for cameras to return one of a small set of programmatic distortion function types and function parameters in addition to or instead of UV-sampling distortion through GetCameraDistortion. See EVRDistortionFunctionType and IVRCameraComponent::GetCameraIntrinsics and refer to OpenCV camera calibration and undistortion documentation. IVRDriverInput: * Added parameter to CreateSkeletonComponent to allow the driver to specify the skeletal tracking level that the controller supports Samples: * Fixed texture corruption bug with hellovr_vulkan when controller is turned on after starting the application. [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 4837234]
2018-10-16OpenVR SDK 1.0.17v1.0.17Joe Ludwig
IVRProperties: * Prop_CameraStreamFormat_Int32 - value from the openvr_driver.h ECameraVideoStreamFormat indicating the expected delivery format of the device * TrackedProp_IPCReadFailure IVRTrackedCamera: * CameraVideoStreamFrameHeader_t:: ulFrameExposureTime - additional field which carries the time in absolute system ticks of when the frame exposure happened, and the time of the frames pose. * CVS_FORMAT_YUYV16 - new opener_driver.h ECameraVideoStreamFormat value indicating 16-bit YUYV raw image encoding OpenVR C API: * Fixed cNewInput and rchRenderModelComponentName having an incorrect type IVRCompositor FrameTiming: * Added frame prediction and throttling bits to reprojection flags. Use the macros VR_COMPOSITOR_ADDITIONAL_PREDICTED_FRAMES and VR_COMPOSITOR_NUMBER_OF_THROTTLED_FRAMES for easy access. These values can be used to provide a better job at updating game simulation time for rendered frames when unable to meet native refresh rate requirements. * Added m_nNumVSyncsReadyForUse for tracking how long each frame took to render. * Added m_nNumVSyncsToFirstView for tracking how many vsync intervals before a given frame was first viewed (i.e. scanned out). This may differ from NumVSyncsReadyForUse if the frame was predicted further ahead since frames will never be displayed earlier than the time they were predicted to. * See https://developer.valvesoftware.com/wiki/SteamVR/Frame_Timing for more details. Driver API: * Added TrackingResult_Fallback_RotationOnly, which drivers can return if they have lost positional tracking but wish to still provide rotation-only tracking. [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 4759625]
2018-07-27OpenVR SDK 1.0.16v1.0.16Joe Ludwig
SteamVR Input (IVRInput/IVRDriverInput): * Added motion range parameter to UpdateSkeletonComponent in IVRDriverInput. This allows the driver to specify which range of motion set the given transforms are for, with controller or without controller * Added boneCount member InputSkeletalActionData struct. This lets users know how many bones are in the target skeleton by calling GetSkeletalActionData. * Added GetSkeletalBoneData as a separate call to get the bone transforms. User code should now call GetSkeletalActionData first to determine if the action is active, and if so then call GetSkeletalBoneData to retrieve the transforms. * Added an input example to the sample driver. This includes an input profile, localized strings, icons, etc. * Added ulRestrictToDevice argument to GetDigitalActionData, GetAnalogActionData, GetSkeletalActionData, GetSkeletalBoneData, GetSkeletalBoneDataCompressed, and TriggerHapticVibration. This allows applications to use the same action for both hands and differentiate them when calling to fetch the actual data. To get these handles, pass "/user/hand/right" or "/user/hand/left" to IVRInput::GetInputSourceHandle. * Added nPriority to VRActiveActionSet_t. This allows applications to control how multiple bindings from different actions sets block each other. If action set A and action set B both have something bound to the trigger, the action set with the larger priority number will be returned to the application and the action set with the smaller priority number will receive no input. If multiple action sets use the same priority number, the application will get inputs from all actions in those sets even if they're bound to the same input source. IVRRenderModels: * Added GetComponentStateForDevicePath, which allows applications to animate controller components while using the new input system. To get these handles, pass "/user/hand/right" or "/user/hand/left" to IVRInput::GetInputSourceHandle or use the devicePath field in the structure filled out by IVRInput::GetOriginTrackedDeviceInfo. IVRSpatialAnchors: * Add a new interface that lets clients request driver descriptors for physical locations. These descriptors are opaque strings that are stored by the client until they want to recover that position for future use. The driver can update the coordinates whenever it has better information (for example when the HMD gets physically closer to the original location). The client should treat active anchors like object poses that could update at any time. Drivers don't have to implement any special support for this, in which case the runtime will provide fallback descriptors which are no better or worse than just having the application record virtual coordinates. As of this release, no drivers are providing special descriptors. This interface is present for prototyping but is not recommended for production use at this time. Further documentation is provided in the associated headers. IVRVirtualDisplay: * Added the ability for DisplayRedirect devices to disable mura correction in the compositor (set Prop_DriverRequestedMuraCorrectionMode_Int32 to EVRMuraCorrectionMode_NoCorrection). * Added the ability for DisplayRedirect devices to specify parameters to use for mura feathering. This is to allow DisplayRedirect devices that use the IVRVirtualDisplay interface to handle only a subset of mura correction in the middle of the display, while the compositor continues to correct the outer area. Mura correction values are linearly interpolated to zero over the specified ranges in pixels; corners use the max value. IVRCompositorPluginProvider: * Initial support for loading SteamVR drivers in the compositor process. Currently only supports IVRVirtualDisplay components in order to provide async reprojection support. New texture submission formats for macOS 10.14: * macOS 10.14 now supports cross-process sharable MTLTexture objects. Applications on macOS 10.14 or higher should prefer submitting textures to the compositor using TextureType_Metal rather than TextureType_IOSurface. * TextureType_Metal textures of type MTLTextureType2D and MTLTextureType2DArray can be submitted to IVRCompositor::Submit. When submitting MTLTextureType2DArray textures, the compositor assumes layer 0 is the left eye texture (vr::EVREye::Eye_left) and layer 1 is the right eye texture (vr::EVREye::Eye_Right). Applications must still call IVRCompositor::Submit twice, once for each eye, when submitting MTLTextureType2DArray textures, and the two layers of the texture will only be utilized if the same MTLTexturetype2DArray texture is submitted to each call. [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 4637165]
2018-05-11OpenVR SDK 1.0.15v1.0.15Joe Ludwig
Added support for the new SteamVR Input system. Please see the documentation for details: * https://github.com/ValveSoftware/openvr/wiki/SteamVR-Input Added support for tracked devices to provide access to their raw inertial measurement unit (IMU) data stream. Please see the documentation for details: * https://github.com/ValveSoftware/openvr/wiki/ImuSample_t The stream of IMU data in the form of vr::ImuSample_t structures is provided through a new way of sharing data between applications and drivers called IVRIOBuffers. For details, see the documentation: * https://github.com/ValveSoftware/openvr/wiki/IVRIOBuffer A new section in the steamvr.vrsettings file supports tracked devices overriding the tracking of other devices. Please see the documentation for details: * https://github.com/ValveSoftware/openvr/wiki/TrackingOverrides [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 4505287]
2018-04-06**OpenVR SDK 1.0.14**v1.0.14Aaron Leiby
Tracked Camera * Added property Prop_NumCameras_Int32 for drivers to specify the number of cameras a given headset provides. * Added property Prop_CameraFrameLayout_Int32 for drivers to specify the frame layout of images delivered (use provided EVRTrackedCameraFrameLayout values). IVRVirtualDisplay * Added vsync mode, frame id, and vsync timing data to Present call. [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 4455565]
2018-02-15**OpenVR SDK 1.0.13**v1.0.13Joe Ludwig
General * Added VREvent_RoomViewShown and VREvent_RoomViewHidden. Indicates that the "room view" pass-through camera mode has been started or stopped by the user. An application or driver can use this to enable or disable other functionality. IVROverlay * Added TextureType_DXGISharedHandle. This is used to submit a shared texture handle directly and avoid an extra copy on the resource. This texture type is current only supported for overlays on Windows. Driver Interface * Added TrackedControllerRole_OptOut. Set a controller to this if you want that controller to be ignored for the purposes of right/left hand selection. * Added Prop_NeverTracked_Bool. Set that property to true on a device if you want to inform the system that the device is never going to have a valid pose. For instance, you might use this for an untracked gamepad. * Prop_DistortionMeshResolution_Int32. Set this property on an HMD device if you want the system to generate a distortion mesh with a different resolution than the default, which is an approximately 50x50 grid across the full texture which is then trimmed to the area within the hidden area mesh. * Added Prop_MinimumIpdStepMeters_Float. Set this to the minimum IPD change in meters that should cause the IPD UI to be shown. * IVRDriverDirectModeComponent.CreateSwapTextureSet added the ability to specify sample count. * IVRDriverDirectModeComponent.SubmitLayer [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 4366099]
2018-01-09**OpenVR SDK 1.0.12**v1.0.12Joe Ludwig
IVRSystem * Removed the concept of "input focus" and all the associated APIs. * Added more granular "system behavior" functions to allow applications to query whether or not they should modify their behavior based on the state of the system. The new function are: * IsInputAvailable() -- This will return true if the application is receiving input events. For instance, it will return false when the SteamVR dashboard is visible. * IsSteamVRDrawingControllers() -- This will return true if SteamVR is drawing the user's actual controllers for any reason. It will be true if the dashboard is visible or if the SteamVR keyboard is visible over the application. * ShouldApplicationPause() -- This will return true is applications should pause (where appropriate.) It generally indicates that the user's attention is being taken by something like the SteamVR dashboard. Multiplayer games and other applications where "pause" is unavailable can ignore this. * ShouldApplicationReduceRenderingWork() -- This will return true when SteamVR is using more GPU and CPU resources than normal. It is a hint to the application to reduce its own rendering workload. A common way of doing this is to submit smaller render targets per eye. IVRCompositor * Added ability to pass depth info for scene textures. Use VRTextureWithDepth_t (or VRTextureWithPoseAndDepth_t) and pass Submit_TextureWithDepth flag to Submit. Driver API * Replaced the API that drivers use to report input (button, trackpad, joystick, etc.) state. See (`IVRDriverInput` documentation)[ https://github.com/ValveSoftware/openvr/wiki/IVRDriverInput-Overview] for more information. * Replaced the haptic API into drivers with an events. Drivers will receive an event of type VREvent_Input_HapticVibration which uses the hapticVibration member of the data until to specify parameters. * Prop_CameraToHeadTransforms_Matrix34_Array - HMD devices which support multiple cameras expose camera extrinsic information in this property as an array of 3x4 transforms, one for each camera sensor. It is suggested that new devices also choose one of their cameras as a “primary” and expose its extrinsics as Prop_CameraToHeadTransform_Matrix34 for backwards compatibility with applications designed to recognize a single camera sensor. * Prop_DriverIsDrawingControllers_Bool – Drivers should set this property if they are rendering controllers on top of the scene in their own compositor. This will hint the application to stop drawing them separately. * Prop_DriverRequestsApplicationPause_Bool – Drivers can set this to true in order to hint applications to pause their game (e.g. when bringing up a custom dashboard). * Prop_DriverRequestsReducedRendering_Bool – Drivers can set this to true in order to hint applications to reduce rendering (e.g. when bringing up a custom dashboard). IVROverlay * Removed HandleControllerOverlayInteractionAsMouse. Overlay applications should use the mouse overlay input method instead. [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 4305765]
2017-12-06OpenVR SDK 1.0.11v1.0.11Joe Ludwig
General: - k_unMaxTrackedDeviceCount is now 64 to support larger numbers of trackers. macOS: - resolves memory leaks with caller/callee MRC/ARC mismatches - consider re-integrating if you bundle or build libopenvr_api from source IVRCompositor: - extend SetExplicitTimingMode() with an extra mode to allow the application to instruct the runtime to never implicitly call PostPresentHandoff() instead of relying on sequencing of other calls to decide if it should. Driver Interface: - Added several new driver properties to support better status UI layout and device-specific default idle icons for custom headset and tracked controller drivers: - Prop_ExpectedTrackingReferenceCount_Int32 - specifies the expected number of tracking sensors or basestations to reserve UI space for, though it can later offer more or fewer actual tracking reference devices. - Prop_ExpectedControllerCount_Int32 - specifics the expected number of tracked controllers to reserve UI space for, though it can later offer more or fewer actual tracked controllers. - Prop_NamedIconPathControllerLeftDeviceOff_String - specifies the placeholder inactive icon for the expected "left" controller when no controller has yet been found or activated. - Prop_NamedIconPathControllerRightDeviceOff_String - specifies the placeholder inactive icon for the expected "right" controller when no controller has yet been found or activated. - Prop_NamedIconPathTrackingReferenceDeviceOff_String -specifies the placeholder inactive icon for the expected tracking reference sensor/base when no tracking references have yet been found or activated. IVRDriverDirectModeComponent: - Added separate PostPresent call which can be implemented to allow Present to return early after having called AcquiredSync on the provided syncTexture to unblock the compositor from continuing its work. Added GetFrameTiming to allow DriverDirectMode implementations to return additional timing information that only the driver's compositor knows about. - Added new property Prop_DoNotApplyPrediction_Bool - Can be set by drivers which implement DriverDirectMode to tell the compositor not to apply any prediction to the poses provided by the driver. [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 4268903]
2017-11-17MergingDan Ginsburg
//vr/steamvr/main/public/sdk/samples/hellovr_vulkan/hellovr_vulkan_main.cpp to //vr/steamvr/sdk_release/samples/hellovr_vulkan/hellovr_vulkan_main.cpp [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 4245963]
2017-09-01OpenVR 1.0.10v1.0.10Nat Brown
IVRCompositor: - New IVRCompositor::SetExplicitTimingMode and IVRCompositor::SubmitExplicitTimingData for DX12 (https://github.com/ValveSoftware/openvr/wiki/DirectX12#explicit-timing) and Vulkan (https://github.com/ValveSoftware/openvr/wiki/Vulkan#explicit-timing) - Adds Submit_TextureWithPose flag and VRTextureWithPose_t structure so applications can specify the pose the texture was rendered for when calling IVRCompositor::Submit IVROverlay: - New IVROverlay::CloseMessageOverlay for closing modal dashboard dialogs the process owns IVRSystem: - Adds context to IVRSystem::GetOutputDevice required to discriminate graphics device in Vulkan Miscellaneous - Fixes crashes under some multithreading circumstances using OpenVR VR_* APIs - Updates hellovr_vulkan sample to use IVRSystem::GetOutputDevice - Fixes a crash with hellovr_opengl sample under macOS [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 4122485]
2017-07-18OpenVR SDK 1.0.9v1.0.9Jeremy Selan
Drivers: - Added TrackedDeviceDisplayTransformUpdated, which allows HMD drivers to explicitly specify the 4x3 eye-to-head transforms. The classic mechanism of setting Prop_UserIpdMeters_Float is still supported. - Added Prop_DriverProvidedChaperonePath_String, which a driver can set on the HMD device to specify a fallback chaperone setup that will be used if no other chaperone data is available for the universe returned by that driver. This string is a JSON object in the same format as the .vrchap file. - Added VREvent_WirelessDisconnect and VREvent_WirelessReconnect events for display redirect drivers to notify the runtime of display connection status. [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 4059277]
2017-06-13OSX sdk changesv1.0.8Jeremy Selan
- Adds pre-built OpenVR.framework for macOS support, defaults to universal 32-/64-bit binary building, see src/README - corrects macOS framework structure and @rpath of .framework and .dylib binaries. supports building 32-bit-only dylib. CL3996577, 3996634, 4006665 [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 4009638]
2017-06-13OpenVR SDK 1.0.8:Jeremy Selan
General: - Added VRCompositorError_InvalidBounds - This is returned when the application passes texture bounds to Submit that are outside the range of 0.0 to 1.0 or are otherwise invalid. - Added sample programs: hellovr_vulkan and hellovr_dx12. IVRVirtualDisplay: - The IVRVirtualDisplay interface is provided to allow OpenVR driver authors access to the final composited backbuffer intended for the headset’s display. The primary expected use case is for wireless transport, though this could also be used for saving output to disk or streaming. From the perspective of the runtime, the VR compositor is interfacing with a virtual rather than an actual display. See https://github.com/ValveSoftware/virtual_display IVRSystem: - GetOutputDevice interface added for applications to know which primary graphics adapter to use. This returns a LUID on Win32, vk::PhysicalDevice for Vulkan and id<MTLDevice> on OSX. IVRDriverManager: - Public API to query installed device drivers. Drivers: - Drivers can now set Prop_DriverDirectModeSendsVsyncEvents_Bool to true to indicate they will call VsyncEvent on their own. This enables avoiding the hardcoded 2.8ms vsync offset for IVRDriverDirectModeComponent implementations. - Allow drivers to specify which graphics adapter to use by settings Prop_GraphicsAdapterLuid_Uint64. This is a LUID on Win32. MacOS/OSX: - includes a private framework compatible with Xcode 8 and higher. Embedding frameworks as binaries in your macOS app bundle can be error prone - see detailed instructions in issue #543 https://github.com/ValveSoftware/openvr/issues/543#issuecomment-307637564 Cmake Build System (optional): - cmake script changes to better support Cygwin - supports building universal 32/64 binaries on OSX - supports building as a private OSX framework [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 4009583]
2017-05-02OpenVR SDK 1.0.7:v1.0.7Jeremy Selan
General: - Updated structure packing to be more consistent across platforms. - New property (Prop_SecondsFromPhotonsToVblank_Float) to support rolling illumination displays. - New property (Prop_ResourceRoot_String). When present identifies the properly named driver subdir to be used for sourcing resources. - New properties which are automatically set based on components a given driver implements. - Prop_HasDisplayComponent_Bool - Prop_HasControllerComponent_Bool - Prop_HasCameraComponent_Bool - Prop_HasDriverDirectModeComponent_Bool - Prop_HasVirtualDisplayComponent_Bool IVROverlay: - Added SetOverlayName method. - Added SetOverlayRenderModel method. Sets render model to draw behind this overlay and the vertex color to use, pass null for pColor to match the overlays vertex color. The model is scaled by the same amount as the overlay, with a default of 1m. - Added GetOverlayRenderModel accessor. - Added SetOverlayTransformOverlayRelative method. Sets the transform to relative to the transform of the specified overlay. This overlays visibility will also track the parents visibility. - Added GetOverlayTransformOverlayRelative accessor. IVRServerDriverHost: - Added GetRawTrackedDevicePoses. Provides access to device poses for drivers. Poses are in their "raw" tracking space which is uniquely defined by each driver providing poses for its devices. It is up to clients of this function to correlate poses across different drivers. Poses are indexed by their device id, and their associated driver and other properties can be looked up via IVRProperties. IVRVirtualDisplay: - New interface drivers can implement to redirect display output. - Added new device type (TrackedDeviceClass_DisplayRedirect) for accessories which redirect display output. [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 3936268]
2017-01-31Removing the outdated unity plugin from the SDK. This is released in a ↵v1.0.6Joe Ludwig
separate Github repo now. https://github.com/ValveSoftware/steamvr_unity_plugin [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 3811843]
2017-01-31OpenVR SDK 1.0.6:Joe Ludwig
General: * Updated source code and cmake configurations for openvr_api.dll (and dylib/so) for applications that need a static library. * Added VREvent_PropertyChanged event, which is sent when any property changes. * Added VREvent_PrimaryDashboardDeviceChanged event, which is sent when the user changes the dashboard laser pointer from one controller to another. IVRCompositor: * Added initial support for DirectX 12 and OSX IOSurfaces. Use at your own risk. Forward compatibility is not guaranteed. * Added IVRCompositor::ReleaseMirrorTextureD3D11(). Call ReleaseMirrorTextureD3D11 instead of calling Release directly on the texture. IVRApplications: * Added GetCurrentSceneProcessId(), which returns the process ID of the latest process to call VR_Init with the Scene application type. Server driver Interface: * Greatly simplified IServerTrackedDeviceProvider::Init and its arguments. This function now takes only an IVRDriverContext. From there it can call GetGenericInterface to get the rest of the interface. * Added global accessor functions for drivers that are similar to those used by applications. Put this line at the start of your IServerTrackedDeviceProvider::Init function (and the equivalent line in Cleanup) to enable them: VR_INIT_SERVER_DRIVER_CONTEXT( pContext ); * IServerTrackedDeviceProvider no longer has enumeration functions for drivers. If the provider contains an HMD it should call TrackedDeviceAdded with the details of that HMD before Init returns. Other devices can be added at any time by calls to TrackedDeviceAdded. * IVRServerDriverHost::TrackedDeviceAdded now takes all the required values for a new tracked device, including the device class and device driver interface pointer. * Replace the property functions on ITrackedDeviceServerDriver with the IVRProperties interface and the CPropertyHelpers helper functions. This should result in significantly less boilerplate code in drivers and allows drivers to invalidate properties immediately instead of waiting for the client-side cache to expire. Use vr::VRProperties() to get the new helper interface. See the sample driver for details. * Added a new "enable" setting to all drivers that will prevent the driver DLL from being loaded. The enable flag has been removed from the sample driver. * IServerDriverHost has been renamed to IVRServerDriverHost no longer contains a few functions that are now handled by property setters. * GetSettings() is now handled with vr::VRSettings() * PhysicalIpdSet() is now handled by setting the Prop_UserIpdMeters_Float property. * TrackedDevicePropertiesChanged() is now handled automatically when a property is set. * MCImageUpdated() was undocumented and not useful outside the Lighthouse driver. It has been removed. CVRHiddenAreaHelpers: * This new helper class provides access to the hidden area mesh via the property system. You can access it with vr::VRHiddenArea() in a server driver. IDriverLog: * This interface has been renamed to IVRDriverLog IClientTrackedDeviceProvider: * Client drivers have been removed from the system. Drivers are no longer loaded into client processes. The functionality that used to be held in client drivers has moved: * BIsHmdPresent is implemented by looking for USB VID and PID values as specified in the driver manifest file: https://github.com/ValveSoftware/openvr/wiki/DriverManifest * GetHiddenAreaMesh is implemented via properties and the CVRHiddenAreaHelpers class. (See above) * GetMCImage was undocumented and not useful outside of the Lighthouse driver. It has been removed. * Watchdog mode, which allows SteamVR to start automatically on hardware activity, has been moved to a new driver type IVRWatchdogProvider. IVRWatchdogProvider: * This provider is only loaded in app type SteamWatchdog. It monitors the hardware for changes and calls vr::VRWatchdogHost()->WatchdogWakeUp() if an event occurs that should start SteamVR. This is entirely optional. A driver that doesn't implement this provider will just not wake up SteamVR on hardware activity. [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 3811839]
2016-12-13updated helloworldoverlay to latest sdkJeremy Selan
#335 [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 3739956]
2016-12-12OpenVR SDK 1.0.5v1.0.5Jeremy Selan
General: * Added final support for submitting Vulkan overlays and eye images. See this document for more information: https://github.com/ValveSoftware/openvr/wiki/Vulkan * Added TextureType_Vulkan, VRVulkanTextureData_t * Rename EGraphicsAPIConvention -> ETextureType. * New synchronous MessageOverlay API. Use IVROverlay::ShowMessageOverlay to display a message with up to four buttons. * Added ETrackedDeviceClass, GenericTracker * Added ETrackedPropertyError, PermissionDenied IVRSystem (v15): * GetProjectionMatrix signature change, removed EGraphicsAPIConvention eProjType IVRCompositor (v19): * Added GetVulkanInstanceExtensionsRequired, GetVulkanDeviceExtensionsRequired IVROverlay (v14): * Added VROverlayFlags_VisibleInDashboard * GetOverlayTexture signature change (includes overlay texture bounds) * Added GetOverlayFlags * Added ShowMessageOverlay IVRTrackedCamera (v13): * Renamed GetCameraIntrinsics [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 3739504]
2016-11-16OpenVR SDK 1.0.4:v1.0.4Jeremy Selan
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: #48 Format README in Markdown #58 correct detection of GCC #68 helloworldoverlay: Specify c++11 to fix gcc errors #76 Remove duplicate, unneeded glBindBuffer call. #135 Invert m_mat4HMDPose after assignment copying. #191 Document additional methods #278 include stdbool.h on non windows platform #306 Multi-platform CMake support. [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 3697868]
2016-10-11OpenVR SDK 1.0.3:v1.0.3Jeremy Selan
General: * Added preliminary Vulkan support * Added Button ID k_EButton_ProximitySensor. Use this for raw access to a proximity sensor if there is one. * Fixed spelling error in EVROverlayError, "VROVerlayError_KeyboardAlreadyInUse" IVRSettings: * Improved default value handling. Defaults are no longer passed with each individual call to GetBool, GetInt32, GetFloat, and GetString. Instead, system-wide defaults are specified in "default.vrsettings" (in the resources/setting/ directory of either the runtime or the driver_xxx directory.) If not explicitly defined, the default will be false, 0, 0.0 or "" with an error of VRSettingsError_UnsetSettingHasNoDefault. * Added explicit EVRSettingsError for VRSettingsError_JsonParseFailed [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 3647965]
2016-07-06OpenVR SDK 1.0.2:v1.0.2Joe Ludwig
General: * Split several VR_Init error return values out into unique causes. * Added Prop_ControllerRoleHint_Int32, which a controller driver can optionally use to return the best matching ETrackedControllerRole type for the controller. Use this to specify a controller that is physically shaped for one hand only or when the driver is able to determine which hand is holding the controller through sensors or other means. * Added VREvent_OverlayFocusChanged, which is sent when an overlay was under the laser mouse and isn’t anymore or when there was no overlay under the laser mouse and now there is. IVRApplications: * Added LaunchApplicationFromMimeType. This allows the caller (usually Steam) to start the application that is associated with that mime type if it is not already running. If the application is not running it will be started with the specified arguments appended to existing arguments for the app. If the application is already running it will receive VREvent_ApplicationMimeTypeLoad and can retrieve the arguments by passing event.applicationLaunch.unArgsHandle to IVRApplications:: GetApplicationLaunchArguments. * Added other support functions for mime types. IVRCompositor: * Split out Compositor_FrameTiming's m_flSceneRenderGpuMs into m_flPreSubmitGpuMs and m_flPostSubmitGpuMs. Post-Submit time was not previously being recorded. IVROverlay: * Added VROverlayFlags_SortWithNonSceneOverlays. This allows the scene application's overlays to sort with other non-scene overlays. * Added SetOverlayTexelAspect/GetOverlayTexelAspect. This allows an overlay to control the aspect ratio of its texels. By default all overlay texels are square (i.e. 1.0) * Added SetOverlaySortOrder/GetOverlaySortOrder. This allows an overlay to be force to be sorted above or below other overlays. It is most useful for overlays from the scene application that want to explicitly control their draw order. IVRTrackedCamera: * Added accessors to work with tracked camera gpu resources: ** GetVideoStreamTextureSize ** GetVideoStreamTextureD3D11 ** GetVideoStreamTextureGL ** ReleaseVideoStreamTextureGL IVRResources: * New interface to allow access to resource files in the runtime or user-installed drivers. IVRCameraComponent: * Simplified interface by removing duplicate functions already provided by properties and deprecating the arbitrary distortion methods. IClientDriverHost: * Added WatchdogWakeUp. When a client driver is in Watchdog mode it should call this if a hardware event happens that should cause the system to wake up. The Lighthouse driver, for instance, calls this method when a system button is pressed or a controller is turned on. IClientTrackedDeviceProvider: * Added eDriverMode argument to Init. When this is passed as ClientDriverMode_Watchdog the driver should enter a low-power state where hardware is being monitored. If the driver does not support watchdog mode it should return VRInitError_Init_LowPowerWatchdogNotSupported. [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 3525698]
2016-06-11Added missing IVRScreenshots interface declaration to openvr.h.v1.0.1Joe Ludwig
[git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 3492671]
2016-06-10OpenVR SDK 1.0.1:Joe Ludwig
IVROverlay: * Added event VREvent_ImageFailed which is sent when SetOverlayFromFile is called and the file load fails. IVRScreenshots: Added a new API via IVRScreenshots for screenshot support in VR. This feature is still being developed and is currently in a beta state. You can enable screenshot capture by selecting Enable Screenshots in the general settings of the VRMonitor. Documentation for this new API is available at, https://github.com/ValveSoftware/openvr/wiki/IVRScreenshots_Overview Driver API: * Split Oculus driver direct mode into a new component and out of IVRDisplayComponent. Other drivers generally don't need to implement this component. [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 3492473]
2016-05-26Fixed https://github.com/ValveSoftware/openvr/issues/126Joe Ludwig
[git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 3469866]
2016-05-24Fixed issues with C# code generation.v1.0.0Joe Ludwig
[git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 3466598]