Skip to main content
Up and Coming
May 19, 2015

JOVR / Java bindings?

Just dusting off my Rift to have another play with some Java OpenGL. I feel more motivated now we have some specs and direction at last. :) Although I'm wondering if Java is still a good choice now OSX and Linux have been dropped? Also I haven't seen any updates to JOVR & OculusSDK for a while. Has everyone jumped over to C++ then?

    5 replies

    Inspiring
    May 20, 2015
    I was on vacation when the 0.5.0 SDK was released. When i got back I discovered two things.

    First, the 0.5.0 API was virtually identical to the 0.4.4 API (I think one flag was removed). Second, that the new C API was esentially a shim which located the real runtime library and loaded it, and then proxied all the function calls to it. This is similar to how something like GLEW works. Since this is essentially also how JNA works, this means there's no longer a good reason to embed the OVR DLL inside the jar. Instead, the more sensible thing to do would be to replicate the logic the SHIM uses to find the JAR and load it out of the runtime installed location. However, this was a non-trivial amount of work, I've just changed jobs to work with a VR oriented startup and 0.4.4 still worked just fine, so I put it off.

    Eventually 0.6.0 was released and while it now has a drastic change in the API it doesn't support support Linux or OSX, so there's less motivation, personally, to do a bunch (more) free work for Oculus.

    Now it should be noted that on Windows, the 0.6 API has a bunch of improvement to OpenGL functionality, so it's a worthwhile target if you're on a Windows platform. If you're not on the platform, and want to stick with Java, I'd recommend sticking with the 0.4.4 code, which should continue to work fine with the 0.6 runtime. But if you want Java/Windows/0.6, I can't give you a timeline for when that's going to happen, at least not from me.
    Brad Davis - Developer for High Fidelity Co-author of Oculus Rift in Action
    Up and Coming
    May 25, 2015
    Thanks for the info, and best of luck with the startup project! I'm still catching up with all the recent news, but I'm starting to feel like Oculus dont really want indies involved, so you probably took the best route.

    The 'Just another monitor' has gone out the window, and now with the limited platform support, restricted client mode, and worrying direction the whole platform is going. I dont know if it's all the focus on mobile, or what, but nothing is telegraphed in a way to seriously plan a project. I mean selling a device that claims OSX and linux support and then suddenly switching directions is a real shame. Not everyone wants to do unity on windows! It feels like the next cut could be OpenGL... unless Vulkan is closer than it sounds. Sorry for the rant, just a bit disappointed with Oculus. I'll stick with 0.4.4 for now and hope they provide a platform to migrate to at some point. Thanks for your hard work. Peter
    DK2, MBP (mid 2010) OSX 10.10.3. Win7 - i5 4670K - GTX770. Java LWJGL 3 OpenGL Experiments: https://github.com/WhiteHexagon
    Up and Coming
    June 5, 2015
    LWJGL 3 now has beta support for the Rift, via libOVR. I've started work to implement a couple of demos for this new binding, just in case anyone is looking for an alternative. It's up-to-date with SDK 0600 but currently requires a manual build of LWJGL until it leaves beta. I've uploaded to github my progress to date. It renders to Rift, mirrors to Desktop and displays just a single room, albeit with incorrect project and modelview matrix usage. work in progress :)
    DK2, MBP (mid 2010) OSX 10.10.3. Win7 - i5 4670K - GTX770. Java LWJGL 3 OpenGL Experiments: https://github.com/WhiteHexagon
    Up and Coming
    June 5, 2015
    "whitehexagon" wrote:
    It's up-to-date with SDK 0600 ...


    So it is Windows-only?
    Up and Coming
    June 6, 2015
    "bluenote" wrote:
    "whitehexagon" wrote:
    It's up-to-date with SDK 0600 ...

    So it is Windows-only?


    Unfortunately yes. Tested on Win 7 SP1 Premium ie 64bit. Judder seems better so far, but not really had much time with this version yet.
    DK2, MBP (mid 2010) OSX 10.10.3. Win7 - i5 4670K - GTX770. Java LWJGL 3 OpenGL Experiments: https://github.com/WhiteHexagon