Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Java Development

Posts: 558
Registered: ‎11-25-2008
My Device: Not Specified
Accepted Solution

3D graphics APIs

This is a question for the experts.

I'm on a BB storm JDE 4.7.0

I've looked through the BB storm's API's and I cannot find any support for 3D, OPENGL or anything like that when I believe support for this is in the Qualcomm chipset's GPU.


Whats the current "stance" on this at RIM and/or what are the future plans.


I may need this for a future product related to Scientific visualization (3D surfaces and possible other solutions). I'm also sure that games developers need it.




Posts: 5,339
Registered: ‎09-20-2008
My Device: ***
My Carrier: ***

Re: 3D graphics APIs

I do not know about RIM's plans. But I can say that there is SVG graphics available.


In some cases it can emulate 3D-scenes, like pseudo-3D.

Posts: 1,415
Registered: ‎07-30-2008
My Device: Not Specified

Re: 3D graphics APIs

If you see my link and questions from earlier, I used SVG for rendering sphere collections. Apparently they

have a gradient function so you could come close on brightness profile but I'm not sure

how flexible that really is ( I thought I could just change the parameters and move the illumination

source and get something like lambertian surface but it wasn't obvious how to get this).


In any case, this question finally pushed me to do what I started the other day and download several rim

pdf guides, convert them to text ( extract the information, the stuff you care about ) and then make them

searchable in arbitrary ways ( I guess I'm also reacting to a concern that at least one important source has

recently published "source code" for an information application that is heavy into artwork and includes windoze

DLL's for which there may be no vendor-neutral true source code).

[ doc_files is a highly guarded secret proprietary list of files obtained from google LOL ]


524  for f in `cat doc_files`; do g=`basename $f`; echo $g;curl "$f" -o "$g" ;done 

[ the above needs modification if basenames conflict ]

526  for f in `cat doc_files`; do g=`basename $f`; pdftotext -nopgbrk -layout -raw "$g"  ; done

542  for f in *.txt ; do echo "$f"|highlight "$f" ; grep SVG "$f"  ; done



$ for f in *.txt ; do echo "$f"|highlight "$f" ; grep "JSR.*raphic" "$f"  ; done
[ you would think of course that the cut/paste would pickup the reverse highligthing

but in any case you get the idea ]


· JSR 226: Scalable 2D Vector Graphics API for Java ME
· JSR 226: Scalable 2D Vector Graphics API for Java ME





After a few more lines of text processing, I came up with this list of JSR's referenced in the documents SOMEWHERE.

I think RIM does have a web page that probably contains a more accurate list but you get the idea if you want to

find something the web designer didn't anticipate, there are ways of getting it,


$ grep "^ *$g" sun_jsr_all
   30 [41]J2ME^TM Connected, Limited Device Configuration
   37 [49]Mobile Information Device Profile for the J2ME^TM Platform
   75 [96]PDA Optional Packages for the J2ME^TM Platform
   82 [103]Java^TM APIs for Bluetooth
   118 [139]Mobile Information Device Profile 2.0
   120 [142]Wireless Messaging API
   135 [160]Mobile Media API
   139 [165]Connected Limited Device Configuration 1.1
   172 [207]J2ME^TM Web Services Specification
   177 [213]Security and Trust Services API for J2ME^TM
   179 [215]Location API for J2ME^TM
   185 [222]Java^TM Technology for the Wireless Industry
   205 [244]Wireless Messaging API 2.0
   211 [250]Content Handler API
   226 [267]Scalable 2D Vector Graphics API for J2ME^TM
   238 [279]Mobile Internationalization API 






Posts: 558
Registered: ‎11-25-2008
My Device: Not Specified

Re: 3D graphics APIs

This is the chip datasheet in the Storm...Qualcoomm 7600. I also think it's in the BOLD.    The GPU has the capability of processing something like 4M polygons per second in 3D.




Posts: 1,415
Registered: ‎07-30-2008
My Device: Not Specified

Re: 3D graphics APIs

Seems like a good match to java, the JVM can probably execute 4M byte codes per seond (LOL).

Just kidding, I don't really know, but without the right API's it is difficult to make good use

of any underlying hardware as you need some kind of native support that can keep up.


Posts: 558
Registered: ‎11-25-2008
My Device: Not Specified

Re: 3D graphics APIs

Actually, the CPU supports the ARM Jazelle Java accelleration, so it's very efficient. I think the CPU speed is 400MHz (ARM11) and there is also an ARM9 at 230MHz or something.

The guys who are supposed to be implementing the java API (such as OPENGL and other features for 3D) should be RIM and their VM partners. I'm pretty certain that they don't use their own VM. They probably use a standard one (recommended by qualcomm) and have extensions that they just add to it. I know this because I ran the SW team on a similar product for driving flat panel displays for monitors and whatnot once apon a time. You try to buy what you can to get you to market as fast as possible and keep your engineers focused on their core competencies while having stuff that is not your core competency being done by an external company. They may actually get the VM and chip together with base OS all from qualcomm, and probably a big chunk of the hardware integration is done by qualcomm in order to get the deal (since it's worth so much to qualcomm).

Anyways, I digress :-)

What I'm still wondering is where is the java API to access the wonderful features of their GPU's 3D processing.




Posts: 5,339
Registered: ‎09-20-2008
My Device: ***
My Carrier: ***

Re: 3D graphics APIs

For now, the most recent version of RIM API (4.7) has no classes to operate with 3D graphics.


There are only classes to work with SVG Graphics (vector-based graphics).

Posts: 29
Registered: ‎02-14-2010
My Device: BlackBerry Curve 8530
My Carrier: Verizon Wireless

Re: 3D graphics APIs

To all I noticed this post was a year ago. I would like to know if BlackBerry RIM supports JSR 184 or JSR 239 for BB OS 5.x. My BB Curve 8530 uses OS5.x.

Does it now support it or not?




BlackBerry Curve 8530 OS version
Posts: 1,807
Registered: ‎04-28-2009
My Device: Z10 (STL100-4)-, Z10 (STL100-3)-, Z30 (STA100-5)-, Passport (SQW100-1)-, PlayBook (16GB)-
My Carrier: Verizon

Re: 3D graphics APIs

Maybe, OS 5.0 supports JSR 239 but RIM seems to only be supporting BlackBerry's with a GPU (The "Storms", more specifically: Storm 2. Technically Storm 1 has a GPU but RIM said there were some hardware changes to make 3D work on the Storm 2 but it means it won't work on the Storm 1).


The easiest way to check is to simply make an app that calls GLUtils.isSupported() and see if it returns true. Note: Make sure you do this on the actual device, not the simulator.

---Spends time in #blackberrydev on freenode (IRC)----
Three simple rules:
1. Please use the search bar before making new posts.
2. "Like" posts that you find helpful.
3. If a solution has been found for your post, mark it as solved.
--I code too much. Well, too bad.