Hacking jME 3.1 to support OpenGL 1!

Hello Monkeys.

After a while studying Voxel Games open source in LibGDX (Yes, jME is better), I returned to jME community and continue my Voxel Game design! (That probably will take two years to finish :P)

When finalized, will first launch an Android version of the game before PC, and realized that jME 3.1 has MUCH more support advanced features on Android, such as 3D sound.

Unfortunately, I am unable to use version 3.1 because my PC simply does not support this, and I’m projecting it on the PC, because it is very bad design a game directly on the Android.

So I got the idea to edit the jME 3.1 source code to support good old “settings.setRenderer (AppSettings.LWJGL_OPENGL_ANY)”. But I think this should not be as simple as just replacing the AppSettings class by the jME 3.0 right? So I need your help to do it, can you help me?

Personally I wouldn’t know where to begin, but also wouldn’t want to do it. I think that might be the response you get from a bunch of people.

However I did have an idea which might work for you - Use JME 3.0.

If it were that easy then we’d be crazy not to support it. We’ve said over and over and a few times more: we completely removed all support for OpenGL prior to version 2.0. There is physically no reference. The bindings aren’t generated. You can’t call it. JME does not support old OpenGL fixed pipeline AT ALL.

So, to get JME to support that you would have to ADD IT ALL BACK. Basically, you’d have to rewrite the entire openGL renderer.

…or just use 3.0 and deal with it.

Or, you can try running Linux, which does support openGL 2.0 on your chip. Setting up a dual boot is not that hard. In fact, you might even be able to use virtualbox.

…but, whats wrong with v3.0?? Its gorgeous…

I haven’t upgraded to 3.1 yet, but I wonder what features are so wonderful you can’t live without? (and would run in OpenGL 1.x of course).

If I were doing this I’d fork from 3.0 release and start backporting those features as needed.

I think his problem is he can’t use fog even in 3.0

I do like this bit from FAQ - OpenGL Wiki

Do modern GPUs still support the fixed-function pipeline?
Main article: Legacy OpenGL

Modern GPUs no longer provide specialized hardware for the purpose of doing specific calculations in the OpenGL pipeline. Everything is done with shaders. In order to preserve compatibility, the GL driver generates a shader which emulates the fixed functionality.

Using OpenGL fixed pipeline is like using Java 1.2 today. Just don’t do it, I’m sorry, I don’t want to squash dreams but there is no good outcome. Even learning the fixed pipeline is a waste of time. It’s like still using Internet Explorer 6. It just has to stop, NOW, if not yesterday even.

Being pedantic, more like Java 1.1, I think. 1.2 was at least a “modern” Java in most senses of the word. (Collections, JIT, hotspot, better GC, etc.) No reason to use it, sure, but at least it closely resembles 1.5 in almost every way except generics.

3 Likes

OK fair enough, point made, it’s still ancient and we need to move on from this. Was there not a discussion around how cheap graphics cards were and all? Heck, maybe we should start a crowd funding page in order to get the lad a new graphics card :smiley:

@Dimalenus, there is a whole heap of work needed to bring this back into the engine, if you want to do it, I bet it will take YOU longer than it will take to write whatever game you want to write.

Your other option is to simply use something like LWJGL or JOGL and write your game using the fixed function pipeline API but you won’t get the benefit from an engine with thousands of man-hours spent on it. Your choice at the end of the day though.

Indeed.

Yeah, at minimum wage even with taxes removed… I think a GL2 compatible card could be had for 7-10 hours work. :slight_smile:

More money have been spent on writing these replies haha :money_with_wings:

It’s a shame that no one knows how to add OpenGL 1 in jME3.1 anyway, I got the answer she wanted, @sailsman63 found it very good about running Linux on Virtual Box!

Do not I already have fog: Custom Fog Shader?

We know exactly how to add it. It’s just a sh*t-ton of work. We don’t even use the same OpenGL bindings anymore.