OpenVR SDK 1.0.2:
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.