Main Page
From GtkGLExt
Contents |
Overview
GtkGLExt is an OpenGL extension to GTK+ 2.0 or later written by Naofumi Yasufuku.
It provides additional GDK objects which support OpenGL rendering in GTK+, and GtkWidget API add-ons to make GTK+ widgets OpenGL-capable.
Unlike Jane Loff's GtkGLArea, GtkGLExt provides a GtkWidget API which enables OpenGL drawing for standard and custom GTK+ widgets.
gtkglextmm, a C++ wrapper for GtkGLExt, is also available. C++ programmers can use it to write GTK+-based OpenGL applications using gtkmm 2.
PyGtkGLExt is a Python language binding for GtkGLExt. Python programmers can use it to write GTK+-based OpenGL applications using PyGTK 2.
Status
GtkGLExt has new maintainers! More information will be available soon.
On a philosophical note, GtkGLExt really shouldn't exist at this point. Given the strong ties between GTK -> Cairo and Cairo -> OpenGL, it is surprising that OpenGL support hasn't been integrated into GTK already. See http://bugzilla.gnome.org/show_bug.cgi?id=119189 for a conversation on this topic.
Recent Releases
NOTE: binary packages are listed separately further down the page.
- gtkglext 1.2.0 - February 4, 2006
- gtkglextmm 1.2.0 - February 27, 2006
- gtkglext-sharp 0.1.0 - April 17, 2004
- pygtkglext 1.1.0 - April 16, 2006
Licensing
The GtkGLExt and gtkglextmm libraries, and PyGtkGLExt modules are released under the terms of the GNU Lesser General Public License (GNU LGPL). While components and programs included with this release are licensed under the terms of the GNU General Public License (GNU GPL).
Platforms
Currently GtkGLExt and related packages support
- UNIX and UNIX-like platforms: Tested under Linux, FreeBSD, OpenBSD, IRIX, and Mac OS X.
- Win32 platforms: Tested under Windows XP & 2000 Professional using MinGW/ Cygwin environment. Binary package is also available. It contains all headers, DLLs, and MSVC import libraries (gtkglextmm supports only MinGW).
Screenshots
A simple logo demo:
The Mesa gears demo - originally written by Brian Paul, and ported to GtkGLExt by Naofumi Yasufuku:
The viewlw LightWave 3D object viewer demo that comes with GtkGLArea - originally written by Janne Lof, and ported by Alif Wahid with just slight modification:
Downloads
Source Code
- Packaged releases of GtkGLExt and related packages are available on the sourceforge project area: http://sourceforge.net/projects/gtkglext
- You can obtain GtkGLExt from anonymous CVS, see http://sourceforge.net/cvs/?group_id=54333
- You can also browse the CVS sources online, at http://gtkglext.cvs.sourceforge.net/gtkglext/
Binaries
- A Debian/Ubuntu package for the Python bindings is available at http://sourceforge.net/project/showfiles.php?group_id=6348&package_id=179437
- You can obtain a Fedora Core 5 package at http://www.planetsaphire.com/rpms/gtkglext/
- Get the latest Gtk+, Glade, GtkGlExt all in one Windows installer at http://www.bonifazi.eu/appunti/2008/02/gtk-glade-gtkglext-all-in-one-windows.html
- Get GtkGLExt 1.2.0 for Win32 at http://www.bonifazi.eu/appunti/gtkglext-win32-1.2.0.exe
- Get the latest PyGtk, PyGtkGlext all in one Windows installer at http://www.bonifazi.eu/appunti/2008/04/pygtk-all-in-one-installer.html
- Get PyGtkGLExt for Win32 and Python 2.5 at http://www.stephanebrunet.net/gtkglext/pygtkglext-1.1.0.win32-py2.5.exe
Documentation
Mailing Lists
Subscribe to gtkglext-list@gnome.org at http://mail.gnome.org/mailman/listinfo/gtkglext-list/
See the mailing-list archives at http://mail.gnome.org/archives/gtkglext-list/
Bug fixes and improvements are always welcome - patches may be submitted to the tracker at http://sourceforge.net/tracker/?group_id=54333&atid=473436
Other GtkGLExt Language Bindings
Example
This is a Python example to build an OpenGl Drawing Area embedded in a PyGtk window. The GUI is built loading widgets created with Glade tool, but you can do it also with PyGtk alone.
- Example code http://www.bonifazi.eu/appunti/Draw.py
- Example Glade File http://www.bonifazi.eu/appunti/first_example.glade
Projects
Projects that use GtkGLExt:
- K-3D is a complete free-as-in-freedom 3D modeling, animation, and rendering system.
- GSEGYView is a free cross-platform viewer for seismic data in SEG-Y format and its modifications.
- SharpConstruct is a free 3D sculpting program.
- VPython is a simple Free 3D graphics system used in physics education.
- The NCSU Aerial Robotics Club used GtkGLExtmm in its UAV video and photography processing systems.
- Crosa is a simple game development framework, and despite the games don't depend on GTK, it uses GtkGLExtmm for its tools.
- Gwyddion is a modular SPM (Scanning Probe Microsope) data visualization and analysis tool.
- G3DViewer is a program to display and inspect 3D models.
- GLiv is an OpenGL image viewer.
- Cellumat3D is a tool for simulating and exploring cellular automata in 3D space.
- glChess is a 3D chess interface for the GNOME desktop.
- GNOME War Pad is 'VGA Planets' client for GNOME 2 desktop platform.
- Kludge3d is a simple 3D model editor in the spirit of Worldcraft or Milkshape.
- pyglplot is an interactive 3D plotting and visualization tool.
- MASyV is an easy-to-use agent-based model simulation/visualization platform. Uses GdkGLPixmap since MASyV 0.10 (or SVN Rev 125).
- gl-cairo-cube is an example showing how to use cairo and OpenGL for rendering interactive textures.
- view3dscene is a viewer for VRML, 3DS and MD3 models.

