Goodbye OpenGL1 (?)

jME3 has supported OpenGL1 rendering for quite a while, but due to various changes in the rendering architecture that are happening it might be time for OpenGL1 to go.

Is there anybody here still interested in OpenGL1 support? If so, please explain why you need it. I would be surprised if you find something that doesn’t actually support OpenGL2 nowadays.

If nobody replies to this topic, OpenGL1 support will be removed from jME3.1.


I’m all for it.


I’m against this change but if you drop it, I will just use another engine or a custom backend when OpenGL 1 support is a requirement for a particular project.

OpenGL 1 is still a requirement in CAD softwares, especially for hardware accelerated 2D GUIs or for small 3D GUIs. When the customer uses only rarely or a very little 3D or indirectly through 2D, it is quite hard to justify that he should update his driver or use better (and more expensive) hardware. I still see tons of end users under Windows XP with very crappy Intel chips and buggy drivers. The horrible Microsoft GDI renderer only supports OpenGL 1.1 or sometimes 1.4. For example, I still see some Intel Express Q35 on basic desktop computers not designed for games and the official driver supports only OpenGL 1.4. Of course, JMonkeyEngine and almost all Java scenegraphs don’t support OpenGL 1.1 but most of them still support at least OpenGL 1.3. Those who require VBOs support OpenGL 1.5 but they have a chance to work where ARB VBOs are available.

If your focus is on gaming, dropping OpenGL 1 isn’t stupid.

I have still several ATI Radeon 9250 Pro supporting only OpenGL 1.3 at home.

Edit.: Eco-design is important for me for political reasons and I don’t work on very eye candy projects. It’s difficult to justify the drop of OpenGL 1 as my game is less beautiful than those released in 1997.

Fact is that theres some people using especially Java engines for some business 3D applications which often times are targeted for business hardware which in turn seldom features high quality 3D rendering hardware… I can’t say what percentage of that hardware still works only with OpenGL1 but at least driver-wise, the default drivers supplied by MS update often only support OpenGL1 properly and in these environments theres often restrictions on what you can install on the machines. Installing a driver thats not coming from MS update often isn’t possible in these scenarios… Just my 2ct.

In a perfect world i would be able to enable gl features on demand. If i dont need gl2 support i would not enable those features, but on the other hand, if i would like to target gl4 i would like to be able to use StorageBuffers for stuff like order independent transparency.

I know we are not in a perfect world, and i think supporting low end and high end stuff at the same time is going to be a nightmare… It starts at the very low level where you would require different implementations. From my personal experience, in order to support different texture techniques i had to write a glsl code generator/parser/replacer, 3 different base containers to store the the texture handle, 3 different upload functions, and 3 different texture management modules. All that just to create plain textures with different techniques. Supporting only gl2 gl3.1 and gl4.4.

It kind of seems that the main question is, what kind of applications is jme targeting in the future.
Games? Consider GLES2 as minimum requirements, allow higher gl features
Applications? Gl1.something… don’t know (Do you actually need a full featured scenegraph engine if your requirements are GL1 anyways?)

Just my toughts about this topic…

Since we have not heard of anyone actually using jME3 with OpenGL1 it’s still on track for getting dropped.
I would like to hear from someone using it in their application / game right now that would be effected by this.

Also if you really need this functionality you can use jME3.0 stable instead of 3.1

I’m for it, even the linux mesa driver in software does support opengl2 by now. (with the hidden switch in lwjgl to allow non accelerated modes)

All in all, as far as i know in jme3 the opengl1 backend never did actually work even for the most part acceptable.
For simple stuff and business i would still use the very old jogl with jme2, as it is clearly better targeted at outdated stuff.

I was one of the people requesting OpenGL1 support. Most likely this was for Hostile Sector, but it must have been back in 2010 or so. And I agree with Empire: it worked, barely.
If hot, new features is not of priority then jME3.0 will probably do for most business cases. It is, after all, capable as it is.