[maemo-developers] Fremantle OpenGL wrapper?

From: kate.alhola at nokia.com kate.alhola at nokia.com
Date: Fri Jun 5 00:25:14 EEST 2009
________________________________________
>From: maemo-developers-bounces at maemo.org [maemo-developers-bounces at maemo.org] On Behalf Of ext Qole [qole.tablet at gmail.com]
>Sent: Thursday, June 04, 2009 9:47 PM
>To: maemo-dev
>Subject: Re: Fremantle OpenGL wrapper?
>
>I hoped to start a discussion about making an OpenGL -> GL ES 2 translation library for porting games to Maemo 5, in the manner that is being done in the Pandora community.

I have been having several presentations to maemo community how to use OpenGL-ES in maemo 
You can find them from my blog http://blogs.forum.nokia.com/blog/kate-alholas-forum-nokia-blog
It is ot so much question of transition libraries but understanding what is OpenGL-ES and
how it relates to desktop OpenGL

I checked openpandora wiki http://pandorawiki.org/Development_tutorials  . It looks a like
they are having very similar approach, no silver bullet OpenGL to OpenGL-ES translation library
but just OpenGL-ES1.1 tutorial and example how to use OpenGL-ES with SDL.
I have had my tutorials about how to use OpenGL-ES2.0 and how to use it with Qt .

If you read http://pandorawiki.org/OpenGL_ES_1.1_Tutorial  . It tells a lot what is
the qestion. There is just no single "OpenGL" but desktop OpenGL has many, many 
legacy layers of API's . Mobile OpenGL implements only the most efficient subset of them.
Because there is hundreds of ways to use OpenGL, there is no simple way to convert.

The Openpandora OpenGL-ES1.1 wiki tries to explain ( as i had in my presentations/blog and maemo wiki page )
that as example OpenGL has legacy API glBegin/glVertex/gEnd that are obsoleted in OpenGL-ES
and OpenGL-ES only supports way to pass vertexes as array. Of course passing them as array is much
more efficient, just one API call with big number of vertexes as opposed one call for one coordinate point.
That just an example what is the difference.

For game developer it is much more sense port the application to use vertex arrays because it is
more efficient also in desktop.

When we go to OpenGL-ES2.0 or Desktop OpenGL-2.0, we have thing called programmable shaders.
OpenGL1.x or OpenGL-ES1.x has fixed function non programmable pipeline doing transformations and lighting.
In OpenGL-(ES)2.0 it is all programmable and it offers much more features to make much better
looking games. I strongly recommend to take it in use.

If you still would like use fixed function pipeline to port old not so advanced games, you can 
still use OpenGL-ES1.x emulation libraries in maemo. I hope that we can get them in to next
SDK release.


Kate

More information about the maemo-developers mailing list