This directory contains GLXwin 1.3.2.

GLXwin is a Tk interface to GLX mixed mode programming using the
Silicon Graphics GL library.  Read the man page for more info.  glxwin
has been tested on an Indigo Elan running IRIX 4.0.5F and a 210/GTX
running 4.0.5; I don't anticipate any problems with other SGI
platforms.  

GLXwin does not make GL calls by itself; rather, it provides the means
to configure a GL window (including overlays, underlays, and popups)
from the Tk interpreter.  The user can then call functions written in
C to render into the window.  The Tk "bind" mechanism can be used to
listen for X events in the GLXwin window.  GLXwin also takes care of
setting the WM_COLORMAP_WINDOWS property on containing top level
windows, notifying the window manager to install colormaps for the GL
windows.

Additionally, a mechanism has been provided to access and manipulate
GLXwin widget information from inside C code.  

Two extra Tcl commands have been provided.  "glx_getgdesc" provides
access to GL hardware information obtained from the getgdesc() GL function.
"glx_viewport" is a wrapper around the viewport() GL function, and
must be called if the GL window is resized.  

GLXwin compiles and runs using Tk3.2 or Tk3.3.  All future development
will be done on Tk3.3 and beyond.  The library must be recompiled if
you are switching from Tk3.2 to Tk3.3.  

Two sample applications are provided: "glxtst" (based on the "network"
example taken from code in /usr/people/4Dgifts/examples/GLX/glxwidget/demo) 
and "simp", an example using overlays.

Configure the package by editting the file "config.mk" to point to 
your copies of the Tk and Tcl distributions.

Under Tk3.2, the programmer needed to provide a "main()" for the
interpreter; the two examples provide ones based on Tk's main.c in the
Tk3.2 release.  Tk3.3 applications should create a TkAppInit.c file
modelled after one of the examples, calling TkGLX_Init(interp,
main_window) and application-specific initialization code.


I hope you will find that GLXwin provides one of the easiest ways to
provide user interfaces to GL by using one of the most convenient and
powerful (and free!) X toolkits available, Tk.  The Tcl/Tk archive is
located on harbor.ecn.purdue.edu in /pub/tcl. GLXwin is
redistributable freely under the same liberal terms as Tk.

I'd be happy to answer questions, consider enhancements, and fix bugs
in GLXwin.  I'd also be interested in hearing about your experience in
using it.


Michael Halle
Spatial Imaging Group
MIT Media Laboratory
mhalle@media.mit.edu
