Skip to main content
Inspiring
October 26, 2014

JOVR 0.4.3.0: Java/Maven bindings for 0.4.3

I've updated my Java bindings for SDK 0.4.3. The source code can be found on Github here. Example code can be found here.

Developers using Maven (or a Maven compatible tool like Gradle) can declare a dependency on the following artifact:


<dependency>
<groupId>org.saintandreas</groupId>
<artifactId>jovr</artifactId>
<version>0.4.3.0</version>
</dependency>


Known issues

  • Linux rendering seems a bit unstable. It's currently listed as experimental and only tested in nVidia cards.

  • Only light testing has been done.

    36 replies

    Up and Coming
    October 30, 2014
    "bluenote" wrote:
    Maybe I have missed it, but is there currently a way to disable vsync completely?


    Small update from my side in case it may help others: I indeed missed something. Disabling vsync in LWJGL is not enough, since endFrame (by default in my case) always waits for the vertical retrace, and you just can't turn back time :). What I had missed though is that the hmdCaps are not only describe capabilities, but are also used to turn on/off certain features. Now I use setEnabledCaps and set the ovrHmdCap_NoVSync flag. Result: I'm running at 500 FPS, but unfortunately the judder is still there. Disabling/enabling time warping does not seem to change anything. I'm not really sure what I could be doing wrong with the frame timing -- maybe the head poses that I obtain from getEyePoses just use a wrong prediction time point. Would be great to hear if anyone manages to get some smooth head tracking under Linux.
    Up and Coming
    November 3, 2014
    "whitehexagon" wrote:

    I've also tried to update my JOGL example to the new API, I think I got it right looking at your RiftApp from jocular examples, but now my tiled floor has completely gone, so I cant see if I still have my modelview issue. I will try again tomorrow after some sleep!
    https://github.com/WhiteHexagon/example-jovr-jogl-rift


    So I tried again today with 0.4.3. I've switched to getEyePoses, and a few other changes I saw from the jocular examples. But my scene does not render. Only the glClearColor is visible. I switched back to 0.4.2 and my tiled floor appears. I tried rotating the scene programatically in case the scene was hidden or scaled wrong, but no part of my scene appears using 0.4.3. Is there something else between the versions that I may have missed?
    DK2, MBP (mid 2010) OSX 10.10.3. Win7 - i5 4670K - GTX770. Java LWJGL 3 OpenGL Experiments: https://github.com/WhiteHexagon
    jhericoAuthor
    Inspiring
    November 3, 2014
    "whitehexagon" wrote:
    btw does JOVR now support suppressing the health insanity popup?


    That code is in the SDK, so if your profile is configured to suppress the HSW, then it will be suppressed, whether you're working from Java or C++.
    Brad Davis - Developer for High Fidelity Co-author of Oculus Rift in Action
    Up and Coming
    November 4, 2014
    "jherico" wrote:

    That code is in the SDK, so if your profile is configured to suppress the HSW, then it will be suppressed, whether you're working from Java or C++.

    Yes, sorry, that part is working fine now, no HSW at last :)

    My problem now is after migrating to the new API my scene has stopped rendering. If I roll back the changes for the getEyePoses and JOVR to my locally built 4.1.2, then it renders again (only a simple tiled floor). Even if I comment out the matrix manipulations from the headset and do a manual scene rotate nothing appears on the screen (apart from the scene has the correct clearColor). This is using JOGL, and I know you are not using that, but so far that has been working okay for me. This is what I changed for 4.3.1

    https://github.com/WhiteHexagon/example-jovr-jogl-rift/commit/7b639df5a1aaddd2b0d06164729bcf5f68dfe590

    So I was wondering if something else changed in 4.3.1, I watched the Occulus Connect changes about the SDK and there was nothing obvious apart from the getEyePoses.
    DK2, MBP (mid 2010) OSX 10.10.3. Win7 - i5 4670K - GTX770. Java LWJGL 3 OpenGL Experiments: https://github.com/WhiteHexagon
    Participant
    November 5, 2014
    It seems a lot of people are having problems with OpenGL and Direct to HMD mode.
    I just want to say that thanks to JOVR (following the example implementation) I got it working within 15 minutes
    "The television screen has become the retina of the minds eye."
    Up and Coming
    November 6, 2014
    I'm OSX based so dont have direct to hmd yet.
    My example is just using extended mode. But I'm going to try if I can get this running on windows next. It's kind of frustrating to be stuck on the basics :(
    DK2, MBP (mid 2010) OSX 10.10.3. Win7 - i5 4670K - GTX770. Java LWJGL 3 OpenGL Experiments: https://github.com/WhiteHexagon
    Participant
    November 6, 2014
    I know the feeling.
    My reply wasn't directed at you, though. It was more of a friendly "I approve of this library" comment.
    "The television screen has become the retina of the minds eye."
    New Participant
    November 12, 2014
    hi guys
    thanks for your hard work jherico

    I try to run a simple java test code on jMonkeyEngine
    but everytime I run the program I have the same error : "java.lang.NoSuchFieldError: HmdToEyeViewOffset"

    Anybody know where I made a mistake ?

    source code here :
    https://code.google.com/p/jmonkeyengine-oculus-rift/source/browse/trunk/test/oculusvr/TestGui.java?spec=svn159&r=159
    Up and Coming
    November 12, 2014
    Where exactly do you get this error? Here?

    At first glance, I cannot find any obvious error. What you can try if the error occurs at that point is to add further checks if configureRendering actually succeeds. For instance, do your eyeRenderDesc[eyeIndex] look valid in general? With the old SDK I also had cases where the GL error state was set after configureRendering, which would indicate that there might be something wrong before configureRendering.
    jhericoAuthor
    Inspiring
    November 12, 2014
    "tiak" wrote:
    hi guys
    but everytime I run the program I have the same error : "java.lang.NoSuchFieldError: HmdToEyeViewOffset"

    Anybody know where I made a mistake ?


    Make sure you've got the 0.4.3 version of JOVR in your classpath, and that you don't have 0.4.2 or earlier. Oculus renamed a couple of fields and methods, and that's one of them, so that makes it seem very much like you have an incorrect version of the JOVR jar somewhere in your classpath.
    Brad Davis - Developer for High Fidelity Co-author of Oculus Rift in Action