SDK Update 0.9.3

General:
* Added accessors for all public OpenVR interfaces. These eliminate the need to call VR_GetGenericInterface and then cache a pointer to the result. The functions are:
  * vr::IVRSystem *VRSystem()
  * vr:: IVRChaperone*VRChaperone ()
  * vr:: IVRCompositor*VRCompositor ()
  * vr:: IVROverlay*VROverlay ()
  * vr::IVRRenderModels *VRRenderModels()
  * vr:: IVRControlPanel*VRControlPanel()
* Added VREvent_Quit to tell applications when they should exit. Applications that don’t exit will be killed after five seconds.
* Added VREvent_ProcessQuit to tell applications when another OpenVR process has exited.

C API:
* Added missing "VR_" prefixes.
* Added missing global entry points (VR_Init, VR_Shutdown, etc.).

IVRSystem:
* Added GetSortedTrackedDeviceIndicesOfClass helper function.  Useful for determining left vs right controller, etc. 
* Added properties to get battery and changing state for controllers. These are currently returning dummy values in the Lighthouse driver.
  * Prop_DeviceIsWireless_Bool
  * Prop_DeviceIsCharging_Bool
  * Prop_DeviceBatteryPercentage_Float
  * Prop_StatusDisplayTransform_Matrix34

IVRNotifications:
* Experimental version of Notifications is now in the SDK. There WILL be a breaking change to this API in a future SDK.
* Notifications API will enable creating Notification Sources that send alerts to users while they are in a VR experience.

IVRControlPanel:
* Added QuitProcess(), which tells another OpenVR process to quit. Pass in 0 to tell all OpenVR processes to quit. In the all case, 

IVRCompositor:
* Compositor_FrameTiming now additionally reports the following values:
 * m_flFrameIntervalMs
  * m_flSceneRenderCpuMs
  * m_flSceneRenderGpuMs
  * m_flCompositorRenderCpuMs
  * m_flCompositorRenderGpuMs
  * m_flPresentCallCpuMs
  * m_flRunningStartMs
* Removed IVRCompositor::SetGraphicsDevice. Applications pass in the type of a texture with each Submit call instead.
* Submit's TextureBounds no longer need to be vertically flipped for OpenGL textures.

IVROverlay:
* Renamed the “system overlay” to the Dashboard. Added CreateDashboardOverlay() to allow applications to create overlays that are intended to appear in the dashboard. 
* Removed Set/GetOverlayVisibility. This used to be used to set an overlay as a system overlay. 
* Added Set/GetOverlayColor. The overlay color (including alpha) is multiplied by the overlay’s output texture value.
* Applications that use IVROverlay no longer need to call IVRCompositor::SetGraphicsDevice(), but SetOverlayTexture takes a graphics API to identify what kind of texture is being passed in.
* SetOverlayTexture now takes a texture type.  SetOverlayTextureBounds still needs to be flipped vertically for OpenGL textures.

IVRChaperone:
*Added ReloadInfo() for forcing reload of bounds data from .vrchap. This is automatically handled by VRMonitor and the Compositor system when the config file is modified.

[git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 2865502]
24 files changed
tree: c84d3ad54178f5a354133608838186e28fdb593d
  1. bin/
  2. headers/
  3. lib/
  4. samples/
  5. .gitattributes
  6. LICENSE
  7. README