github ValveSoftware/openvr v0.9.12

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

OpenVR SDK Update 0.9.12:

  • Renamed many enums to a more consistent naming scheme. Typedefs are in place to allow old code to continue building, but those will be removed at some point in the future.
    • HmdError -> EVRInitError
    • Hmd_Eye -> EVREye
    • GraphicsAPIConvention -> EGraphicsAPIConvention
    • HmdTrackingResult -> ETrackingResult
    • TrackedDeviceClass -> ETrackedDeviceClass
    • TrackingUniverseOrigin -> ETrackingUniverseOrigin
    • TrackedDeviceProperty -> ETrackedDeviceProperty
    • TrackedPropertyError -> ETrackedPropertyError
    • VRSubmitFlags_t -> EVRSubmitFlags
    • VRState_t -> EVRState
    • CollisionBoundsStyle_t -> ECollisionBoundsStyle
    • VROverlayError -> EVROverlayError
    • VRFirmwareError -> EVRFirmwareError
    • VRCompositorError -> EVRCompositorError
  • Renamed all HmdError_* enum vales to VRInitError_* to match the new enum name.
  • VR_GetStringForHmdError was renamed to VR_GetVRInitErrorAsEnglishDescription to match the new enum name and make it clear what this function actually does.
  • VR_GetVRInitErrorAsSymbol was added. This returns the literal EVRInitError value name instead of a user-facing string. Use this to look up localized strings to display to users.
  • IVRRenderModels
    • Introduced Component interface, which allows client applications to draw, label, or interact with tracked object components.
      Components may define coordinate systems, renderable geometry, associations with button state, and supports button / axis dynamics.

      Example uses of the IVRRenderModels Component API

      • Compositor controller rendering reflects live button/trackpad/trigger motion dynamics
      • Client applications can query controller-agnostic render label "attachment points"
      • Client applications can query controller-agnostic hand-pose
    • LoadRenderModel does not load textures automatically, instead an additional call to LoadTexture is required. This enables texture reuse across model components.

  • Added new event VREvent_IpdChanged, which is sent when the physical IPD has changed on hardware that supports that. Because IVRSystem::GetEyeToHeadTransform is based on the user's IPD, applications which cache the matrix returned from that function will need to query it again. Applications that call GetEyeToHeadTransform each frame can safely ignore this event.
  • Functions that are used by an application to create its own window have moved to IVRExtendedDisplay. Calls to get this interface will return NULL and error VRInitError_Init_NotSupportedWithCompositor if VR Compositor is already running. Applications will need to use the compositor in that case. The functions that were moved are:
    • GetWindowBounds
    • GetEyeOutputViewport
    • GetDXGIOutputInfo
  • IVRNotifications has been changed to support different types (transient and persistent) and styles of notifications. The notification system remains a work-in-progress and is not yet fully implemented.
  • Changed several functions that take a texture pointer to take a Texture_t struct instead. This struct allows the caller to identify the API and color space of the source texture in addition to the texture itself.
  • IVROverlay::SetOverlayGamma has been replaced with SetOverlayTextureColorSpace wich allows applications to specify that their texture is in linear or SRGB space.
  • IVRCompositor::Submit may return the following two new errors now rather than silently failing:
    • TextureUsesUnsupportedFormat
    • SharedTexturesNotSupported (if your app does not use DXGI 1.1 or greater)
  • IVRCompositor::GetLastError has been removed. Errors are reported in the log.
  • IVRCompositor::Get/SetVSync has been removed.
  • IVRCompositor::Get/SetGamma has been removed (specify color space when submitting textures now instead).
  • Added IVRCompositor::GetLastPoses - returns the last set of poses returned by WaitGetPoses.
  • Added new application type VRApplication_Background, which will not start SteamVR if it isn't already running and will not keep it running if it would otherwise shutdown.
  • Added IVRSystem::AcknowledgeQuit_Exiting to allow an application to acknowledge an incoming Quit event. This extends the timout before vrserver kills the app from 5 seconds to 60 seconds.
  • Added IVRSystem::AcknowledgeQuit_UserPrompt to allow an application to tell the system that the user should be prompted to save data before exiting. This will cause the dashboard to be shown with UI that prompts the user to cancel the quit/transition request or to quit the app anyway. All timeouts will be cancelled once this call is made to give the user a chance to respond.
  • Quit events now have a bForced field (under event.data.process). If this is this field is true calls to AcknowledgeQuit_UserPrompt will be ignored and the app will be killed automatically after a timeout if it doesn't exit on its own.
  • The concept of a "home application" has been removed from the API. No 3D application will be launched automatically when SteamVR starts.
  • Chaperone data is automatically reloaded in all applications when VRServer receives VREvent_ChaperoneSettingsHaveChanged. It's no longer necessary to watch for this event in each application.
  • IVRChaperoneSetup has been added to the API which includes access to Chaperone Bounds polygons.

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

Don't miss a new openvr release

NewReleases is sending notifications on new releases.