

				Statue
				------


This program shows off the texturing and blending features of OpenGL.  I 
wrote the core code for doing reflections in a plane in late '94, and
nothing really came of it.  But at SIGGRAPH '95, SGI was showing off the
same effect, and I started to spice up my old program (it was called
"mirror" and basically used a grayish-silver plane, so it looked like the
object was sitting on top of a mirror.)  This is the result.  Quite amazing
reflection for OpenGL rendering!

I included two models that produce good pictures.  Try invoking the program
with these options:

statue -s data/venus.obj -t data/marble1.rgb -f "ttttttAA!"

to see a spinning Venus de Milo statue on a really shiny red marble pedestal.


I use kindof a wacky method of managing the menus, but it tends to work
out really well if you want to add a GUI (like Motif) to the program.  It 
also adds a keypress to each menu function (much like most windowing
systems).  All the functions run through the menu callback so that the menu 
always reflects the current state.  It also makes it easy to add new
functionality, because can all be added in one function.  The menus look best
when GLUT uses a fixed width font for the menus, so I usually change the GLUT
code and recompile with a fixed width font (see glut_menu.c.)  This will
make the keys and current states shown in the menu line up nicely.

In glut_menu.c change:

  menuFont = XLoadQueryFont(__glutDisplay,
    "-*-helvetica-bold-o-normal--14-*-*-*-p-*-iso8859-1");

to:

  menuFont = XLoadQueryFont(__glutDisplay,
    "-misc-fixed-bold-r-normal-*-*-120-*-*-*-*-iso8859-1");

or some other fixed width font.

Please send bug reports, etc., to the address below.


-Nate


--
    /|   .--.--  
   / |  /(___)   Nate Robins
  /  | / /   \   narobins@es.com
.'   |/  \___/   http://www.cs.utah.edu/~narobins  (OpenGL + GLUT-NT)
