This website uses cookies to improve our services and deliver relevant ads.
By interacting with this site, you agree to this use. For more information, see our Cookies Policy

Changes For Release 0.8.0

The Oculus SDK 0.8 release changes the SDK from an HMD-based model to a session-based model and adds several new features.

New Features

The following are new features for the Oculus SDK and runtime:

  • Improved support for Windows 10.
  • Added ovr_GetSessionStatus, which returns whether the headset is present and whether it has VR focus and can render to the headset.
  • Added ovr_Detect to OVR_CAPI_Util.h, which enables you to detect the presence of a headset without initializing LibOVR. This can be useful when a game has VR and non-VR modes.
  • Added HandStatusFlags to ovrTrackingState, which specifies whether the the Oculus Touch controllers are being tracked. Status includes orientation and position.
  • Added SensorSampleTime to ovrLayerEyeFov, which specifies when the render pose was calculated. This is useful for measuring application tracking latency.
  • Added ovr_GetTrackingCaps to get the tracking capabilities of the device.
  • Usage of ovr_ConfigureTracking is no longer needed unless you want to disable tracking features. By default, ovr_Create enables the full tracking capabilities supported by any given device.
  • Added ovrLayerHudMode, which enables the headset user to see information about a layer.
  • Added ovrControllerType_None and ovrControllerType_XBox to ovrControllerType.
  • The Oculus Debug Tool was added to simplify troubleshooting. For more information see Oculus Debug Tool.

Runtime Changes

Changes include:

API Changes

This release represents a major revision of the API. Changes to the API include:

  • Applications no longer need to call ovr_ConfigureTracking. ovr_Create automatically enables the full tracking capabilities supported by any given device.
  • Replaced ovr_GetFrameTiming with ovr_GetPredictedDisplayTime.
  • Added latencyMarker to ovrTrackingState. When set to ovrTrue, this indicates that it will be used in the rendering loop and will be used to calculate latency.
  • To emphasize the session model, renamed ovrHmd to ovrSession and hmd to session.
  • ovrLayerType_QuadInWorld and ovrLayerType_QuadHeadLocked were renamed to ovrLayerType_Quad and are now differentiated by the ovrLayerFlag_HeadLocked flag.
  • Added ovrMaxLayerCount, which sets the maximum number of layers to 32.
  • Removed ovrInit_ServerOptional. If you use this to detect whether the OVRService is available, periodically call ovr_Initialize or poll ovr_Detect instead.
  • Removed ovrTrackingCap_Idle from ovrTrackingCaps.

Known Issues

The following are known issues:

  • The Oculus service might crash when gathering diagnostic logs from the Oculus Config Util. If this happens, the service will automatically restart and the logs will be retained.
  • The Oculus service and Config Util might hang when running the demo scene and another VR app at the same time"

Migrating from SDK 0.7.x to SDK 0.8

To migrate:

  1. Update calls to ovr_GetFrameTiming with ovr_GetPredictedDisplayTime using the new syntax.
  2. Update instances of ovrHmd hmd to ovrSession session.
  3. Remove any code that uses ovrInit_ServerOptional. If you use this to detect whether the OVRService is available, periodically call ovr_Initialize or poll ovr_Detect instead.
  4. Remove calls to ovr_ConfigureTracking as the SDK enables all existing tracking features by default.
  5. For ovrLayerType_EyeFov layers, fill in the SensorSampleTime with timestamps captured when ovr_GetTrackingState is being called in the same frame just before generating the view matrix to render the two eye textures.