I recently returned to development on a JME2-based game, in the process of converting from BUI to Nifty-GUI.
After a number of problems, I found the repository for Nifty-GUI had moved to git, so I found it and built some snapshots.
I couldn’t find the JME-renderer however, so I kept the old version of that from the SVN repo.
Unfortunately, some things had changed in Nifty, so there were a few errors that needed fixing (mostly related to ResourceLoader being removed).
After some searching, I found out the JME2 is no longer supported by Nifty, so I was put before a choice:
* switch to the LWJGL renderer, figuring out how to do that
* stick with the old JME2 renderer and figure out how to fix the errors
* switch to JME3
* switch to another GUI library (again)
The best option would probably be to switch to JME3, but last I checked it was entirely based on shaders and so wouldn’t work on computers with OpenGL < 2, which we feel is an important thing, as we don't care that much about fancy graphics, but want to reach out to as many people as possible and also on energy-efficient hardware.
So, the question this post asks really, would probably be if JME3 still only supports OpenGL >= 2 and if Nifty-GUI with the LWJGL renderer works well with JME2?
Thanks, that’s great news, much more than I hoped for!
Does it work well so far? If so, I’ll definitely switch to JME3 at once!
How do you set the application to only use OpenGL 1 functionality?
Edit: Well, I got the SVN source but stumbled onto some problems.
Does JME3 required Java 1.5? It seems ZipEntry.CENSIG (found in com.jme3.asset.plugins.HttpZipLocator) et al are not present in Java 1.6 and Java 1.7.
How come JME3 is using such an old Java version?
Perhaps the HttpZipLocator isn’t required for most applications (I’m not sure what it’s for)?
The other problem was that the SVN repository contains both bullet and jbullet src-folders, so those classes are defined twice (easy to fix by removing one from the build path in Eclipse).
CENSIG is available in 6 and 7, not sure what you mean
Yes, thanks, I found those references as well, so I’m confounded at why my libraries doesn’t seem to contain it.
It’s no fault of JME’s anyway, so I’ll look elsewhere for that.
About setting JME3 up to support OpenGL 1, is there a guide or any hints towards that?
Yes, definitely, however Java 1.5 is not in the Ubuntu repositories, so I would rather use 1.6 or 1.7.
Well, I found the problem! Eclipse was checking the files against android.jar instead of the project JRE (for some strange reason). Once I removed android.jar from the build path, Eclipse found the correct files.
Now, about setting JME3 up to support OpenGL 1, is there a guide or any hints towards that?
Would you mind pointing me to them? ;)
I know I can use renderer.getCaps() to get the general capabilities of the card, but can I just “shut off” OpenGL 2 features in a simple way or do I have to go through the engine to see what parts use what features and what features are supported by OpenGL 1 or not?
Thanks, I found it (I needed to search without a space between “opengl” and “1″)!
That’s a great and easy way to do it, so I’ll just get right to it.
For anyone who’s wondering, the information on setting OpenGL 1 compatibility mode is here.
AppSettings settings = new AppSettings(true);
You must be logged in to reply to this topic.