Because they are now in those XML files, we need new generator
for OpenGL 3.3-4.0.
Another question, a core profile context is really needed?
Why not starting working with a compatibility profile?. OpenGL
API deprecation does not depend on us, it depends on what the
Khronos Group and the graphics card maker decide to do. In the
x86 Desktop, the three big companies cannot remove the
compatibility profile, otherwise lot of older video-games will
stop working.
Also, there are lots of graphic cards, specially older
integrated in laptops that are only OpenGL 2.x. A better bet
is to support at least the subset available in OpenGL 2.x that
is also available in the core profile.
As for plans for OpenGL support, normal and accelerated
GUIs, I am working in OSWindow.
OSWindow provides support to manage native operating system
windows purely from image side. With Igor, we made a custom
image and VM for Linux in which we removed almost everything
graphic related from the VM. The only support needed in the VM
is a small check for event presence in the VM heartbeat.
For OSWindow, we made initially a XLib based back-end. To
reduce maintenance efforts for Windows and Mac OS, I made a
new backend based in SDL2. It is quite complete and I have
tested mostly in Linux. For Windows I could make it work, not
perfect so it needs more testing and a complete removal of the
old Win32 drivers. I don't have a Mac for testing, but Alex is
going to help me there.
I have to tell the CMakeVMMaker to also build SDL2 before
building, instead of having to build/install it manually.
After that I think that we can start integrating into Pharo 4.
As for OpenGL, SDL2 gives me a multi-platform abstraction
for creating a window with an OpenGL context. I already made
it work with NBOpenGL, the only tricky part is dependency
order when loading the stuff in the image.
In fact, I already started making a new 3D graphics engine
Pharo, to rewrite Roassal 3D on top of this one in the near
future. Soon I will be posting some screen-shots of this
engine.
With this graphics engine, I am also going to try to make
an Athens backend, for accelerated vector graphics. Vectorial
graphics with OpenGL are very hard to do fast, specially self
intersecting bezier curves. Stencil based testing is simple,
fast, supported and efficient for this job.
Greetings,
Ronie