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]