×

Discussion Board

Results 1 to 9 of 9
  1. #1
    Regular Contributor
    Join Date
    Feb 2005
    Location
    Kista, Sweden
    Posts
    267

    M3G vs OpenGL ES

    We are evaluting wether to use M3G or OpenGL ES for our next product. The product will be a 3d version of our current product Astral effects:
    http://www.mobile-visuals.com/mobilesoftware.php

    It will be a visual stimulation tool, which displays different 3d animations. Would it better to use OpenGL ES than M3G for this? Do more devices have OpenGL ES installed than M3G? Are M3G much slower than OpenGL ES?

  2. #2
    Super Contributor
    Join Date
    Jun 2003
    Location
    Cheshire, UK
    Posts
    7,395

    Re: M3G vs OpenGL ES

    The big reason to choose M3G (JSR-184) is that it is far more widely supported. Significantly, currently no Nokia devices support JSR-239 (OpenGLES).

    Beyond that, M3G is a higher level API - it is easier to develop with, but you have less control over what happens, which can make it harder to optimize for your specific needs. That said, any 3D (Java) game you see running on a Nokia (that's all 3D games on Series 40 devices) are using M3G, and there are plenty of games that perform quite well.

    Android supports the OpenGLES API, but not M3G. I think the same is true of BlackBerry devices, from device platform version 5 (current devices don't support either API). So far as I know, these are the only devices that support OpenGLES and not M3G.

    All Sony Ericsson devices from JP2 onwards support M3G, and also OpenGLES from JP8 (or 8.5?), I think. (JP = Sony Ericsson Java Platform.) M3G is also widely supported on Motorola, Samsung and LG devices - I'm not so sure about OpenGLES.

    Graham.

  3. #3
    Super Contributor
    Join Date
    Mar 2003
    Location
    Finland
    Posts
    9,569

    Re: M3G vs OpenGL ES

    All Nokia Symbian/S60 devices also support OpenGL ES (starting with some kind of a version of v1.0 in the Nokia 6630, Symbian 7.0s/S60 2nd Edition Feature Pack 2).

    Nokia Symbian devices are now - still - at OpenGL ES v1.1 level of support, and with very few models with graphics hardware acceleration (that is, on most Nokia devices the rendering happens only using software libraries).

    The only Symbian devices by Nokia with hw acceleration (as far as my memory serves me right) are the TI OMAP2 based models N95, N95 8GB, N82 and E90. In addition, of current devices, the maemo Linux based N900 also supports hw acceleration (with its OMAP3 CPU).

  4. #4
    Super Contributor
    Join Date
    Jun 2003
    Location
    Cheshire, UK
    Posts
    7,395

    Re: M3G vs OpenGL ES

    Quote Originally Posted by grahamhughes View Post
    Significantly, currently no Nokia devices support JSR-239 (OpenGLES).
    Quote Originally Posted by petrib View Post
    All Nokia Symbian/S60 devices also support OpenGL ES
    In case this sounds like petrib and I are disagreeing, we're not!

    To clarify:

    * OpenGL ES - a C API, available to native applications

    * JSR 239 - a Java API, which provides low-level access specifically to an underlying OpenGL ES implementation

    * JSR 184 - a Java API that provides high-level access to some underlying 3D engine, which may or may not be OpenGL ES

    When you use JSR 184 (M3G) on a Nokia Series 60, you are using OpenGL ES, but through a much higher-level API. You can use OpenGL ES directly, but only from a native (C/C++) application.

    Graham.

  5. #5
    Regular Contributor
    Join Date
    Feb 2005
    Location
    Kista, Sweden
    Posts
    267

    Re: M3G vs OpenGL ES

    That is really interesting to hear. It seems like the market is bigger for M3G than OpenGL ES/C++, so from this information, M3G seems to be the best option.

    I wasn't planning to use JSR-239, I was planning to develop directly in C++ if I choose the OpenGL ES option.
    So more 3d games on the market are made with M3G than OpenGL ES/C++?

    Quote Originally Posted by grahamhughes View Post
    In case this sounds like petrib and I are disagreeing, we're not!

    To clarify:

    * OpenGL ES - a C API, available to native applications

    * JSR 239 - a Java API, which provides low-level access specifically to an underlying OpenGL ES implementation

    * JSR 184 - a Java API that provides high-level access to some underlying 3D engine, which may or may not be OpenGL ES

    When you use JSR 184 (M3G) on a Nokia Series 60, you are using OpenGL ES, but through a much higher-level API. You can use OpenGL ES directly, but only from a native (C/C++) application.

    Graham.

  6. #6
    Super Contributor
    Join Date
    Jun 2003
    Location
    Cheshire, UK
    Posts
    7,395

    Re: M3G vs OpenGL ES

    Ah, OK.

    OpenGL ES (if you're writing C/C++) is available on:

    * Nokia Series 60 (and other Symbian devices)

    * (Most?) Windows Mobile devices

    * iPhone

    * Android

    And other platforms.

    Obviously, if you're developing in C++, you exclude any platform that does not support native applications, such as Nokia Series 40, Sony Ericsson "JP" devices, BlackBerry, and so on.

    If we're looking at 3D games on Series 60 (where developers have a choice), you will see a mix of Java/JSR-184 and C/OpenGL ES. The OpenGL ES games will perform better, probably cost more to develop, and are not portable to other devices (such as Series 40). The developer will have chosen on the basis of what user experience they needed (a driving game needs more performance than a puzzle game), how much the wanted to spend, and what range of devices they wanted to support.

    Graham.

  7. #7
    Regular Contributor
    Join Date
    Feb 2005
    Location
    Kista, Sweden
    Posts
    267

    Re: M3G vs OpenGL ES

    So would still M3G be supported on more devices than OpenGL ES/C++?

    I assume that one advantage of using OpenGL ES/C++ would be that it could work on Iphone and Android after some porting.

    The advantage of using M3G would be that I could have one version which would work on a lot of Nokia, SE, Samsung, Motorola and LG devices without any porting. Another advantage would be that it would work on platforms which do not support native applications, like Nokia Series 40. Am I right?

    So Blackberry do not support native applications and OpenGL ES/C++ wouldn't work on any of those either?

    Quote Originally Posted by grahamhughes View Post
    Ah, OK.

    OpenGL ES (if you're writing C/C++) is available on:

    * Nokia Series 60 (and other Symbian devices)

    * (Most?) Windows Mobile devices

    * iPhone

    * Android

    And other platforms.

    Obviously, if you're developing in C++, you exclude any platform that does not support native applications, such as Nokia Series 40, Sony Ericsson "JP" devices, BlackBerry, and so on.

    If we're looking at 3D games on Series 60 (where developers have a choice), you will see a mix of Java/JSR-184 and C/OpenGL ES. The OpenGL ES games will perform better, probably cost more to develop, and are not portable to other devices (such as Series 40). The developer will have chosen on the basis of what user experience they needed (a driving game needs more performance than a puzzle game), how much the wanted to spend, and what range of devices they wanted to support.

    Graham.

  8. #8
    Super Contributor
    Join Date
    Jun 2003
    Location
    Cheshire, UK
    Posts
    7,395

    Re: M3G vs OpenGL ES

    Quote Originally Posted by MobileVisuals View Post
    So would still M3G be supported on more devices than OpenGL ES/C++?
    In terms of actual handsets, probably yes. Owners of higher-end handsets (iPhone, Series 60, etc.) tend to download more apps, so it's hard to say which will give you the biggest download volume.

    Quote Originally Posted by MobileVisuals View Post
    I assume that one advantage of using OpenGL ES/C++ would be that it could work on Iphone and Android after some porting.
    Probably quite a lot of porting. They might share that API, but no other.

    Quote Originally Posted by MobileVisuals View Post
    The advantage of using M3G would be that I could have one version which would work on a lot of Nokia, SE, Samsung, Motorola and LG devices without any porting.
    I wouldn't say no porting. Cross platform development, even in Java, will usually need some porting.

    Quote Originally Posted by MobileVisuals View Post
    Another advantage would be that it would work on platforms which do not support native applications, like Nokia Series 40. Am I right?
    Precisely.

    Quote Originally Posted by MobileVisuals View Post
    So Blackberry do not support native applications and OpenGL ES/C++ wouldn't work on any of those either?
    That's correct.

    Graham.

  9. #9
    Regular Contributor
    Join Date
    Feb 2005
    Location
    Kista, Sweden
    Posts
    267

    Re: M3G vs OpenGL ES

    Thanks for the info! I will consider all this, but it seems like M3G would be the best choice. We want an 3d application which can reach the maximum amount of downloaders. We are going to sell it on app stores like OVI and have ad enabled versions of it on sites like Getjar.

    Quote Originally Posted by grahamhughes View Post
    In terms of actual handsets, probably yes. Owners of higher-end handsets (iPhone, Series 60, etc.) tend to download more apps, so it's hard to say which will give you the biggest download volume.



    Probably quite a lot of porting. They might share that API, but no other.



    I wouldn't say no porting. Cross platform development, even in Java, will usually need some porting.



    Precisely.



    That's correct.

    Graham.

Similar Threads

  1. How to write text in an OpenGL ES game?
    By MobileVisuals in forum Symbian Media (Closed)
    Replies: 4
    Last Post: 2009-12-10, 08:13
  2. Tearing with OpenGL ES
    By lpvalente in forum Symbian
    Replies: 0
    Last Post: 2008-09-14, 23:08
  3. Possible OpenGL ES implementation bug
    By greatape in forum Symbian Media (Closed)
    Replies: 3
    Last Post: 2006-10-28, 18:02
  4. running OpenGL ES in N93
    By derBertl in forum Symbian Media (Closed)
    Replies: 3
    Last Post: 2006-10-10, 14:50
  5. OpenGL ES and View Arch. in Series 60
    By abolfoooud in forum Mobile Java Media (Graphics & Sounds)
    Replies: 0
    Last Post: 2005-06-06, 13:36

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
×