github ValveSoftware/openvr 0.9.0
Initial OpenVR SDK Release

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

The API that used to be available in steamvr.h in the Steamworks SDK is now the OpenVR SDK. Support for the old API will be maintained indefinitely, but applications that need any of the new features will need to switch to the new SDK.

Several new interfaces were added and new methods were added to existing interfaces. See the API documentation for details.

Changes from the SteamVR interface in SteamWorks SDK 1.31 to OpenVR SDK 0.9.0 include:

  • IHmd is now IVRSystem.
  • Added support for multiple tracked objects. Call IVRSystem::GetTrackedDeviceClass on numbers between 0 and k_unMaxTrackedDeviceCount to determine what kind of device is in each slot. The active HMD will always be at k_unHmdTrackedObject (aka 0) in the list.
  • Moved fetching of various values about HMDs and other tracked devices into properties. The TrackedDeviceProperty enum defines the available values. Call IVRSystem::Get<type>TrackedDeviceProperty to get the value for an object.
  • Added support for providing applications with models and textures for tracked devices. This allows applications to draw the actual devices being tracked. See IVRSystem::LoadRenderModel and IVRSystem::FreeRenderModel for details.
  • Clarified and changed tracking prediction. The right value to pass to IVRSystem::GetDeviceToAbsoluteTrackingPose is typically ( - ) + . All three of those values are available as properties on the HMD.
  • Added origin to calls that return poses. This can be Seated, Standing, or Raw. In the first two cases all returned poses will be relative to that configured origin. Raw poses are in whatever tracking system the current driver provides.
  • Renamed IVRSystem::ZeroTracker to IVRSystem::ResetSeatedZeroPose. This function only applies to the seated origin and will have no effect on applications that use the standing origin.
  • Added angular velocity and velocity to the data returned with a tracked device’s pose.
  • CAPI and C# bindings for OpenVR interfaces added to headers. The accompanying json can be used to generate bindings for other languages as well.
  • Added IVRSystem::PollNextEvent to the API. This allows applications to receive events when devices are activated, deactivated, or updated.
  • Added new interface IVRChaperone to query chaperone hard and soft bounds. Use this to show the user where safe areas to walk are.
  • IVRSystem::GetHiddenAreaMesh. It returns the stencil mesh to use to minimize pixel rendering for the current HMD.
  • Removed GetIPD. Use the property Prop_UserIpdMeters_Float instead.
  • Added IVRCompositor interface. This interface allows an application to use the VR Compositor to perform distortion mapping and manage the HMD window.

Don't miss a new openvr release

NewReleases is sending notifications on new releases.