Hello,
I am also interested on this topic. For what I saw from NBOpenGL,
Igor was generating the bindings from older specifications of the
OpenGL API. Those older specifications are in a deprecated DSL.
The newer versions of the OpenGL APIs are available in some XML
files provided by Khronos Group. In this link
http://www.opengl.org/registry/#specfiles another link for a
subversion repository(
https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/api/
) with those XML files is available, along with the formal OpenGL
specs.
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
2014-05-30 11:10 GMT-04:00 Sean P. DeNigris
<[email protected] <mailto:[email protected]>>:
darrinm wrote
> Oh, and NBMacGLConstants is lacking necessary constants. Is
it manually
> created or generated somehow?
>
> - darrinm
-----
Cheers,
Sean
--
View this message in context:
http://forum.world.st/OpenGL-3-0-tp4760914p4761009.html
Sent from the Pharo Smalltalk Developers mailing list archive
at Nabble.com.