Welcome to the Oculus Developer Forums!

Your participation on the forum is subject to the Oculus Code of Conduct.

In general, please be respectful and kind. If you violate the Oculus Code of Conduct, your access to the developer forums may be revoked at the discretion of Oculus staff.

Can position tracking be turned off with SDK 1.3?

Hello, with previous versions (e.g. 0.8) of the SDK, I could turn off positional tracking in an application by calling ovr_ConfigureTracking(), being sure to omit the ovrTrackingCap_Position flag.  It seems that the latest SDK doesn't expose a way to disable positional tracking...is that correct?  Any workarounds?  (Yes, I'm aware that VR is infinitely better with positional tracking, but this was being used to recreate a "legacy" VR application that lacked positional tracking.)

Thanks,
Glen.

Tagged:

Comments

  • cjwiddcjwidd Posts: 52
    Hiro Protagonist
    As far as I can tell (in 0.8.0.0), even in the OculusWorldDemo (Tuscany), when you open the HUD menu (spacebar or tab), there is an option to turn off positional tracking, but it doesn't actually work (?)

    Also, I would advise that if you are interested in working at the SDK level, 0.5.0.0 is probably the easiest because it is the last SDK before introducing the compositor architecture, which adds another layer of complexity, and the src code is also provided.  
  • glenfglenf Posts: 6
    Thanks for the reply.  I was using 0.8 before, and was able to switch positional tracking off in software (or rather, not enable it in the first place).  And before that I was indeed working with 0.5.0.0 (and still am, on OS X...).  The only problem is that you can't run both 0.5 (or 0.8) runtimes as well as the post-v1.0 consumer-version stuff.

  • cjwiddcjwidd Posts: 52
    Hiro Protagonist
    Right, so you have to go through the rather inconvenient task of installing / un-installing runtimes constantly. I've resolved to work with the 0.5 SDK since it has all the openness that Oculus originally envisioned in addition to the tech specs that later SDKs benefit from, albeit with simpler software architecture. So are you a game developer, researcher, or what?
  • galopingalopin Posts: 355
    Nexus 6
    What is difficult in not adding the position information in your matrices, just ignore the position value, it is not a big deal to get it from the sensor and not using it.

    Do not listen to fools about sdk <1.0. It is true then need to add a few levers to the current black box, but there is no concrete argument to justify to work on 0.7-0.8 nor below (no, extended mode is not a valid argument to me)
  • cjwiddcjwidd Posts: 52
    Hiro Protagonist
    galopin said:
    What is difficult in not adding the position information in your matrices, just ignore the position value, it is not a big deal to get it from the sensor and not using it.

    Do not listen to fools about sdk
    Honestly, @galopin your answer would have been just as helpful without that last bit. 
  • cyberealitycybereality Posts: 26,156 Oculus Staff
    edited May 2016
    Yeah, the fools part was kind of uncalled for.
    AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i
    Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
  • galopingalopin Posts: 355
    Nexus 6
    hum, because my message was truncated... Still may be harsh, but argumented...

    I was saying to put you in the state of mind that everything prior to 1.0 did not exist. The extended mode is not viable and no way easier than the direct mode, in fact direct mode is easier than dealing with the windows desktop manager.

    Second, i was saying that right now, everything is not pink, 1.3 is too much of a black box, limiting innovation and adding frustration, Oculus cannot pretend to have a perfect knowledge on VR, as it is a domain where a lot remains to be invented and experimented. They definitely need to open the black box to help everyone to experiment and do not fight against the applications that are not main stream ( games ), it will come in time with enough request and less stress from the messy release :)

  • glenfglenf Posts: 6
    Thanks for the replies.  Yes, I was hoping to try to "keep up" with the latest runtimes, and to benefit from things like direct mode and even asynchronous timewarp.  @galopin Yes, I'd thought about removing the head position from the matrices, but figured that would mess with the ATW.  Thinking about it further, I guess not, since the time-warp Oculus has implemented is rotation-only.  So, yes, I'll give that a try.

    So are you a game developer, researcher, or what?

    Definitely "or what."   ;)   Freelance programmer/artist/creative coder... or something like that.

    Thanks again,
    Glen.
  • delphinius81delphinius81 Posts: 297
    Nexus 6
    In Unity, you can just disable position tracking by setting OVRPlugin.position to false. This ultimately is calling the following code that directly calls the functions in the dll (taken from OVRPlugin.cs):

    cap = 5; (The enumeration for Position is 5).

    int caps = (int)ovrp_GetCaps();
    if (value)
    caps |= (1 << (int)cap);
    else
    caps &= ~(1 << (int)cap);

    ovrp_SetCaps(caps)

    Would this work for your purposes?
  • galopingalopin Posts: 355
    Nexus 6
    the set caps function is not part of the ovr api anymore, so it will change nothing :)

  • delphinius81delphinius81 Posts: 297
    Nexus 6
    If I look at the functions in the OVRPlugin.dll used by Unity in Dependency Walker, I can see the SetCaps function. I realize that in this situation, however, the C++ sdk is being used and the provided static library does not expose such a function. However, Unity gains access to these functions by loading the dll. So I'm thinking it might still be accessible if you import and directly call the run-time dll from your C++ code instead. For example, there is an ovr_[Get/Set]EnabledCaps function in the run-time DLL (LibOVRRT[32/64]_1.dll files. These functions are not listed in the SDK documentation and Dependency Walker doesn't provide any information on what the function definition looks like, but with some further digging maybe you can figure it out.
Sign In or Register to comment.