glesport -> OpenGL to OpenGL ES translation -> Challenges...

Hi everybody,

In my quest to get Ubuntu to work on the Beagleboard, I've found many
challenges. One of the challenges is to get OpenGL to work on the
Beagleboard. As the Imgtec drivers are only for OpenGL ES, I needed
some kind of wrapper.

I've found a possible solution in the form of "glesport" and tried to
compile this. (http://muksuluuri.unrealvoodoo.org/~skyostil/git/?
p=glesport.git) GLesport is a mesa substitute supporting an egl
renderer.

Compilation has been very challenging and unfortunately I haven't been
able to make a working version. Somehow the libraries that are
produced are broken as many calls are not available. I've had the
first problems with finding stddef.h and stdargs.h and I needed to
copy all header files from the kdrive freedesktop to the /usr/include/
X11R6 directory.

I am very curious whether other people tried this route and succeeded
or are willing to try and try to solve it together.

Kind regards,

Eelco

Hi,

While porting OpenGL to OpenGL ES, my experience has been that most of
the porting "annoyances" has been in the way the application sets up
and renders its vertices. Much of the pain is converting immediate
mode rendering to vertex arrays/objects. One can rather easily write
a state machine wrapper for simple glBegin(); glVertex...; glEnd()
which basically concatenates and builds a vertex array to render. You
will have to profile the performance impact this has over doing the
actual port of the application. You may find that your app is
spending too many cycles in the wrapper library which is dragging the
frame rate down.

If its a rather complex app, your best bet is to port it directly (in
my experience).

aj