Skip to content
Snippets Groups Projects
  1. Jan 29, 2016
    • Joe Ludwig's avatar
      OpenVR SDK 0.9.15 · c9557102
      Joe Ludwig authored
      General:
      * Several event members have been changes from enum values to plain-old-data types to guarantee compatibility across compiler vendors.
      
      IVRSystem:
      * PollNextEvent() and PollNextEventWithPose() now take a parameter for the size in bytes of the VREvent object you are passing in
      * The data member in VREvent_t is now variable length and at the end of the structure. 
      
      IVRApplications:
      * Added VRApplicationProperty_LastLaunchTime_Uint64, which returns the last launch time for an application in seconds since January 1, 1970.
      
      IVRCompositor:
      * Compositor_FrameTiming is totally different. What should we tell people, Aaron?
      
      IVROverlay:
      * Added the ability to render an overlay wrapped around a component on a tracked controller when in the dashboard or compositor.
      * k_EGamepadTextInputModeSubmit added for chat-style use of the keyboard where instead of a "Done" button there is a "Submit" button and it doesn't make the keyboard go away.
      * PollNextOverlayEvent() now takes a parameter for the size in bytes of the VREvent object you are passing in
      * For overlay applications there are now two new event types you can listen to, VREvent_Scroll and VREvent_TouchPadMove. These events are generated if the VROverlayFlags_SendVRScrollEvents or VROverlayFlags_SendVRTouchpadEvents flag is set on your overlay window.
      
      IVRRenderModels:
      * Added RenderModelHasComponent, which returns true if the named model has the named component.
      
      [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 3265813]
      v0.9.15
      c9557102
  2. Dec 30, 2015
    • Jeep Barnett's avatar
      OpenVR SDK Update 0.9.14: · 80f2e46c
      Jeep Barnett authored
      * IVRSystem 
        * Added PerformanceTestEnableCapture(bool) for performance testing tools to toggle when frame timing data should be recorded.
        * Added PerformanceTestReportFidelityLevelChange(int) for performance testing tools to report when they've changed fidelity settings.
      
      * General
        * Added present count field to Compositor_FrameTiming.
      
      [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 3205113]
      v0.9.14
      80f2e46c
  3. Dec 23, 2015
    • Alex Hopmann's avatar
      Fix small typo in SDK 0.9.13 · 5b1187b8
      Alex Hopmann authored
      [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 3201751]
      2 tags
      5b1187b8
    • Alex Hopmann's avatar
      OpenVR SDK Update 0.9.13: · 98375b27
      Alex Hopmann authored
      * IVRSystem 
        * Added new APIs GetTrackedDeviceIndexForControllerRole() and GetControllerRoleForTrackedDeviceIndex() to get the correct devices for the left and right hand controllers.
      
      * IVRChaperone
        * API GetBoundsColor has changed to also return pOutputCameraColor.
      
      * IVROverlay
        * Added GetTransformForOverlayCoordinates() to return the 3d space transform for a given 2d point in an overlay.
        * Added SetKeyboardTransformAbsolute() to set the keyboard position in 3d space
        * Added SetKeyboardPositionForOverlay() to set the keyboard position appropriate for an overlay
      
      * IVRControlPanel removed
      * Misc new types added
      
      [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 3201700]
      98375b27
  4. Nov 30, 2015
    • Joe Ludwig's avatar
      OpenVR SDK Update 0.9.12: · b4bf2457
      Joe Ludwig authored
      * 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]
      v0.9.12
      b4bf2457
  5. Oct 22, 2015
    • Joe Ludwig's avatar
      OpenVR SDK 0.9.11: · 061cf411
      Joe Ludwig authored
      IVROverlay:
      * Added the concept of gamepad focus to dashboard overlays. Only the overlay with gamepad focus should pay attention to Xinput or other gamepad events. These are supported by new events and these IVROverlay functions:
        * GetGamepadFocusOverlay - Returns the overlay that currently has gamepad focus.
        * SetGamepadFocusOverlay - Sets the overlay that currently has gamepad focus. The dashboard will do this automatically for the active overlay.
        * SetOverlayNeighbor - Set the up/down/left/right relationship between two overlays.
        * MoveGamepadFocusToNeighbor - Overlays should call this when the user would navigate off of that overlay. OpenVR will shift the focus to the neighbor in that direction if there is one.
      
      IVRCompositor:
      * Added PostPresentHandoff - Should be called immediately after Present, only if you can't call WaitGetPoses instead (e.g. due to not having a separate render thread).
      * Added GetLastPoses - Returns the last set of poses that would normally have been gotten through calling WaitGetPoses.
      
      IVRTrackedCamera:
      * This is a work in progress API for forward facing cameras.
      
      IVRChaperone:
      * Added GetPlayAreaSize - Returns the size of the Play Area in X/Z dimensions.
      * Renamed GetSoftBoundsInfo to GetPlayAreaRect - Returns 4 corners of Play Area centered around the Standing Center.
      * Removed GetHardBoundsInfo
      * Removed GetSeatedBoundsInfo
      
      IVRChaperoneSetup:
      * Added GetWorkingPlayAreaSize - Returns the size of the working Play Area in X/Z dimensions.
      * Renamed GetWorkingSoftBoundsInfo to GetWorkingPlayAreaRect - Returns 4 corners of working Play Area centered around the Standing Center.
      * Replaced SetWorkingSoftBoundsInfo with SetWorkingPlayAreaSize - Sets the X/Z dimensions of the working Play Area.
      * Renamed GetWorkingHardBoundsInfo to GetWorkingCollisionBoundsInfo - Returns quads for the working Collision Bounds.
      * Renamed SetWorkingHardBoundsInfo to SetWorkingCollisionBoundsInfo - Returns quads for the working Collision Bounds.
      * Added GetLiveCollisionBoundsInfo - Returns quads for the current Collision Bounds (formerly known as Hard Bounds).
      * Removed all TagPoses interfaces and functionality.
      
      [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 3047315]
      v0.9.11
      061cf411
  6. Oct 07, 2015
    • Joe Ludwig's avatar
      OpenVR SDK 0.9.10 · 9a270114
      Joe Ludwig authored
      * Split VREvent_SceneApplicationChanged into two events. SceneApplicationChanged will be sent when switching from one app drawing the 3D scene to another drawing the 3D scene. SceneFocusChanged will be sent when the process that is allowed to draw in 3D has changed. 
      * Added events to notify launchers when about ongoing application transitions.
      * Added button IDs for DPad and A buttons that will be sent when the user presses on the trackpad while in the VR dashboard.
      * Added new HmdError_ShuttingDown, with will be returned when a new application calls VR_Init while SteamVR is in the process of shutting down.
      * Added new Application errors for when an application can't start because another application transition is already in progress.
      * Added new IVRApplications methods that are intended for launchers, but may be of more general use:
        * GetTransitionState() - returns what phase of the transition process the system is in
        * GetStartingApplication() - returns the app key of the application that is starting up
        * PerformApplicationPrelaunchCheck() - kicks off the application transition process and returns what kind of event the caller should wait for before starting its new application
        * GetApplicationsTransitionStateNameFromEnum() - Turns the results of GetTransitionState() into a string for logging purposes
      * Added more const to the settings strings to avoid compiler warnings on some platforms.
      * Added IVRCompositor methods:
        * ShowMirrorWindow/HideMirrorWindow - Shows or hides a window that displays the left undistorted eye that the user is seeing in the HMD
        * CompositorDumpImages - Writes all textures that the compositor knows about (including overlays) to a "screenshots" folder in the root of the runtime
        * GetFrameTimeRemaining - Returns the time left (in seconds) until the end of the current frame
        * GetLastFrameRenderer - Returns the process ID of the process that rendered the most recent frame to the HMD. If the compositor is showing its grid, this function will return 0 even if another app has scene focus.
      * Added preliminary support for controller-based keyboard input
       * Use IVROverlay::ShowKeyboard() to show the keyboard.
       * Currently only minimal mode is supported
       * Listen for KeyboardCharInput events to receive key input while the keyboard is up. The cNewInput buffer will contain input.
      
      [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 3016204]
      v0.9.10
      9a270114
  7. Sep 11, 2015
  8. Sep 10, 2015
    • Joe Ludwig's avatar
      OpenVR SDK 0.9.9: · d3702570
      Joe Ludwig authored
      * Added events (VREvent_TrackedDeviceUserInteractionStarted and VREvent_TrackedDeviceUserInteractionEnded) and a new interface method (IVRSystem:: GetTrackedDeviceActivityLevel) to hint an application about whether a device is being held or worn by a user.
      * Added events (VREvent_FocusEnter and VREvent_FocusLeave). These are sent to overlays with automatic mouse processing when the cursor moves onto or off of an overlay. Use them to clean up hover states in your overlay UI.
      * Dashboard overlays will now be send pressed and unpressed events when they are the current overlay. 
      * Added IVRSystem::GetRawZeroPoseToStandingAbsoluteTrackingPose(), which allows an application to transform between standing and the raw coordinate system. 
      * Added method (IVRChaperone::SetSceneColor) to let the app provide a hint to the compositor about the scene color so it can pick reasonable bounds colors.
      * Added methods to (GetBoundsColor, AreBoundsVisible, ForceBoundsVisible) to let applications query the current state of the bounds.
      * IVRCompositor::Submit now takes a flag parameter that allows an application to submit images that have already been distorted.
      * Added methods (SetSkyboxOverride and ClearSkyboxOverride) to IVRCompositor to allow applications to control the skybox that will be visible when the compositor draws. This is useful for when an application knows it is not going to render for a while (because it is loading a level or doing some other blocking action.)
      
      [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 2961972]
      v0.9.9
      d3702570
  9. Aug 12, 2015
    • Joe Ludwig's avatar
      General: · 49228302
      Joe Ludwig authored
      * Added new event VREvent_SceneApplicationChanged. It is sent whenever the application drawing the 3D scene changes.
      * VR_Init now takes an optional argument to specify application type. The types are Scene (an app drawing in 3D), Overlay (a dashboard overlay), and Other. The default is Scene.
      * For Scene applications, VR_Init will now block until the current scene application exits.
      * Added new error return code (HmdError_Init_InitCanceledByUser) from VR_Init when the user decides to not exit the current Scene.
      * Only one Scene application is allowed to be blocking on VR_Init at a time. If a second Scene application tries VR_Init will return HmdError_Init_AnotherAppLaunching.
      
      IVRCompositor:
      * Only Scene applications are allowed to call WaitGetPoses or Submit. VRCompositorError_IsNotSceneApplication will be returned if a non-Scene application tries to call these functions.
      
      IVROverlay:
      * Exposed curve parameters for high-quality overlay.
      
      IVRApplications:
      * This new interface allows the following operations:
        * Applications, installers, and distribution systems can register applications with the system.
        * Launchers can enumerate the list of installed applications and information about those applications
        * Launchers can start applications by key instead of needing to know the details of how to launch the application.
        * Dashboard overlays can be marked to auto-launch at startup so they are always available.
        * Scene applications can be set as the Home application so they start when the system does. The user can also access the home application at any time via the Home button on the dashboard.
      
      [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 2918409]
      v0.9.8
      49228302
  10. Aug 06, 2015
    • Jeremy Selan's avatar
      * Added new function VR_IsRuntimeInstalled() to openvr.h. It returns true if... · 088a60b8
      Jeremy Selan authored
      * Added new function VR_IsRuntimeInstalled() to openvr.h. It returns true if the VR runtime directory was found.
      * Added EVREventType::EVREventType_VREvent_StatusUpdate to notify subscribers of the event that the OpenVR overall system entered a new status state. Possible states are defined by VRStatusState_t and stored in VREvent_status_t
      * Added EVREventType::VREvent_ChaperoneUniverseHasChanged to notify when the universe ID of the chaperone system changed. This message is usually sent once, when the ID changes from 0 to the actual universe ID.
      
      [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 2912031]
      v0.9.7
      088a60b8
  11. Jul 15, 2015
  12. Jul 14, 2015
    • Joe Ludwig's avatar
      IVROverlay: · 1daef602
      Joe Ludwig authored
      * Added GetOverlayKey and GetOverlayName which return the key or name of an overlay from its handle.
      * Added GetOverlayImageData which returns the current raw image data from an overlay.
      * Improved reliability of SetOverlayRaw and SetOverlayFromFile.
      * Added VREvent_ImageLoaded, which is sent when SetOverlayRaw or SetOverlayFromFile finish updating the overlay texture.
      * Added VROverlayError_UnableToLoadFile, which may be returned if SetOverlayFromFile fails.
      * Added ShowDashboard, which will make the dashboard visible if a dashboard manager is present. We arent shipping a dashboard manager quite yet, so this function currently does nothing.
      
      IVRNotifications:
      * This new interface allows applications to post notifications to the user. Details and documentation are coming soon.
      
      [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 2877976]
      v0.9.5
      1daef602
  13. Jul 07, 2015
  14. Jul 06, 2015
    • Joe Ludwig's avatar
      SDK Update 0.9.3 · 687645d2
      Joe Ludwig authored
      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]
      0.9.3
      687645d2
  15. Jun 11, 2015
    • Joe Ludwig's avatar
      Updated the HelloVR sample to the new SDK. · 6e1abf5e
      Joe Ludwig authored
      [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 2826896]
      0.9.2
      6e1abf5e
    • Jeremy Selan's avatar
      Merging for version 0.9.2 · 29d6b20c
      Jeremy Selan authored
      General:
      * Added openvr_driver.h. This is the API to write an OpenVR driver. It is still very much a work in progress. No backward compatibility is guaranteed for drivers using this interface. It may be useful for development, however. See the documentation for details.
      * Added include guards around VR types in case openvr.h and openvr_driver.h end up included in the same file.
      
      IVRSystem:
      * Added properties to get information about connected wireless dongles.
      * Added properties to determine if the HMD display extends the desktop.
      * Both render model functions have moved to the new IVRRenderModel interface.
      * HandleControllerOverlayInteractionAsMouse has moved to IVROverlay.
      
      IVRCompositor
      * Removed all overlay related functions. Use the new IVROverlay interface.
      * Added the concept of “scene focus”. Only the application with scene focus can render the 3D scene in the compositor.
      * Focus goes to application that started rendering most recently. 
      * The old scene focus app will receive a VREvent_SceneFocusLost when it loses focus. When an app regains focus (because the application with focus exited) it receives a VREvent_SceneFocusGained.
      * Applications can check for scene focus with the CanRenderScene method. Applications without scene focus should do little to no rendering work and allow the application with focus full access to the CPU and GPU.
      * WaitGetPoses will now block for a while for the application that doesn’t have focus and then return an error. If you want to avoid the blocking, call CanRenderScene in your render loop.
      * Submit will now return an error if the current application doesn’t have focus.
      
      IVRRenderModel:
      * Added functions to enumerate the list of available render models.
      
      IVROverlay:
      * This is a new interface in this SDK revision. It offers:
        * Support for multiple overlays in the compositor
        * The ability to attach an overlay to a controller or other tracked device
        * Support for registering system overlays, which is what comes up when you hit the tiny black system button on the SteamVR controllers. See the helloworldoverlay sample for an example of how to implement one of these using Qt.
        * See the documentation for more details.
      
      [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 2826527]
      29d6b20c
  16. May 11, 2015
  17. May 12, 2015
    • Joe Ludwig's avatar
      Typo fix · 57b31ffd
      Joe Ludwig authored
      [git-p4: depot-paths = "//vr/steamvr/sdk_release/": change = 2738763]
      57b31ffd
  18. Apr 30, 2015
  19. Apr 29, 2015
Loading