January 9, 2012 at 18:37 #23470
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?January 9, 2012 at 18:42 #161802
You can enable OpenGL1 for jme3 applications too.January 9, 2012 at 18:46 #161803
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).January 9, 2012 at 20:10 #161804
CENSIG is available in 6 and 7, not sure what you mean
http://docs.oracle.com/javase/6/docs/api/java/util/zip/ZipEntry.html#CENSIGJanuary 9, 2012 at 20:16 #161805
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?January 9, 2012 at 20:32 #161806
Java 1.5 is the baseline version for jME3. In professional contexts even 1.4 is used in areas still, so having compatibility levels as low as possible is always desired..January 9, 2012 at 20:48 #161807
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?January 9, 2012 at 20:56 #161808
Yes there areJanuary 9, 2012 at 21:07 #161809
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?January 9, 2012 at 21:32 #161810
OpenGL1 just supports textured lit models really. I’d have to do the wiki search for “OpenGL1″ myself to fish out the link for you, why don’t you just do it ;)January 9, 2012 at 21:41 #161811
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.Java12AppSettings settings = new AppSettings(true);settings.setRenderer(AppSettings.LWJGL_OPENGL1);
You must be logged in to reply to this topic.