freeglut+libEGL+libGLU ports

If you have any questions on programming, this is the place to ask them, whether you're a newbie or an experienced programmer. Discussion on programming in general is also welcome. We will help you with programming homework, but we will not do your work for you! Any porting requests must be made in Developmental Ideas.
User avatar
The Crabby Overlord
The Crabby Overlord
Posts: 5404
Joined: Mon May 27, 2002 11:31 am
Location: Sailing the Skies of Arcadia
Has liked: 1 time
Been liked: 16 times

Re: freeglut+libEGL+libGLU ports

Post by BlueCrab » Mon May 29, 2017 11:56 am

It's basically to make a platform-independent way to initialize OpenGL and to handle swapping the buffer to the screen. So, sorta like GLUT in some ways, but without all of the old cruft.

Basically, if you've ever done OpenGL on a PC and had to deal with wgl (Windows), glX (Linux/BSD), CGL/AGL/NSOpenGL (Mac), then EGL is the platform-independent way to do all of that.
User avatar
Posts: 576
Joined: Sun Apr 20, 2014 9:45 am
Has liked: 0
Been liked: 0

Re: freeglut+libEGL+libGLU ports

Post by bogglez » Mon May 29, 2017 12:04 pm

BlueCrab wrote:@bogglez: Ahem...

When I said I'd work on it, I did mean I would work on it. And now, it's done. :wink:

I will request that if you're going to do a bunch of stuff to GL and splitting it apart, that it might be a good idea to keep around the minimal implementations of GLU/GLUT that we have now (as a separate port). Sometimes minimal is all that's needed, after all. Also, be sure to mark yourself as the maintainer in the portfiles. :wink:
Thanks! I'll work on the libGLU port for now and see about the rest later.
Lerabot wrote: Sorry for my dumb question, but is EGL main purpose is to provide OS-free implementation of openGL?

Just trying to see what is EGL about..
No worries! Yup, that's the idea.
I'm currently working on support for libglut and potentially libSDL in the future.
In order to get OpenGL support these libraries often use libEGL, so I implemented that first.
This also allows us to use platform-independent code for creating an OpenGL context.
With libEGL in place libraries that use it have a standard way to ask what OpenGL version is supported, ask for a framebuffer, etc. so we don't need to modify their code.
For example I ported freeglut in a few hours by copying the android folder, s/android/dreamcast, removed android specific functions and I was done.
Wiki & tutorials:
Wiki feedback: viewtopic.php?f=29&t=103940
My libgl playground (not for production):
My lxdream fork (with small fixes):
Post Reply