Changes For Release 0.5
A number of changes were made to the API since the 0.4 release.
The Oculus SDK 0.5 moves from static linking to a dynamic link library (DLL) model. Using a DLL offers several advantages:
- As long as the arguments and return values are the same, experiences do not need to be recompiled to take advantage of the updated library.
- Localization into new languages is easier because the functions remain consistent across languages.
- The DLL can be updated to take advantage of new features and headsets without affecting current games and experiences.
In addition to moving to a DLL model, the following changes were made:
- SDK versions now use a product.major.minor.patch format. The product value is currently set to 0 as this is a pre-release product. For example, 0.5.0.1 means Product 0, Major 5, Minor 0, Patch 1.
- Significant improvements were made to tracking behavior and performance.
- Improvements were made to the samples.
- The SDK now provides better reporting of display driver incompatibility.
- Support for DX10 was removed.
- DX9 support is deprecated and will be removed in a future version of the SDK.
- A bug was fixed where full persistence was inadvertently enabled due to device initialization races.
- Improvements were made to headset USB sleep management.
- Uncommon deadlocks were fixed in the runtime service.
- Diagnostics and configuration capture were improved.
- Monitor rotation is now supported in the legacy Extended mode.
- Default time warp scheduling is improved, which should reduce frame drops.
The following SDK changes were made:
- Moved and renamed LibOVR/Src/OVR_CAPI.h to LibOVR/Include/OVR_CAPI_0_5_0.h. Some additional public headers such as OVR_Version.h have been moved to LibOVR/Include/. Any other previously public headers are now private to LibOVR.
- Added enum ovrHmdCaps::ovrHmdCap_DebugDevice.
- Renamed enum ovrDistortionCaps::ovrDistortionCap_ProfileNoTimewarpSpinWaits to ovrDistortionCap_ProfileNoSpinWaits.
- Removed enum ovrDistortionCaps::ovrDistortionCap_NoTimewarpJit.
- Added enum ovrDistortionCaps::ovrDistortionCap_TimewarpJitDelay.
- Removed ovrTrackingState::LastVisionProcessingTime.
- Removed ovrTrackingState::LastVisionFrameLatency.
- ovr_Initialize now takes a params argument. See the in-code documentation for details.
- ovr_Initialize now returns false for additional reasons.
- No API functions can be called after ovr_Shutdown except ovr_Initialize.
- The hmdToEyeViewOffset argument for ovr_GetEyePosess is now const.
- Added the ovrQuatf playerTorsoMotion argument to ovr_GetEyeTimewarpMatricesDebug.
- Added ovr_TraceMessage.