LWJGL, JSR 239 and Android

Hey Guys,

I’m not dead, just up to my armpits in Darkstar.

Cas, I tried to make a login on your forums at lwjgl.com but so far the verification email hasnt arrived. I sent it to my
gmail account, are you not allowing those?

You will be happy to know that between Slick and JME you have converted me to a happy LWJGL user, though I rarely
get down to that level. Got a question for youl though.

Google’s Android as committed to more or less supporting JSR 239 (they say they may make their own mods) which is
the “JOGL ES” binding. Id love to get Slick and maybe even JME up and runnin g on an android. So the question is…
do you think lwjgl could be ‘soft ported’ to live as a wrapper around JSR239? What sort of work do you think might be involved?

I have a strong feeling this wont be the last JSR239 ready device we see. Could this be a way to get an lwjgl based stack that
would run well on all of them?

JK

From what I’ve read of Andorid, where ES isn’t support they provide a software layer - which I guess is equivalent to their normal graphics context. Slick renderer can just be retargeted at ES or JSR 289 if need be.

EDIT: Though I expect the eventual Android hardware isn’t going to be particularly beefy - may be more sensible to write a custom lighter weight system for it.

Kev

Start hunting as soon as a posted it - know I’ve read it somewhere.

EDIT: http://code.google.com/android/what-is-android.html

I took this to mean you don’t need OpenGL ES hardware to use the API.

Kev

you account is awaiting activation - please PM me with your email address and I’ll activate it.

We’ve been talking about Android support on the jMonkeyEngine Forums as well:

java monkey engine forums - Android Compatible?

The big thing with LWJGL is that it directly wraps OpenGL 1.4 which is not the same as OpenGL ES, to support OpenGL ES it’s a totally new way of doing OpenGL that applications that use LWJGL will have to be rewritten to support ES (e.g. no more glBegin(), glEnd() etc.). So either way if LWJGL wraps the OpenGL ES or you use it directly to port jME to Android a DisplaySystem and Renderer for jME would need to be developed that uses OpenGL ES.

I think Slick would be an awesome addition to Android’s capabilities, jME might be to heavy-weight but I think it’d be really cool as well!

Perhaps even $10 million dollars cool??

Nevertheless it’d be nice to have a LWJGL-style API to use OpenGL ES. Lots of us prefer the style and simplicity.

Cas :slight_smile:

So how capable do we think these handsets are going to be? OpenGL ES sounds interesting, as I might be able to do cut down versions of my games.

Titan Attacks is already being waved under Nokia’s nose, though… :smiley:

I’m expecting something akin to the power of one of the G3 Macs - just powerful enough to run my stuff at 60fps if I reduce the texture quality to 4444 and run at 320x320, so that’s good.

Cas :slight_smile:

Easily good enough for the likes of Quake 1 though. Which is all ya need, really…

Cas :slight_smile:

Gave a couple of evenings to proof of concept renderer for Slick targeting Android. Android SDK and toolset is pretty flakey right now.

For people that arn’t aware of Slick (I’m sure there are plenty) it has a limited home grown SVG renderer built in. It can render some of SVG, enough for games, demos look like this:

http://slick.cokeandcode.com/images/slicksvg4.png

I’ve managed to port the majority of the slick renderer onto OpenGL ES on Android running against the emulator. Here’s a screenie:

http://slick.cokeandcode.com/images/slickdroid1.png

Same “game” code both sides, just a flip of renderer and some minor hacks for resource handling (Android doesn’t want you using normal packaged resource JARs, probably something to do with DEX files?).

More details here: http://slick.javaunlimited.net/viewtopic.php?t=703

Still, it looks pretty possible, I’ll probably continue down this route but it’d sure be nice to find some way of getting some of that money to fund doing it properly :slight_smile:

Kev

Hmmm…

Slck ES is a pretty cool thing. I think it will be VERY useful down the p;ike.

Still, it doesn’t get us any closer to a JME ES. Seeing as you’ve had some experience with both APIs, Kev,
do you think an lwjgl work-alike wrapper around JSR239 is a doable thing or am I totally whacked?

ES isn’t the same beast as normal OpenGL, there are set of limitations - a direct drop in replacement doesn’t really make sense. It’s possible, you could just emulate any missing or different calls software side - it’d be nice to have the LWJGL input and sound layers mapped across to Android as well. However, since JME supports a plugin rendering system (I seem to remember) I’d expect that to be the right way to go.

Kev

Awesome work kev! :smiley:

Kev, you’re a machine! How on earth do you find the time to do all this cool stuff? :o

Unfortunately for the last two days I’ve been pretty ill, so I really haven’t had any time. Normally however I have a very understanding wife who lets me play on the pooter as much as my addiction calls for :slight_smile:

Kev