/ Forums
Applications are now open to attend this year's Oculus Connect. Join us October 11–12 and be first in line for an inside look at what’s new and next for VR.

Oculus Connect 4: Speaker Preview

We've revealed some of the Oculus speakers who'll present at Oculus Connect 4 this year! Click here to learn more.
New To The Forum? Click Here To Read The How To Guide. -- Developers Click Here.

Oculus SDK for Windows 1.17 Released (August 11th 2017)

imperativityimperativity Posts: 1,172 Oculus Staff

Overview of Release 1.17

The Oculus PC SDK lets you build VR experiences for the Oculus Rift in C++. For more information, see our PC SDK Developer Guide.

Note that Oculus PC SDK 1.17.0 introduces a breaking API change - see New Features for more information.

New Features

  • In the Oculus PC SDK, prior to version 1.17, eye poses only had three degrees-of-freedom (DOF), i.e. only translation. Eye poses were 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 eye poses six degrees-of-freedom. This means that each eye’s render frustum can now be rotated away from the HMD’s orientation, in addition to being translated by the SDK. Because of this, the eye frustums’ axes are no longer guaranteed to be parallel to each other or to the HMD’s orientation axes. This generalization provides greater freedom to the SDK in defining the HMD geometry. But it also means that, as a VR app developer, you need to be more careful about your previous assumptions, especially when it comes to rendering.

API Changes

  • Promoted data member HmdToEyeOffset, which was previously found in the structs ovrEyeRenderDesc and ovrViewScaleDesc, from ovrVector3f to ovrPosef and renamed the data member to HmdToEyePose in both occurrences.
    • While this API change does not affect VR apps compiled against PC-SDK versions prior to 1.17, VR apps that are upgraded to 1.17 or later will need to update any usages 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 PC-SDK documentation section “Working with HMD Eye Poses”.

Known SDK Issues

  • Recentering a mixed reality capture application will corrupt the camera pose when using a static camera. As a temporary workaround, attach a VR Object to your camera (e.g., by using a third Touch), and it will recenter normally.
  • If you encounter intermittent tracking issues, remove the batteries from any Engineering Sample Oculus Remotes that you paired with your headset and contact Developer Relations for replacement remotes.
  • If you bypass the shim and communicate with the DLL directly, without specifying a version to ovr_Initialize, the DLL has no way of knowing the SDK version with which the application was built. This can result in unpredictable or erratic behavior which might cause the application to crash.
  • If you are running your application from the Unity Editor and you press the controller's home button to return to Oculus Home, you will be prompted to close the application. If you select OK, Unity might remain in a state where it is running, but will never get focus. To work around this, restart Unity.

Download it here: https://developer.oculus.com/downloads/package/oculus-sdk-for-windows/

Comments

  • YbalridYbalrid Posts: 246
    Art3mis
    Mh. That change on how the SDK report the offset between the eyes rendering frustum and the center of the headset is a bit... interesting?

    The only explanations I can came up to let me think that you are working on some new HMD with both screens put at an angle and not in the same plane... ;)

    (and especially the fact that you want client software to be able to support that)

    When you think about it, it's a good way to increase horizontal FoV. Just sayin'
    CV1+Touch; Running on GTX980 - 4770K - 32GB DDR3

    I'm writing a C++ open-sourcre game engine for the Rift http://annwvyn.org/ - https://github.com/Ybalrid/Annwvyn
    For now it's only used for my student projects at my engineering school http://en.esiea.fr/
  • galopingalopin Posts: 355
    Nexus 6
    Ybalrid said:
    Mh. That change on how the SDK report the offset between the eyes rendering frustum and the center of the headset is a bit... interesting?

    The only explanations I can came up to let me think that you are working on some new HMD with both screens put at an angle and not in the same plane... ;)

    (and especially the fact that you want client software to be able to support that)

    When you think about it, it's a good way to increase horizontal FoV. Just sayin'

    How i feel with the new sdk :smile:  


    It reminds me, the Playstation VR HMD has an interesting twist in this setup, eyes offset carry a 5ish degrees extra rotation over the X axis. it is because we don't really look straight but a little downward in the most natural condition, and the headset is built taking that into account, the lens and screen are also turned slightly.
  • YbalridYbalrid Posts: 246
    Art3mis
    edited August 14
    Well, I haven't looked that far into it, but it seems that it return an identity quaternion for both eyes. So no rotation. Translation are still + or - IPD/2 on the local X axis. So it looks like they aren't using that interface for CV1, at least as of now.
    CV1+Touch; Running on GTX980 - 4770K - 32GB DDR3

    I'm writing a C++ open-sourcre game engine for the Rift http://annwvyn.org/ - https://github.com/Ybalrid/Annwvyn
    For now it's only used for my student projects at my engineering school http://en.esiea.fr/
  • cheerycheery Posts: 35
    Lawnmower Man (or Woman)
    So, @imperativity. How long until the vulkan support in PC SDK is using VK_KHR_ extensions instead of the VK_KHX? Is it going to be soon?
  • imperativityimperativity Posts: 1,172 Oculus Staff
    @cheery

    Possible 1.18 and definitely by 1.19 from what I've heard.
  • cheerycheery Posts: 35
    Lawnmower Man (or Woman)
    @imperativity, it sounds like it will still take few weeks. I can still progress without, but I feel it's eating into me that I cannot see how my Vulkan-powered text editor and a REPL looks and feels in the VR.

    If it digs into me that badly, maybe I should just switch the Series 9 card from my Linux PC to the Windows PC to see if I'd get the extensions. I'll try to cope for now though.
Sign In or Register to comment.