Proposal for plugin-able DisplaySystems

I’m also appending links to an example and the impetus behind doing all this.  I wanted to make an easier way to plug my BSP renderer.  Here is the jar file I put at the top of my classpath to make the PartitonSystemProvider show up as a choice in the properties dialog.

and here’s the sources for those files (not compileable, but you can get the idea of why I needed a way to do this)

Fire away with any questions! :smiley:

It sounds good… all these classes are written by someone other than me though, so I'll give them a chance to deal with this one :slight_smile:

Jme dose need a method that allows custom DisplaySystems as it would help port jme to different platforms, such as cell phones.

Didn't have a look at the code but sounds good.

(@llama: I think Mojomonk wrote the classes himself.)

I don't have a problem with this, looks like it will better help the robustness of extending the engine.


Any news on this?  Might it get put into CVS?


Since everyone seems fine with it (and it has a good fallback) method… it better! I won't have time to take an in depth look at it right now, since I'm not familiar with the system… so I'd rather see someone who is take on this task.

If noone has time, someone will pick it up later. Me or whoever. Feel free to create an issue:

I'll have a look at integrating this today or tomorrow.


Renanse, did you get a chance to add this in yet?  I don't see it in the CVS browser, and I was hoping it would be in the 0.10 release…

Unfortunately not yet…  My machine at work died around that time and I had to start over from scratch.  :(  I will have a look at it later this week if you email me a reminder.

this would be great if NCSoft is looking to go into the cell phone game business. Everything anybody  would need to get into it.  There is even a java binding for it JSR 239 that is openGL ES I don’t know about any other bindings. 

If I recall, that was one of the foundational concepts of LWJGL was to be able to be utilized on cell-phones and other portables, right?


There are no cellphone with OpenGL ES yet though… :slight_smile: Cell phones have their own scenegraph API, which if you look at renanse's blog you can see he once even made an implementation of.

Darkfrog, as far as I know that's not a goal of LWJGL. It's not that easy to use jME on cellphones, because they lack many of the SE classes. So even if you wrote an OpenGL ES backend for jME you wouldn't be done yet. Also bakchuda's system wouldn't be of much use since none of the properties file APIs, or even the file API and Swing for that matter, are supported either.

Hmmm…could have sworn I read that a long time ago.  Only thing I was able to find on LWJGL about it was PDA and J2ME support.


Well, they say "Small == J2ME" on their about page.

But for example, j2me or Java ME as it's called these days, doesn't have any profiles that supports NIO buffers.

Well, someone needs to talk to them about making such promises then. :-p


llama said:

There are no cellphone with OpenGL ES yet though.. :)

Motorola RAZR V3X, SonyEricsson W900i, Motorola E1120, Motorola 770v Pretty sure they do.  Anyways people follow trends or look for the next big thing.  I was only saying this is a very practical class.

They do not have JSR 239. They have, like I said, a different scenegraph API (that's called JSR-184), not an OpenGL binding. Some (notably the Sony Ericsonn phones) even have yet another scenegraph API (Mascot Capsule or some silly name like that).

Many of these phones have OpenGL ES capable chips these days (though this is not a requirment for JSR-184), but there is no OpenGL (ES) API exposed to the developer. Maybe you can use OpenGL ES directly on some Symbian phones, but only in C++ applications. Java ME VMs do not support JNI either.

However, JSR 239 isn't even final yet (though very close), so that's not surprising. Since pratically all the major phone companies that are usually involved in the JSR process voted in favor of the draft you can expect to see it on future phones. Porting jME to Java ME will become a possibility then, but most likely not through just writing a plugin, you'll have to remove and replace lots of classes currently used in the code because the MIDP profile does not contain them.

Edit, from the nokia developer forum rss feed:

"This early technology plug-in for S60 3rd edition SDK for Symbian OS, for C++, enables the development of OpenGL ES 1.1 applications with N93. N93 is the first Nokia multimedia computer with HW accelerated 3D graphics/OpenGL ES 1.1 support. This plug-in enables the full usage of the native 3D graphics features supported in N93. The content of this plug-in will be a part of S60 R3.1 SDK."

C++, but maybe Java will be next some time.

FYI, this change is in our perforce now and queued up for release to jme cvs.  I also eliminated JmeType and RendererType as we can now use java 1.5 syntax to accomplish the same thing.

Any more updates on the status of this?