Main Page

From GtkGLExt

Jump to: navigation, search

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.

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).
    • Win32 MSVC: See [1].
    • Win32 mingw+msys: See [2]. Note: You have to add >>-Wl,--enable-runtime-pseudo-reloc<< to the linker options to avoid vtable errors)

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

Binaries

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.

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.
Personal tools