Forum Discussion
whitehexagon
10 years agoExplorer
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
- jhericoAdventurerI 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. - whitehexagonExplorerThanks 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 - whitehexagonExplorerLWJGL 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 :)
- bluenoteExplorer
"whitehexagon" wrote:
It's up-to-date with SDK 0600 ...
So it is Windows-only? - whitehexagonExplorer
"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.
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 1 year ago