I just got the 0.3.1 SDK running on my Linux box. I then got the C API built as a
shared library. I then tested the new SDK rendering using my
Java bindings.
It actually took me less time to get the latest SDK building under linux than it did to subsequently test my Java bindings to the SDK (because I hadn't yet set up Java 8 on that box).
Code is available here:
https://github.com/jherico/OculusSDK/tree/preview_031_dll
0
Comments
Why don't you work for Oculus?
Well, the fact that I was able to do it very quickly shouldn't necessarily be taken as an indication that OVR couldn't have done this themselves just as quickly. They just seem to be focused on other things right now. They've been mostly positioning themselves as a gaming device / gaming company, and the sad truth is that games mostly means either a) pre-existing engines and / or DirectX.
However, I still feel that releasing this SDK without linux support, with somewhat uncooked OpenGL support, and with some really apparent quality issues (code quality, not rendering quality) was something of a blunder. Indeed, I've expressed that I think their release process isn't what it could be. To be transformative, VR needs to be something people can easily integrate in places where no one has thought of doing so yet. To do that means making the API as easy and as broadly accessible as possible, which is something I don't think OVR has achieved as well as they could have.
It could be that the problem is that they're stuck in the mindset that they were used to at Scaleform / Autodesk, where their work was targeting a much narrower, less demanding audience. It could also be that they've focused so much on research, feature addition and iterating on hardware that there's little or no resources left for refining the internal development processes or making changes in the SDK itself that will make it easier to iterate in the future, or ease cross platform functionality.
I've spent a long time in the guts of the SDK and I find lots potential changes that would drastically improve how easy it is to maintain cross-platform stability. Some of them I've done, like moving away from the per-platform project files to CMake, and breaking out the C API into an independent project. This is one of the reasons I'm able to iterate fairly rapidly on stuff like this. However, there's a limit to how much I'm willing to change the structure of the SDK itself. OVR is unlikely to integrate my structural changes into their codebase, so the more work I do in that direction, the more difficult it is for me to integrate future SDK releases by Oculus.
The short answer to your question is "I don't know". You'd have to ask them.
Co-author of Oculus Rift in Action