The Oculus SDK 0.5 has moved from static linking to a dynamic link library (DLL) model in which the DLL is installed by the Oculus runtime. Using a DLL offers several advantages:
- It allows us to fix bugs and update implementation for new headset features after applications have been compiled and shipped.
- It allows us to evolve the API without breaking applications through the use of side-by-side versioned DLLs.
[/list]
While in development kit mode, we plan to support old side-by-side DLLs for at least two months, giving developers time to update applications. After the consumer release, we will update the SDK to version 1.0 and, going forward, will support released API versions for longer periods of time.
New Features
Oculus SDK
Updated LibOVR to rely on a runtime-installed DLL for better forward compatibility and delivery of bug fixes.
Introduced a four-digit runtime versioning scheme: PRODUCT#.MAJOR.MINOR.PATCH (e.g. 0.5.0.1). The last three digits of the scheme map philosophically to Semantic Versioning.
Added OpenGL support to OculusRoomTiny.
Introduced OculusRoomTiny_Advanced, which supports more SDK features and toggles.
Improved DK2 headset USB sleep management on Windows 8.1.
Updated the Oculus Configuration Utility to display headset status and diagnostic messages. Users can now view firmware version and serial numbers by hovering over the device image.
Unity
Added OVRManager.eyeTextureAntiAliasing to control scene antialiasing separately from distortion antialiasing.
Exposed left and right eye Cameras as properties in OVRCameraRig.
Fixed virtualTextureScale for dynamic resolution scaling.
Added OVRCameraRig.UpdatedAnchors event to allow immediate handling and post-processing of tracking updates.
Added TrackingSpace GameObject between OVRCameraRig and eye anchors to allow custom reset and rig movement behavior.
Fixed Xbox 360/Xbox One gamepad support on Mac.
Replaced the Tuscany demo with a simple scene called Room to simplify the core integration download.
Removed the dead OVRVisionGuide script.
Made minor API cleanups to prevent invalid configurations.
Made various stability improvements.
API Changes
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/.
Added ovrHmdCap_DebugDevice flag to indicate that device was created with ovrHmd_CreateDebug.
Renamed ovrDistortionCaps:vrDistortionCap_ProfileNoTimewarpSpinWaits to ovrDistortionCap_ProfileNoSpinWaits.
Removed ovrDistortionCap_NoTimewarpJit as Timewarp delay is disabled by default. Use ovrDistortionCap_TimewarpJitDelay to enable it.
Removed ovrTrackingState::LastVisionProcessingTime and LastVisionFrameLatency.
ovr_Initialize now takes a params argument that provides log callback and other arguments. See the in-code documentation for details.
Added ovrQuatf playerTorsoMotion argument to ovrHmd_GetEyeTimewarpMatricesDebug.
Added ovr_TraceMessage, which can be used to send a message to the log.
Removed support for DX10.
Deprecated DX9 support, which will be removed in a future version of the SDK.
ovr_Initialize now can return false for additional reasons than previously.
No API functions may be called after ovr_Shutdown except ovr_Initialize.
Bug Fixes
Oculus SDK
Fixed a bug in which full persistence was inadvertently enabled due to device initialization races.
Fixed uncommon deadlocks in the runtime service.
Known Issues
Unity
The editor Game View goes black unless you set the aspect ratio to "Free Aspect".
Rapidly starting and stopping Play Mode in the editor may cause a crash.
The editor preview does not render to the Rift in Direct Display mode; be sure to use Extended Mode.
Mac
Rotating the display through System Preferences requires a restart of the service
So who wants to be the guinea pig?