[GtkGLExt] Initial port of GtkGLExt to GTK+ 3



Hi

I did a quick port of GtkGLExt to GTK+ 3 over the weekend. You can get a
copy of my repository by running

  git clone git://github.com/tdz/gtkglext.git

The code builds cleanly on Fedora 15.

On-screen windows should work. At the moment only the X11 backend is
supported though. Since GdkDrawable is gone, GdkGLWindow is not drawable
anymore, but this should not be a problem. Actually this change brings
GdkGLExt closer to GLX. You can, of course, still get a GdkGLWindow's
GdkWindow and draw to it.

Off-screen rendering does currently not work. In GDK 3, off-screen
rendering is implemented by windows of type GDK_WINDOW_TYPE_OFFSCREEN.
Future off-screen rendering has to be build on top of this window type.

Color-index rendering is gone. GDK 3 lacks the necessary interfaces to
manipulate a window's colormap, so a direct port of this feature is not
possible. On the other hand, color-index rendering has been removed from
OpenGL 3, so the removal of this feature is probably not a big loss.
Color-index rendering can be implemented by fragment shaders.

The build system now creates a single library that can contain multiple
rendering targets. This is a feature of GDK 3 and I think, GdkGLExt
should behave similar. Only the build system has been changed by now.
The actual source code still does not support it.

Most of the demos work. I removed those demos that relied on features
that are not supported by the port.

I also have some ideas for further development of the code. The X11
target should be rewritten for GLX 1.4. This would allow for new
features and probably make the code base cleaner. Adding off-screen
rendering afterwards should be simple. Pbuffer support would also be
possible.

The other window systems should be supported again. I don't have a
Macintosh, so someone else needs to do that.

There are tons of auto-generated look-up functions for OpenGL
extensions. Those should be replaced by a single generic function.

Once the most important tasks have been done, I'd would like to get the
code upstream and make a release. All contributions are welcome!

Best regards
Thomas

-- 
GnuPG:          http://tdz.users.sourceforge.net/tdz.asc
Fingerprint:    16FF F599 82F8 E5AA 18C6 5220 D9DA D7D4 4EF1 DF08

jsapigen - A free glue-code generator for Mozilla SpiderMonkey. See
http://jsapigen.sourceforge.net for more information.

Attachment: signature.asc
Description: This is a digitally signed message part



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]