August Monthly Tech Release Notes
Oculus Developer Blog
Posted by Oculus VR
August 10, 2017

It's that time again. Our software, documentation and tools teams have been working hard to release this month's tech updates.

August's release includes major updates to our PC SDK with the release of version 1.17, a new mobile SDK v1.7.0, and audio, integrations, docs and tools updates.

PC SDK 1.17

In the Oculus PC SDK, prior to version 1.17, the eye poses only had 3 degrees-of-freedom (i.e. only translation) which was specified in the HmdToEyeOffset vector provided by the ovr_GetRenderDesc function. Starting with version 1.17, HmdToEyeOffset has been renamed to HmdToEyePose using the type ovrPosef which contains a Position and Orientation effectively giving it 6 degrees-of-freedom. This means, each eye’s render frustum could now be rotated away from the HMD’s orientation as well as being translated by the SDK. Such a generalization gives more freedom to the SDK in defining the HMD geometry, but it also means as a VR app developer, you need to be more careful about your previous assumptions especially when it comes to rendering.

While this API change does not affect VR apps compiled against versions prior to 1.17, any VR app that is looking at upgrading to v1.17 or beyond will need to update its use of HmdToEyeOffset accordingly. HmdToEyePose is used in the following functions:

  • ovr_GetRenderDesc
  • ovr_SubmitFrame
  • ovr_GetEyePoses
  • ovr_CalcEyePoses

For more info about this and related pointers, refer to the SDK documentation section [need link] labeled “Working with HMD Eye Poses”.

Mobile SDK 1.7.0

Mobile SDK 1.7.0 provides a new VrApi interface method for obtaining predicted tracking information, build system improvements, and native debugging support with externalNativeBuild.

For more information, see our Mobile SDK Developer Guide.

For details on migrating to Mobile SDK 1.7.0 from previous versions, see Mobile SDK Migration Guide.

Unreal Update

We have updated UE4's PC Vulkan and D3D12 rendering to minimize CPU stalls due to thread synchronization. As a result, severely draw call-bound apps should see improved performance.

Tool Update

The Oculus Platform Command Line Utility can save you time when it comes to uploading app builds to your release channels. The command line utility analyzes your build and only uploads the bits that have changed since your last build. This approach reduces the amount of data that must be uploaded, leading to faster uploads. The CLI also makes it easy to add automated uploads to your existing build system.

Two new commands were just added to the CLI. These commands will allow you to automate actions that affect release channels and modify build metadata.

  • SET-RELEASE-CHANNEL-BUILD: This commands lets you update release channels. The build for a channel can either be set explicitly by build ID or copied from another channel.
  • CLONE-RIFT-BUILD: For Rift developers, this command will clone an existing Rift build to create a new build. You can optionally modify any of the metadata for the build. As an example, this would allow you to clone the Alpha build, update the launch parameters to "server = beta", and place it in the Beta channel.

New Documentation and Assets

In addition to regular updates to and audits of our documentation, our team of technical engineers and writers have released three new notable updates this month: controller art asset bundle, a hand models package, and buffered haptics documentation.

The Oculus Controller Art asset bundle includes EPS and PNG images of common controllers used with Oculus devices, such as Touch, Oculus remote, Xbox controller, and Gear VR headset/touchpad for you to use in your documentation.

The Oculus Hand Models package includes left and right hand models and animations for use with Autodesk Maya. These models can assist you in creating custom hand poses for use with the hands included with the Oculus Avatar SDK, or they can serve as a starting point for creating your own custom hands.

  • If you are looking for hand assets for use without modification, we recommend using the hand samples included with the Unity Sample Framework or with our Unreal Engine 4 source distribution. These contain ready-to-use models and animations for use with Oculus Touch controllers.

The Haptic Feedback documentation now includes Buffered Haptics. Buffered Haptics enable you to precisely control haptic feedback to create many cool effects beyond what is possible with non-buffered haptics. For example, the buffered haptics sample code provided with the PC SDK documentation produces the following effects:

  • Smooth sine wave vibration with a "buzz down" effect at the end of each wave cycle.
  • Vibrational panning across the left and right controllers, again with a "buzz down" effect at the end of the panning cycle.
  • Ultra low-frequency buzz, essentially a series of ticks at 64Hz.
  • A "messed up" low frequency vibration based on a chaotic formula that utilizes a trigonometric tangent wave function.

Fall Events:

The team will be sponsoring and traveling to various events this Fall. We invite you to meet us there!