GLUT for Mingw32  
The OpenGL Utility Toolkit (GLUT) was developed by Mark Kilgard while he was working for Silicon Graphics to let the user easily create OpenGL applications. It has support for the GUI stuff such as windows, popup menus etc. it is a good idea to get this library since much code samples is using GLUT. In the GLUT source distribution is it tons of  examples both simple and more sophisticated  many of  them are very well known.
Some of the header files must be changed so that windows.h is included or better APIENTRY is defined as __stdcall for them to work with Mingw32.

You can compile GLUT with Mingw32 but if you do not want to do that get the precompiled GLUT for Mingw32  it is a collection of GLUT libraries and headers with support for the following components:
 
libglut32.a, glut.h and glut32.dll glut implementation for the Microsoft implementation of OpenGL
libmui.a and header files GLUT-based micro-UI user interface library, here is a  brief user guide.
libgle.a, tube.h GLE Tubing & Extrusions library,  homepage and  man pages in html format.
libglsmap.a, glsmap.h creation of sphere maps, here is some  docs  and here is  one simple example

Put glut32.dll in windows\system, the .a and .h files should be copied to the compilers lib and include directories. After you have done this in GLUT installed and ready to use. Include glut.h and link with -lglut32 to create GLUT programs.

The documentation for GLUT itself can be downloaded in a pdf file from Silicon Graphics  but some of the newer stuff is only described in the man pages
Nate Robins has made a lot of the work on the windows port and the GLUT for Mingw32  is based on that.  You do not have to compile GLUT yourself but in the GLUT sources is some of the most interesting OpenGL examples. They are in the progs\ directory, here is an overview:
 
examples misc. GLUT examples the most interesting is perhaps the various dino samples. Get Mark Kilgards documentation from  nvidia .
redbook examples from the OpenGL Programming Guide ported to GLUT, you can download it from  gamedev .
advanced GLUT examples demonstrating advanced OpenGL rendering techniques largely based on the SIGGRAPH '96 course. Information at  SGISGI2.
advanced97 like the above but from SIGGRAPH '97 . You need to download the datafiles from  Silicon Graphics  also available  here with additional information
contrib contributed GLUT examples
demos more involved OpenGL demos using GLUT
bucciarelli some nice GLUT examples by David Bucciarelli
mesademos Ports to GLUT of programs distributed with Mesa. In the GLUT 3.7.3 source distribution are they wrongly placed in the inventor directory.
mui examples using the libmui.a library, do not forget the  brief guide
gle examples using the GLE Tubing & Extrusions library (  homepageman pages )
spheremap sphere maps examples using the libglsmap.a library
texfont Tools and demos for using texture mapped fonts. It seems to be problems with the .txf files in 3.7.3 so you must get the  correct .txf files . Texture mapped fonts is the fastest way to output text on most cards. Additional fonts can be found in the  PLIB example distribution .
tiff You must get the  tiff library . I made some makefiles for Mingw32 and Borland. The TIFF library seems to be pretty powerfull and must be one of the best options for your textures. Once again is the datafiles in the GLUT 3.7.3 distribution corrupted but here is good TIFF images . The samples loading TIFF images was very red. I do not know if the TIFF library has changed or what the reason for that was but here is some   updated files .
isc. some minor examples and other less important like stuff for UNIX and other languages

Mark Kilgard made a cool page called  Way cool, way fast OpenGL techniques  during his time at SGI that explains some of the more interesting samples. OK, Direct3D has improved but it is still fun to read the MS bashing. :-)
The  man pages  and this  GLUT tutorial is also good.

Why not look at some (dark) videos showing a Mark Kilgard presentation?
Available in both  Real Video  and  Quicktime .

The sources is a mess with mixed makefiles and text files.
No makefiles for Mingw32 is included but  here is the ones I have made for the GLUT 3.7.3 source distribution. The headers from the latest  runtime is probably also required.
If you are interested in SIGGRAPH '99  can the makefile.cygwin files in the package be used to build the samples. Some of them needs an extra line setting CC to gcc (CC = gcc) to work.

Some comments about GLUT:

  • if linked with the -mwindows option does not the console window pop up but mostly is a console application to prefer
  • not all examples is working (some is for UNIX only etc.)
  • the redbook is the standard OpenGL book
  • GLUT programs can often be recompiled on other platforms without changes
  • the examples is not timed so most of them runs too fast on a modern PC with 3D acceleration
  • GLUT is easy to use but limited so for bigger projects is probably some other alternative better
  • users of Microsoft's Open GL should link to glut32.dll, glut.dll is for the Silicon Graphics implementation of Open GL
  • on some systems does it make a different if the program is launched from a prompt or the win9x desktop, this is not limited to GLUT applications.


 back