github ValveSoftware/openvr v0.9.16

latest releases: v2.5.1, v2.2.3, v2.0.10...
8 years ago

OpenVR SDK 0.9.16:
Note: This update includes significant changes to the OpenVR driver interface to simplify driver development and support backward compatibility. Drivers will need to update to at least this version to continue to be supported.

General:

  • Added VREvent_TrackedDeviceRoleChanged, which is sent when right/left handedness of a controller changes.

Settings:

  • Added RemoveSection, which removes an entire section from the settings.

Render Models:

  • Changed render model and texture loading to be asynchronous. LoadRenderModel has become LoadRenderModel_Async and LoadTexture has become LoadTexture_Async. Check the EVRRenderModelError returned by these functions to determine if the requested resource is loaded asynchronously.
  • LoadTextureD3D11 has become LoadTextureD3D11_Async which loads a texture into a D3D11 resource asynchronously.
  • Added VRComponentProperty_IsScrolled, which can be returned for render model components that are currently scrolling.
  • Added RenderModel_ControllerMode_State_t to GetComponentState. This allows the caller to specify whether the component is scrolled and is used for devices sending scroll events to overlays. Pass NULL if you don't care about this.

Driver Interface:

  • Removed TrackedDeviceDriverInfo_t. The information that used to be in this struct is now provided via properties. Added Prop_DeviceClass_Int32 for the one member of the struct that didn't already have a matching property.
  • IServerDriverHost:: TrackedDeviceAdded now takes a serial number string. The driver will be called back to get specifics via properties.
  • Prop_SerialNumber_String and Prop_DeviceClass_Int32 are now required for every tracked device driver.
  • Added deviceIsConnected to DriverPose_t. When a connection to a device is lost the driver should send another pose with this bool set to false.
  • Removed ITrackedDeviceServerDriver::GetId. This information is retrieved via Prop_SerialNumber_String now.
  • Functions that aren't universal to all tracked devices have been moved onto driver components. These are retrieved with the GetComponent function.
  • Display-related functions have moved to IVRDisplayComponent. This includes:
    • GetWindowBounds
    • IsDisplayOnDesktop
    • IsDisplayRealDisplay
    • GetRecommendedRenderTargetSize
    • GetEyeOutputViewport
    • GetProjectionRaw
    • ComputeDistortion
    • CreateSwapTextureSet
    • DestroySwapTextureSet
    • DestroyAllSwapTextureSets
    • SubmitLayer
    • Present
  • Controller-related functions have been moved to IVRControllerComponent. This includes:
    • GetControllerState
    • TriggerHapticPulse
  • Camera-related functions have moved onto IVRCameraComponent, but this interface is still in flux, so you should avoid implementing it in your driver.
  • IServerDriverHost lost the TrackedDeviceInfoUpdated function. If property values change, the driver should call TrackedDevicePropertiesChanged instead.
  • GetSettings on IServerDriverHost and IClientDriverHost now take an interface string. Pass the version of IVRSettings that your driver was compiled against.
  • Interface versions were added to a few other places to support backward compatibility.

[git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 3299073]

Don't miss a new openvr release

NewReleases is sending notifications on new releases.