GtkGLArea
---------


AUTHOR
------
 Janne Löf <jlof@mail.student.oulu.fi>

CONTRIBUTORS
------------
 Karl Nelson     <kenelson@ece.ucdavis.edu>          (original autoconf, gtkglarea--)
 Daniel Skarda   <0rfelyus@atrey.karlin.mff.cuni.cz> (original automake & libtool)
 Jussi Löf       <jussi.lof@pirko.fi>                (LightWave objects)
 Andrew Marriott <raytrace@lillee.cs.curtin.edu.au>  (original win32 port)
 Chris Abernethy <chris65536@home.com>               (gtkglarea_demo.c)

LICENSE
-------

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public
    License as published by the Free Software Foundation; either
    version 2 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Library General Public License for more details.

    You should have received a copy of the GNU Library General Public
    License along with this library; if not, write to the Free
    Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.


INTRODUCTION
------------

 GtkGLArea is an OpenGL widget for GTK+ GUI toolkit.

 Just as GTK+ is build on top of GDK, GtkGLArea is built on top of gdkgl which
 is basically wrapper around GLX functions. The widget itself is derived
 from GtkDrawinigArea widget and adds only few extra functions.

 Lower level gdkgl functions make it easy to render on any widget that has
 OpenGL capable visual, rendering to off-screen pixmaps is also supported. 

 Related project which may iterest those who use GTK-- is GtkGLArea--. It is a
 C++ wrapper for gtkglarea written by Karl Nelson <kenelson@ece.ucdavis.edu>. 


INSTALLATION
------------

 You need GTK+ and either OpenGL or Mesa, if you have both you can choose which
 one to use by giving --with-lib-GL or --with-lib-MesaGL option to configure.

 Run './configure --help' to see all options you may give at configuration stage.
 Run './configure' and 'make' to build. You may now test programs in examples
 directory. Run 'make install' to install.

 Include files go to PREFIX/include/gtkgl/
 Library files go to PREFIX/lib/


WIN32
-----

 There is now a working windows port. autoconfig is not used, but you
 probably don't want to use it anyway. Makefiles are supplied only for
 gcc compilation (for mingw), sorry. But it shouldn't be hard to build
 this with MSVC, either.

 You will of course need win32 gtk+ packages, too:

   glib-dev-*.zip
   gtk+-dev-*.zip

 (insert latest timestamp in place of the *)

 you can get these from http://www.iki.fi/tml/gimp/win32/ installation
 instructions (README.win32) are not as long as they usedf to be
 earlier.  It should be simpler now to get a correct gcc setup. You
 will also want to have cygwin installed, for instance the DLLs are
 built with a shell script.

 OpenlGL headers are also needed, either use those from the
 PlatformSDK (freely downloadable from Microsoft, even if you have to
 use a complex installer program, and it's hard to decide which of the
 zillion optional parts you actually want to get these headers), or
 grab

   Mingw32_OpenGL.zip

 from ftp://ftp.teleport.com/pub/users/pgarceau/

 or alternatively you may use

  glut-cygwin.zip

 from http://www.cim.pe.u-tokyo.ac.jp/~kawachi/software/cygwin_glut-e.html

 Unzip these packages to some directory.

 Then modify the OPENGL definition in the build/win32/module.defs file
 to point to the directory where you have the GL subdirectory with
 OpenGL headers (gl.h, glaux.h and glu.h). Now you should be all set
 to compile. Go to the gtkgl directory, and do:

   make -f makefile.mingw

 This should produce gtkgl-<VERSION>.dll and libgtkgl-<VERSION>.a, and
 perhaps gtkgl-<VERSION>.lib, where <VERSION> will be replaced by the
 version number of GtkGLArea. Move the dll to some directory in your
 PATH, or keep a copy of it in the same directory as the executable
 that will use it. The .lib file (import library for MSVC) is produced
 only if you have the Microsoft linker, link, available.

 Then go to the examples directory, and do a make there, too. This
 should produce three examples: simple.exe, viewlw.exe and
 zktor.exe. The Windows version of viewlw is a bit shaky but should
 show the sample *.lwo objects if their file names are given on the
 command line. The other examples do not compile at this
 time. (Pixmaps and fonts are unsupported in win32).

 Inner workings of win32 gtkglarea is quite different form glx
 version, therefore you should only use GtkGLArea widget (gtk_gl_*)
 functions, no gdk_gl_* functions.


DOCUMENTATION
-------------

 Documentation is slightly out of date, sorry.

 docs/gtkglarea.txt	documents GtkGLArea widget (needs updating)
 docs/gtkgl.txt		documents gtk_gl_* functions (needs updating)
 docs/HOWTO.txt		good advice


LINKS
-----

 GtkGLArea home page http://www.student.oulu.fi/~jlof/gtkglarea/
 Gtk-- wrapper http://www.ece.ucdavis.edu/~kenelson/gtk-glarea/


TODO
----

 - rewrite documentation in texinfo format
 - weed out bugs from autoconfigure scripts
 - overlays
 - add more functionality to windows port

---
Trademarks are owned by trademark owners.
