LibOVR/Oculus Rift support

Hello,

I’ve been doing some work on getting native Oculus Rift support working on the jme3-vr module (using the LWJGL bindings). While SteamVR does work for Rift users, there are a few advantages to native support:

  • Many users do not have SteamVR installed, and using it comes at a (small) performance cost
  • SteamVR treats the grip axis as a button. While this is not a major issue in most cases, there are some uses to getting an analogue value
  • Captivate sensors - arguably one of the best parts of the Touch controllers - IIRC cannot be read via SteamVR

Currently, my changes reside on GH: ZNixian/jmonkeyengine, however I would be very interested in getting this into jME3.

3 Likes

Personally, I think this is a great initiative. Going native allows for more freedom, and it’s definitely preferable to use the lwjgl bindings.
I have just glanced at your repo. It seems you’re following the outline of the existing implementation?

Yes, I’ve used the same system as OSVR and OpenVR - anything written for them should work without issues (except for the different inputs for the Touch controllers).

Currently, I got the demo (from the main VR thread) to work with the addition of:

settings.put(VRConstants.SETTING_VRAPI, VRConstants.SETTING_VRAPI_OCULUSVR_VALUE);

And changing the wand input to use the Rift’s trigger axis.

I suggest you make a pull request with your changes.

I’ll finish rounding off a few corners, then I’ll do that.

It’s in a pull request at #752.