Carlos Pereira
Wed, 10 Mar 2010 11:26:51 -0800
Hello,I prepared a simple GTK/OpenGL working example that does not use GTKGLExt or GTKGLArea:
http://www.gamgi.org/gtk_opengl.tar.gzCurrently it only works on X, but I believe it could be easily extended to Mac OS X and Windows. It needs two headers: <GL/glx.h> (distributed with Mesa and available on any X system with OpenGL capabilities) and <gdk/gdkx.h> (distributed with GTK).
For comparison, I included also the corresponding version with GTKGLExt.The GTK/OpenGL version has 146 lines and compiles and runs with -DGSEAL_ENABLE and *_SINGLE_INCLUDES, so in theory it should easily work with GTK 3.0.
The GTK/OpenGL/GTKGLExt has 109 lines and compiles with -DGSEAL_ENABLE but not with *_SINGLE_INCLUDES, because GTKGLExt is not yet GTK-3.0 ready.
I deliberately removed all error checks, to make this experimental code as simple and clear as possible.
I tested this on relatively new Ubuntu 9.10 (GTK 2.18.3) and relatively old Fedora 8 (GTK 2.12.8), in both cases it runs apparently fine, without warnings. A friend tested this on Puppy and Mandriva.
I did not test yet more complex things like creating and removing GLContexts while maintaining shared pre-compiled OpenGL lists, but I am reasonably confident that those things will probably work, as they are essentially OpenGL-specific features.
So, I would like to hear your comments and suggestions on this code: what mistakes am I doing? are there mem leaks? how to make it more robust? how to make it even more simple? is this a good ideia at all?
Regards, Carlos _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list