Main Menu

BlackBerry OS7 Port

Started by theflipperking, September 28, 2011, 11:22:51 AM

Previous topic - Next topic

theflipperking

Any hints on where to even start looking at the feasibility (effort, time, etc.) of porting for BB OS 7?

EgonOlsen

Does BB OS 7 has an OpenGL binding for Java?


theflipperking

BlackBerry OS 7 has Java bindings for Open GL ES 2.0. Then new OS 7 devices to be released will have hardware accelerated graphics.

We are already using jPCT-AE (and Bones) for our Android apps, and would like to do the same with BlackBerry devices.

Does anyone have any ideas on how to proceed with this? There are currently no other 3d engine/frameworks for BlackBerry and we prefer to stay as close to jPCT as possible.

EgonOlsen

#4
Does it have support for ES 1.0 and 1.1 as well, i.e. does it come with interfaces for javax.microedition.khronos.opengles.GL10 and javax.microedition.khronos.opengles.GL11?

jPCT-AE doesn't use many Android specific classes. It uses (of course) the OpenGL related stuff, Bitmap and Drawable and similar for the textures, FloatMath, Matrix and maybe a few others. As long as the BlackBerry SDK offers the usual Java classes like Android does, it might be possible to create a thin layer between jPCT-AE and BlackBerry that implements all the classes/methods needed on top of the BlackBerry API but following the Android signature. That's what i did with the JOGL support for the desktop version for example. jPCT (desktop version!) is lwjgl-based. To support JOGL, i simply implemented all the stuff that i use from lwjgl on top of JOGL.

Maybe something similar is possible here too...

It there any API reference to look at without downloading the SDK?

theflipperking

Thanks for your reply.

The api  docs are available here
http://www.blackberry.com/developers/docs/7.1.0api/index.html?javax/microedition/khronos/opengles/GL.html
You can find GL10, GL11 and their extensions and GL20 info in the links to the sub-interfaces on the same page.

For the wrapper, do you mean create the Android specific java classes as wrappers over the BlackBerry classes? Can you elaborate more on this type of solution?


EgonOlsen

Yes, that's what i mean. That should be pretty easy for the most part. Here's a brief overview of all(?) android specific classes that jPCT-AE uses. Of course, it uses only a subset of method from most of them. I can post these in more detail, if you are interested. The OpenGL ES 1.x interfaces are the same thing, so there should be nothing to port in that regard.

Classes that have to be reimplemented on BlackBerry, at least partially:

android.opengl.GLES20 (has to be fully implemented, but isn't much more than a simple pass through class)

android.util.FloatMath
android.util.Log
android.opengl.Matrix

android.graphics.Bitmap
android.graphics.BitmapFactory
android.graphics.Canvas
android.graphics.drawable.Drawable

android.content.res.AssetManager
android.content.res.Resources

android.os.Build (just make sure that Build.VERSION.SDK_INT != Build.VERSION_CODES.FROYO)

Classes that might be needed for some functionality, but almost everything should work without them:

android.opengl.ETC1Util
android.graphics.Matrix


..and most likely not needed:

android.opengl.GLSurfaceView (only setEGLContextClientVersion(2) used to enable ES 2.0 and only in the AAConfigChooser).

If these classes/it's required methods are reimplemented and bundled into a jar that will by deployed together with the jpct-ae.jar, it should actually work assuming that what jPCT-AE does OpenGL-wise is compatible with BlackBerry...but it actually should be....

EgonOlsen

I've just noticed that java.util and java.lang on BlackBerry seem to be a bit on the Java 1.1 side...which is pretty sad. At least some basic stuff like Map/HashMap, List/ArrayList and such will be needed in addition. Maybe there's some third party library that already provides those?

BlemmaDreams

Hi everybody.

although the topic is a bit different (Tablet OS Application Development), RIM has developed a library for porting android applications to the playbook tablet.

https://bdsc.webapps.blackberry.com/android/tool/

I also found another set of tools

https://bdsc.webapps.blackberry.com/devzone/platforms/

EgonOlsen

...thanks to RIM's generosity...this is jPCT-AE/Aralia (the first free 3d engine for a soon discontinued platform...)


zammbi

You completed a blackberry port? Awesome.

Quotefor a soon discontinued platform.
Is it really?

EgonOlsen

Quote from: zammbi on March 22, 2012, 04:23:07 AM
You completed a blackberry port? Awesome.
Yes. Do you want to write some Cricket App for BlackBerry...???

Quote from: zammbi on March 22, 2012, 04:23:07 AM
Quotefor a soon discontinued platform.
Is it really?
Not BlackBerry itself but the current line of operating systems and with them, support for J2ME will be dropped and replaced by an Android "emulator" and some HTML5/Javascript-stuff.

zammbi

QuoteDo you want to write some Cricket App for BlackBerry...
Naw :P

QuoteNot BlackBerry itself but the current line of operating systems and with them, support for J2ME will be dropped and replaced by an Android "emulator" and some HTML5/Javascript-stuff.
Ah right. I'm sure it still will be around for quite a while still. Anyone tried that android emulator and JPCT?


EgonOlsen

A little video showing a comparison between jPCT-AE and jPCT-AE/Aralia. Sorry for the low image quality, but i couldn't do any better with my equipment.

http://www.youtube.com/watch?v=zvMdFBwmc2Y