How hard can this be?
Two fat books hint that there may be a lot to this:
http://www.opengl.org/resources/code/samples/glut_examples/mesademos/mesademos.html
There are lots more here, use the link:
http://www.opengl.org/resources/code/samples/glut_examples
Or, check this out:
http://www.opengl.org/resources
    yum list | grep mesa
    mesa-libOSMesa.i386                      7.0.2-3.fc8            updates         
    mesa-libOSMesa.x86_64                    7.0.2-3.fc8            updates         
    mesa-libOSMesa-devel.i386                7.0.2-3.fc8            updates         
    mesa-libOSMesa-devel.x86_64              7.0.2-3.fc8            updates         
    yum list | grep glut
    freeglut.x86_64                          2.4.0-11.fc8           installed       
    freeglut.i386                            2.4.0-11.fc8           fedora          
    freeglut-devel.i386                      2.4.0-11.fc8           fedora          
    freeglut-devel.x86_64                    2.4.0-11.fc8           fedora          
    hugs98-glut.x86_64                       2006.09-3.fc7          fedora          
I have a strong suspicion that I may need the freeglut-devel package (since the devel package will probably have the headers, and I do:
yum install freeglut-devel.x86_64
    (~/Mesa/bounce) cholla $ ./bounce
    freeglut (./bounce):  ERROR:  Internal error  in function fgOpenWindow
    X Error of failed request:  BadWindow (invalid Window parameter)
    Major opcode of failed request:  4 (X_DestroyWindow)
    Resource id in failed request:  0x0
    Serial number of failed request:  14
    Current serial number in output stream:  17
 
http://www.opengl.org/resources/libraries/glut/
GLUT stands for OpenGL Utility Toolkit. It claims to be (and no doubt is) a portable API that allows a person to write simple OpenGL applications. It is not open source! I guess that is what the freeglut packages are all about. Actually GLUT turns out to be a portable API for all the non-portable aspects of an OpenGL application, there is a sizeable OpenGL core API that is the same everywhere.
    /*
    glutInitDisplayMode(GLUT_INDEX | GLUT_DOUBLE);
    */
    glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH);
And now it works, but much too fast to look like a bouncing ball on my machine
(which is a dual core 3.2 Ghz amd64). We'll figure out how to throttle that later.
Apparently "INDEX' mode is not supported on my graphics hardware, but "RGBA" mode is, hmmm.
GLUT_DOUBLE says to do double buffering (nothing to do with floating point single/double).
Although the cube demo seems to work just fine, (even the keys to stop and change speed all work as advertised); when I run "top" to look at cpu activity, it shows the CPU running "cube" at 100 percent, which certainly doesn't sound like hardware acceleration.
Uncle Tom's Computer Info /tom@mmto.org