From 63e87c2d0c9d263f14c77b68f85c67d46ece82a9 Mon Sep 17 00:00:00 2001 From: Leo Tenenbaum Date: Mon, 20 Aug 2018 21:12:06 -0400 Subject: Removed gtk+ docs --- gtk+-mingw/share/doc/freeglut-2.8.0/download.html | 42 - gtk+-mingw/share/doc/freeglut-2.8.0/freeglut.html | 163 -- .../share/doc/freeglut-2.8.0/freeglut_logo.png | Bin 15887 -> 0 bytes .../freeglut-2.8.0/freeglut_user_interface.html | 1956 -------------------- gtk+-mingw/share/doc/freeglut-2.8.0/index.html | 101 - gtk+-mingw/share/doc/freeglut-2.8.0/ogl_sm.png | Bin 1586 -> 0 bytes gtk+-mingw/share/doc/freeglut-2.8.0/progress.html | 137 -- gtk+-mingw/share/doc/freeglut-2.8.0/structure.html | 80 - 8 files changed, 2479 deletions(-) delete mode 100644 gtk+-mingw/share/doc/freeglut-2.8.0/download.html delete mode 100644 gtk+-mingw/share/doc/freeglut-2.8.0/freeglut.html delete mode 100644 gtk+-mingw/share/doc/freeglut-2.8.0/freeglut_logo.png delete mode 100644 gtk+-mingw/share/doc/freeglut-2.8.0/freeglut_user_interface.html delete mode 100644 gtk+-mingw/share/doc/freeglut-2.8.0/index.html delete mode 100644 gtk+-mingw/share/doc/freeglut-2.8.0/ogl_sm.png delete mode 100644 gtk+-mingw/share/doc/freeglut-2.8.0/progress.html delete mode 100644 gtk+-mingw/share/doc/freeglut-2.8.0/structure.html (limited to 'gtk+-mingw/share/doc/freeglut-2.8.0') diff --git a/gtk+-mingw/share/doc/freeglut-2.8.0/download.html b/gtk+-mingw/share/doc/freeglut-2.8.0/download.html deleted file mode 100644 index b9baab2..0000000 --- a/gtk+-mingw/share/doc/freeglut-2.8.0/download.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - The freeglut project - - - -
The freeglut logo
- -
-I upload it, you download it. That's the ying-yang nature of the Buddha. -
- -

- -

January the 16th, 2000 -

Here is a list of files you can download: -

- -

- -
- diff --git a/gtk+-mingw/share/doc/freeglut-2.8.0/freeglut.html b/gtk+-mingw/share/doc/freeglut-2.8.0/freeglut.html deleted file mode 100644 index 7357dea..0000000 --- a/gtk+-mingw/share/doc/freeglut-2.8.0/freeglut.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - - - - The freeglut project - - - -
The freeglut logo
- -
-I am best at what I do worst and for this gift I feel blessed... -
- -

- -

January the 2nd, 2000 - -

The alpha version has been released yesterday. Today I have been busy with moving -the project site to the SourceForge. As for -now there will be the web site available and I will give it a try to set up the -freeglut mailing lists. There will be no CVS access available for now (my dialup -internet connection sucks so badly that I wouldn't be able to work on the project). -After I am done with that, I will try announcing the project on www.opengl.org. - -

Of other things, there has been rumours floating round the routers and hubs about -Mark Kilgard changing the GLUT's license, but this is unconfirmed. It would be really -cool if he did so, there's no better motivation to work than a bit of sound competition. -As for me, I already put too much work into the freeglut project to terminate it just -now. We'll see what happens next. - -

January the 4th, 2000 - -

Ho-ho-ho. Freeglut-1.3 works fine with `Tux the Penguin and the Quest for Herring'. -At least that's what Steve Baker, the author, says. Not only that, Steve has provided -us with the joystick code (from his great PLIB project) and numerous hints and tips -about making freeglut more useful (I will try to put the results of our discussion -on the structure page). - -

As for other issues -- I promise I will start the Win32 port this weekend. -BTW. -- is there a decent cross compiler for Linux that generates Win32 executables, -so that I don't have to use windows for development? And what about Wine OpenGL -support? - -

The package is now some 40kB smaller than the previous one. Did some general -clean ups, removed unnecessary configure scripts in the genfonts directory, -the configure cahce, the Makefiles and so on. Also, I have started introducing -the new internal structure, as described here. - -

January the 6th, 2000 - -

The missing glutInit() issue seems to be solved. Chris Purnell (fxGLUT author) says -that the GLUT window and menu creation functions call glutInit() if the caller didn't -do that before. - -

The enumerations for GLUT_KEY_UP and GLUT_KEY_RIGHT were accidentally swapped. -They should be OK now. Hope the rest is OK :) - -

Added two new API calls to freeglut-1.3 -- glutBitmapHeight() and glutStrokeHeight(), -as suggested by Steve Baker. This won't break the GLUT compatibility a lot, and I've -heard it can be useful. Here you go. - -

The structure plans page has been updated. The numerous -feature hints from opengl-gamedev-l readers have been added. - -

Somebody (Chris?) hinted me that the stroke fonts can be found in the XFree86 -sources. I browsed through it and -- presto. Now I only need to define the stroke fonts -structure (should be very similiar to bitmapped one) and write quite a simple parser. - -

I've spent the (late) evening doing the init display string parsing and making -my logics classes homework :) Both is harder than I primarily thought, but fortunately -for me I can commit errors in one of those tasks. Guess which one? Argh. :) - -

January the 8th, 2000 - -

First of all, both the missing glutInit() and glutGet(GLUT_WINDOW_[X|Y]) issues are -fixed now. The first problem was solved thanks to Chris Purnell, who showed me the way -GLUT dealt with the problem. Good for me there's someone who reads it's source code (I -just felt it would be unfair for me to do so :D). The second problem was solved by -adding a XMoveWindow call just after the window creation and initial mapping. This is -strange. Maybe one of the Xlib calls between the creation and mapping spoiled the -window's coordinates? - -

This makes even more GLUT tests work fine. The tests can be found in any decent -GLUT 3.7 distribution. Following tests produce a FAIL message: test18.c (some layer -issues), test19.c (see the GLUT_NORMAL_DAMAGED issue on the progress page), test22.c -(window stacking/visibilty problems), test23.c (glutInitDisplayString() is unfinished), -test25.c (the freeglut fonts differ a bit from GLUT's), test28.c (-iconic handling -is missing(?)). Gee :) - -

I've spent another hour doing the glutInitDisplayString(), but it still is far from -being complete. And I've also started gathering information on doing the game mode -stuff. The video mode enumeration in both cases will be painful. - -

There is a big issue with the window contents redrawing. Right now, it is forced -every time there are no events pending in the main loop. I know it's wrong, but it -without such an approach some of the test programs freeze soon after starting. Could -someone peer-review the main loop code please? - -

I have decided to start the Win32 port this weekend. As for now, the code compiles -under vc++5.0. I will start making it work as soon as I download the pthreads library -and the newest version of GLib for Windows. It was quite a good idea to start the port, -as the Microsoft's compiler generates much more warnings and I had quite a few things -fixed for free. - -

January the 9th, 2000 - -

Doing the Win32 port all the day... Actually, there is enough code to make it work, -however I am sure only of that it compiles (more or less). I need to download the -pthreads-win32 library to get the GLib working first, and somehow I was unable to -do it during the weekend. Once again -- the Win32 port does not work yet. Oh, and -I need adding the __declspec(dllexport) thing... - -

After it starts working, I'll have to clean up the code a bit, I guess... - -

January the 10th, 2000 - -

Here I am at three o'clock am, half-awake, uploading and downloading things for -freeglut. I never thought I'd be able to force myself getting up that early :) - -

January the 16th, 2000 - -

Both the flu and a terrible feeling about the dialup bills made me slow down -a bit, the internet activity I mean :). But here I am again uploading the latest -snapshot. The biggest news about it is the Win32 port working, with nearly all -features you can find in the X11 version implemented (still, it needs some debugging). -For the Unix port, game mode support (loosely based on SDL source code posted at Neal -Tringham's www.pseudonymz.demon.co.uk) and numerous bug fixes have been introduced. - -

In order to compile the Win32 version, you'll need pthreads-win32 library (see -sourceware.cygnus.org), the GLib-1.2.x (www.gtk.org, I've been using the 1.2.6), -a working native compiler (Microsoft VisualC++ 5.0 in my case), and a bit of patience. -See the project files I've supplied for some definitions needed (FREEGLUT_LIBRARY_BUILD -needs to be declared when building the DLL), and don't forget freeglut joystick code -is making use of Win32 multimedia extensions (link against winmm.lib). - -

Be prepared to meet the fact Mesa 3.1 (or at least my compilation) doesn't work very -well with this snapshot -- something's messed up when changing WGL contexts. This is -really strange, as the Microsoft's OpenGL works pretty fine, as does Dominik Behr's -miniGL thing. The assumption is that I've taken some approach that somehow is valid -with Microsoft's drivers, but is not OpenGL conformant. Could anyone check this out -please? - -

My plan for next week is to add some lesser features missing, and start learning -maths as the session at my university is coming in really fast :) This way or another, -expect the next release not any sooner than next weekend (given that no nasty bugs get -digged out). - -

Argh. Don't be surprised if the code doesn't compile under X-11 other than XFree86. -It could fail when trying to include the X11/extensions/xf86vmode.h include header, -in that case just comment out that inclusion line (found in freeglut_internal.h). -Is there any intelligent way to detect the existence of an include header, and if -it's autoconf to be the answer, how to use it? - -

Back to the main page - -

- diff --git a/gtk+-mingw/share/doc/freeglut-2.8.0/freeglut_logo.png b/gtk+-mingw/share/doc/freeglut-2.8.0/freeglut_logo.png deleted file mode 100644 index 36bf1b5..0000000 Binary files a/gtk+-mingw/share/doc/freeglut-2.8.0/freeglut_logo.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/freeglut-2.8.0/freeglut_user_interface.html b/gtk+-mingw/share/doc/freeglut-2.8.0/freeglut_user_interface.html deleted file mode 100644 index 20d1e42..0000000 --- a/gtk+-mingw/share/doc/freeglut-2.8.0/freeglut_user_interface.html +++ /dev/null @@ -1,1956 +0,0 @@ - - - - - - - - - - FREEGLUT Application Program Interface - - - -
-
-

The Open-Source

-
-
-

OpenGL Utility Toolkit

-
-
-

(freeglut 2.0.0)

-
-
-

Application Programming Interface

-
-
- -
-

Version 4.0

-
- -
-

The freeglut Programming Consortium

-
- -
-

July, 2003

-
- -


- OpenGL is a trademark of Silicon Graphics, Inc. X Window System is a trademark -of X Consortium, Inc.  Spaceball is a registered trademark of Spatial -Systems Inc.
- The authors have taken care in preparation of this documentation but make -no expressed or implied warranty of any kind and assumes no responsibility - for errors or omissions. No liability is assumed for incidental or consequential - damages in connection with or arising from the use of information or programs - contained herein.
-  

- -

1.0  - Contents

- 1.0  Contents - -

2.0  Introduction -

- -

3.0  Background -

- -
3.1  Design Philosophy
- 3.2  Conventions
- 3.3  Terminology
- 3.4  Differences from GLUT 3.7
- -


- 4.0  Initialization Functions -

- -
4.1  glutInit
- 4.2  glutInitWindowPosition, glutInitWindowSize
- 4.3  glutInitDisplayMode
- 4.4  glutInitDisplayString
- -


- 5.0  Event Processing Functions -

- -
5.1  glutMainLoop
- 5.2  glutMainLoopEvent
- 5.3  glutLeaveMainLoop
- -


- 6.0  Window Functions -

- -
6.1  glutCreateWindow
- 6.2  glutCreateSubwindow
- 6.3  glutDestroyWindow
- 6.4  glutSetWindow, glutGetWindow
- 6.5  glutSetWindowTitle, glutSetIconTitle
- 6.6  glutReshapeWindow
- 6.7  glutPositionWindow
- 6.8  glutShowWindow, glutHideWindow, glutIconifyWindow
- 6.9  glutPushWindow, glutPopWindow
- 6.10  glutFullScreen
- -


- 7.0  Display Functions -

- -
7.1  glutPostRedisplay
- 7.2  glutPostWindowRedisplay
- 7.3  glutSwapBuffers
- -


- 8.0  Mouse Cursor Functions -

- -
8.1  glutSetCursor
- 8.2  glutWarpPointer
- -


- 9.0  Overlay Functions -

- -
9.1  glutEstablishOverlay
- 9.2  glutRemoveOverlay
- 9.3  glutUseLayer
- 9.4  glutPostOverlayRedisplay
- 9.5  glutPostWindowOverlayRedisplay
- 9.6  glutShowOverlay, glutHideOverlay
- -


- 10.0  Menu Functions -

- -
10.1  glutCreateMenu
- 10.2  glutDestroyMenu
- 10.3  glutGetMenu, glutSetMenu
- 10.4  glutAddMenuEntry
- 10.5  glutAddSubMenu
- 10.6  glutChangeToMenuEntry
- 10.7  glutChangeToSubMenu
- 10.8  glutRemoveMenuItem
- 10.9  glutAttachMenu, glutDetachMenu
- -


- 11.0  Global Callback Registration Functions -

- -
11.1  glutTimerFunc
- 11.2  glutIdleFunc
- -


- 12.0  Window-Specific Callback Registration - Functions -

- -
12.1  glutDisplayFunc
- 12.2  glutOverlayDisplayFunc
- 12.3  glutReshapeFunc
- 12.4  glutCloseFunc
- 12.5  glutKeyboardFunc
- 12.6  glutSpecialFunc
- 12.7  glutKeyboardUpFunc
- 12.8  glutSpecialUpFunc
- 12.9  glutMouseFunc
- 12.10  glutMotionFunc, glutPassiveMotionFunc
- 12.11  glutVisibilityFunc
- 12.12  glutEntryFunc
- 12.13  glutJoystickFunc
- 12.14  glutSpaceballMotionFunc
- 12.15  glutSpaceballRotateFunc
- 12.16  glutSpaceballButtonFunc
- 12.17  glutButtonBoxFunc
- 12.18  glutDialsFunc
- 12.19  glutTabletMotionFunc
- 12.20  glutTabletButtonFunc -

12.21  glutMenuStatusFunc
- 12.22  glutWindowStatusFunc

-
- -


- 13.0  State Setting and Retrieval Functions -

- -
13.1  glutSetOption
- 13.2  glutGet
- 13.3  glutDeviceGet
- 13.4  glutGetModifiers
- 13.5  glutLayerGet
- 13.6  glutExtensionSupported
-13.7  glutGetProcAddress
-
- -


- 14.0  Font Rendering Functions -

- -
14.1  glutBitmapCharacter
- 14.2  glutBitmapString
- 14.3  glutBitmapWidth
- 14.4  glutBitmapLength
- 14.5  glutBitmapHeight
- 14.6  glutStrokeCharacter
- 14.7  glutStrokeString
- 14.8  glutStrokeWidth
- 14.9  glutStrokeLength
- 14.10  glutStrokeHeight
- -


- 15.0  Geometric Object Rendering Functions -

- -
15.1  glutWireSphere, glutSolidSphere -
- 15.2  glutWireTorus, glutSolidTorus
- 15.3  glutWireCone, glutSolidCone
- 15.4  glutWireCube, glutSolidCube
- 15.5  glutWireTetrahedron, glutSolidTetrahedron
- 15.6  glutWireOctahedron, glutSolidOctahedron
- 15.7  glutWireDodecahedron, glutSolidDodecahedron
- 15.8  glutWireIcosahedron, glutSolidIcosahedron
- 15.9  glutWireRhombicDodecahedron, glutSolidRhombicDodecahedron
- 15.10  glutWireTeapot, glutSolidTeapot
- -


- 16.0  Game Mode Functions -

- -
16.1  glutGameModeString
- 16.2  glutEnterGameMode, glutLeaveGameMode
- 16.3  glutGameModeGet
- -


- 17.0  Video Resize Functions -

- -
17.1  glutVideoResizeGet
- 17.2  glutSetupVideoResizing, glutStopVideoResizing
- 17.3  glutVideoResize
- 17.4  glutVideoPan
- -


- 18.0  Color Map Functions -

- -
18.1  glutSetColor, glutGetColor -
- 18.2  glutCopyColormap
- -


- 19.0  Miscellaneous Functions -

- -
19.1  glutIgnoreKeyRepeat, -glutSetKeyRepeat
- 19.2  glutForceJoystickFunc
- 19.3  glutReportErrors
- -


- 20.0  Usage Notes -

- -

21.0  - Implementation Notes -

- -

22.0  GLUT -State -

- -

23.0  - "freeglut.h" Header File -

- -

24.0  References -

- -

25.0  Index -
-  
-  

- -

2.0  - Introduction

-   -

3.0  - Background

- The OpenGL programming world owes a tremendous debt to Mr. Mark J. Kilgard - for writing the OpenGL Utility Toolkit, or GLUT.  The GLUT library -of functions allows an application programmer to create, control, and manipulate - windows independent of what operating system the program is running on.  - By hiding the dependency on the operating system from the application programmer, - he allowed people to write truly portable OpenGL applications. - -

    Mr. Kilgard copyrighted -his library and gave it a rather unusual license.  Under his license, -people are allowed freely to copy and distribute the libraries and the source -code, but they are not allowed to modify it.  For a long time this did -not matter because the GLUT library worked so well and because Mr. Kilgard -was releasing updates on a regular basis.  But with the passage of time, -people started wanting some slightly different behaviours in their windowing -system.  When Mr. Kilgard stopped supporting the GLUT library in 1999, -having moved on to bigger and better things, this started to become a problem. -

- -

    In December 1999, -Mr. Pawel Olzsta started work on an open-source clone of the GLUT library.  -This open-source clone, which does not use any of the GLUT source code, has -evolved into the present freeglut library.  This documentation -specifies the application program interface to the freeglut library. -

- -

3.1  Design Philosophy

- -

3.2  Conventions

- -

3.3  Terminology

- -

3.4  Differences from GLUT 3.7

- Since the freeglut library was developed in order to update GLUT, - it is natural that there will be some differences between the two.  -Each function in the API notes any differences between the GLUT and the -freeglut function behaviours.  The important ones are summarized -here. -

3.4.1  glutMainLoop Behaviour

- One of the commonest complaints about the GLUT library was that once an -application called "glutMainLoop", it never got control back.  -There was no way for an application to loop in GLUT for a while, possibly -as a subloop while a specific window was open, and then return to the calling -function.  A new function, "glutMainLoopEvent", has been added -to allow this functionality.  Another function, "glutLeaveMainLoop -", has also been added to allow the application to tell freeglut to clean -up and close down. -

3.4.2  Action on Window Closure

- Another difficulty with GLUT, especially with multiple-window programs, -is that if the user clicks on the "x" in the window header the application -exits immediately.  The application programmer can now set an option, -" GLUT_ACTION_ON_WINDOW_CLOSE", to specify whether execution should -continue, whether GLUT should return control to the main program, or whether -GLUT should simply exit (the default). - -

3.4.3  Changes to Callbacks
-

- Several new callbacks have been added and several callbacks which were specific -to Silicon Graphics hardware have not been implemented.  Most or all -of the new callbacks are listed in the GLUT Version 4 "glut.h" header file -but did not make it into the documentation.  The new callbacks consist -of regular and special key release callbacks, a joystick callback, a window -status callback, window closure callbacks, a menu closure callback, and a -mouse wheel callback.  Unsupported callbacks are the three Spaceball -callbacks, the ButtonBox callback, and the two Tablet -callbacks.  If the user has a need for an unsupported callback he should -contact the freeglut development team.
- -

3.4.4  String Rendering
-

- New functions have been added to render full character strings (including -carriage returns) rather than rendering one character at a time.  More -functions return the widths of character strings and the font heights, in -pixels for bitmapped fonts and in OpenGL units for the stroke fonts.
- -

3.4.5  Geometry Rendering
-

- Functions have been added to render a wireframe and a solid rhombic -dodecahedron, a cylinder, and a Sierpinski sponge. -

3.4.5  Extension Function Queries

- glutGetProcAddress is a wrapper for the glXGetProcAddressARB and wglGetProcAddress -functions. -

4.0  - Initialization Functions

- -

4.1  glutInit

- -

4.2  glutInitWindowPosition, glutInitWindowSize

- The "glutInitWindowPosition " and "glutInitWindowSize -" functions specify a desired position and size for windows that freeglut - will create in the future. -

Usage

- -

void glutInitWindowPosition ( int -x, int y ) ;
- void glutInitWindowSize ( int width, -int height ) ;

- -

Description

- -

The "glutInitWindowPosition - " and "glutInitWindowSize" functions specify a desired position -and size for windows that freeglut will create in the future.  -The position is measured in pixels from the upper left hand corner of the -screen, with "x" increasing to the right and "y" increasing towards the bottom -of the screen.  The size is measured in pixels.  Freeglut - does not promise to follow these specifications in creating its windows, -it certainly makes an attempt to.

- -

The position and size of a window are -a matter of some subtlety.  Most windows have a usable area surrounded -by a border and with a title bar on the top.  The border and title bar -are commonly called "decorations."  The position of the window unfortunately -varies with the operating system.  On Linux, it is the coordinates of -the upper left-hand corner of its decorations.  On Windows, it is the -coordinates of the upper left hand corner of its usable interior.  For -both operating systems, the size of the window is the size of the usable interior. -

- -

Windows has some additional quirks which -the application programmer should know about.  First, the minimum y-coordinate -of a window decoration is zero.  (This is a feature of freeglut - and can be adjusted if so desired.)  Second, there appears to be a -minimum window width on Windows which is 104 pixels.  The user may specify -a smaller width, but the Windows system calls ignore it.  It is also -impossible to make a window narrower than this by dragging on its corner. -

- -

Changes From GLUT

- -

For some reason, GLUT is not affected -by the 104-pixel minimum window width.  If the user clicks on the corner -of a window which is narrower than this amount, the window will immediately -snap out to this width, but the application can call "glutReshapeWindow - " and make a window narrower again.

- -

4.3  glutInitDisplayMode

- -

4.4  glutInitDisplayString

- -

5.0  - Event Processing Functions

- After an application has finished initializing its windows and menus, it - enters an event loop.  Within this loop, freeglut polls the -data entry devices (keyboard, mouse, etc.) and calls the application's appropriate -callbacks. -

In GLUT, control never returned from -the event loop (as invoked by the "glutMainLoop" function) to the -calling function.  This prevented an application from having re-entrant -code, in which GLUT could be invoked from within a callback, and it prevented -the application from doing any post-processing (such as freeing allocated -memory) after GLUT had closed down.  Freeglut allows the application -programmer to specify more direct control over the event loop by means of -two new functions.  The first, "glutMainLoopEvent", processes -a single iteration of the event loop and allows the application to use a different -event loop controller or to contain re-entrant code.  The second, " -glutLeaveMainLoop", causes the event loop to exit nicely; this is preferable -to the application's calling "exit" from within a GLUT callback. -

- -

5.1  glutMainLoop

- The "glutMainLoop" function enters the event loop. - -

Usage

- -

void glutMainLoop ( void ) ; -

- -

Description

- -

The  "glutMainLoop" function -causes the program to enter the window event loop.  An application should -call this function at most once.  It will call any application callback -functions as required to process mouse clicks, mouse motion, key presses, -and so on.

- -

Changes From GLUT

- -

In GLUT, there was absolutely no way -for the application programmer to have control return from the "glutMainLoop - " function to the calling function.  Freeglut allows the programmer -to force this by setting the "GLUT_ACTION_ON_WINDOW_CLOSE" option -and invoking the "glutLeaveMainLoop" function from one of the callbacks.  - Stopping the program this way is preferable to simply calling "exit - " from within a callback because this allows freeglut to free allocated - memory and otherwise clean up after itself.  (I know I just said this, - but I think it is important enough that it bears repeating.)

- -

5.2  glutMainLoopEvent

- The "glutMainLoopEvent" function processes a single iteration -in the freeglut event loop. -

Usage

- -

void glutMainLoopEvent ( void ) ; -

- -

Description

- -

The  "glutMainLoopEvent - " function causes freeglut to process one iteration's worth of events -in its event loop.  This allows the application to control its own event -loop and still use the freeglut windowing system.

- -

Changes From GLUT

- -

GLUT does not include this function. -

- -

5.3  glutLeaveMainLoop

- The "glutLeaveMainLoop" function causes freeglut to stop - its event loop. -

Usage

- -

void glutLeaveMainLoop ( void ) ; -

- -

Description

- -

The  "glutLeaveMainLoop - " function causes freeglut to stop the event loop.  If the -" GLUT_ACTION_ON_WINDOW_CLOSE" option has been set to "GLUT_ACTION_CONTINUE_EXECUTION - ", control will return to the function which called "glutMainLoop - "; otherwise the application will exit.

- -

If the application has two nested calls -to "glutMainLoop" and calls "glutLeaveMainLoop", the behaviour -of freeglut is undefined.  It may leave only the inner nested -loop or it may leave both loops.  If the reader has a strong preference -for one behaviour over the other he should contact the freeglut Programming -Consortium and ask for the code to be fixed.

- -

Changes From GLUT

- -

GLUT does not include this function. -

- -

6.0  - Window Functions

- -

6.1  glutCreateWindow

- -

6.2  glutCreateSubwindow

- -

6.3  glutDestroyWindow

- -

6.4  glutSetWindow, glutGetWindow

- -

6.5  glutSetWindowTitle, glutSetIconTitle

- -

6.6  glutReshapeWindow

- -

6.7  glutPositionWindow

- -

6.8  glutShowWindow, glutHideWindow, -glutIconifyWindow

- -

6.9  glutPushWindow, glutPopWindow

- -

6.10  glutFullScreen

- -

7.0  - Display Functions

- -

7.1  glutPostRedisplay

- -

7.2  glutPostWindowRedisplay

- -

7.3  glutSwapBuffers

- -

8.0  - Mouse Cursor Functions

- -

8.1  glutSetCursor

- -

8.2  glutWarpPointer

- -

9.0  - Overlay Functions

- Freeglut does not allow overlays, although it does "answer the mail" - with function stubs so that GLUT-based programs can compile and link against - freeglut without modification.  -If the reader needs overlays, he should contact the freeglut Programming -Consortium and ask for them to be implemented.  He should also be prepared -to assist in the implementation. -

9.1  glutEstablishOverlay

- The "glutEstablishOverlay" function is not implemented in freeglut - . -

Usage

- -

void glutEstablishOverlay ( void -) ;

- -

Description

- -

The "glutEstablishOverlay" function -is not implemented in freeglut.

- -

Changes From GLUT

- -

GLUT implements this function.

- -

9.2  glutRemoveOverlay

- The "glutRemoveOverlay" function is not implemented in freeglut - . -

Usage

- -

void glutRemoveOverlay ( void ) ; -

- -

Description

- -

The "glutRemoveOverlay" function -is not implemented in freeglut.

- -

Changes From GLUT

- -

GLUT implements this function.

- -

9.3  glutUseLayer

- The "glutUseLayer" function is not implemented in freeglut - . -

Usage

- -

void glutUseLayer (  GLenum -layer ) ;

- -

Description

- -

The "glutUseLayer" function -is not implemented in freeglut.

- -

Changes From GLUT

- -

GLUT implements this function.

- -

9.4  glutPostOverlayRedisplay

- The "glutPostOverlayRedisplay " function is not implemented in - freeglut. - -

Usage

- -

void glutPostOverlayRedisplay ( void -) ;

- -

Description

- -

The "glutPostOverlayRedisplay - " function is not implemented in freeglut.

- -

Changes From GLUT

- -

GLUT implements this function.

- -

9.5  glutPostWindowOverlayRedisplay

- The "glutPostWindowOverlayRedisplay " function is not implemented - in freeglut. -

Usage

- -

void glutPostWindowOverlayRedisplay -( int window ) ;

- -

Description

- -

The "glutPostWindowOverlayRedisplay - " function is not implemented in freeglut.

- -

Changes From GLUT

- -

GLUT implements this function.

- -

9.6  glutShowOverlay, glutHideOverlay

- The "glutShowOverlay" and "glutHideOverlay" functions -are not implemented in freeglut . - -

Usage

- -

void glutShowOverlay( void ) ; -
- void glutHideOverlay( void ) ; -

- -

Description

- -

The "glutShowOverlay" and " -glutHideOverlay" functions are not implemented in freeglut . -

- -

Changes From GLUT

- -

GLUT implements these functions.

- -

10.0  - Menu Functions

- -

10.1  glutCreateMenu

- -

10.2  glutDestroyMenu

- -

10.3  glutGetMenu, glutSetMenu

- -

10.4  glutAddMenuEntry

- -

10.5  glutAddSubMenu

- -

10.6  glutChangeToMenuEntry

- -

10.7  glutChangeToSubMenu

- -

10.8  glutRemoveMenuItem

- -

10.9  glutAttachMenu, glutDetachMenu

- -

11.0  - Global Callback Registration Functions

- -

11.1  glutTimerFunc

- -

11.2  glutIdleFunc

- The "glutIdleFunc" function sets the global idle callback. -Freeglut calls the idle callback when there are no inputs from the user. - -

Usage

- -

void glutIdleFunc ( void (*func) -( void ) ) ;

- -

func    The new -global idle callback function

- -

Description

- -

The  "glutIdleFunc" function -specifies the function that freeglut will call to perform background -processing tasks such as continuous animation when window system events are -not being received.  If enabled, this function is called continuously -from freeglut while no events are received.  The callback function -has no parameters and returns no value.  Freeglut does not change -the current window or the current menu before invoking the idle -callback; programs with multiple windows or menus must explicitly set the - current window and current menu - and not rely on its current setting.
-     The amount of computation and rendering done in an idle -callback should be minimized to avoid affecting the program's interactive - response.  In general, no more than a single frame of rendering should - be done in a single invocation of an idle callback.
-     Calling "glutIdleFunc" with a NULL argument -disables the call to an idle callback.

- -

Changes From GLUT

- -

Application programmers should note that -if they have specified the "continue execution" action on window closure, - freeglut will continue to call the -idle callback after the user has closed a window by clicking on the "x" in -the window header bar.  If the idle callback renders a particular window -(this is considered bad form but is frequently done anyway), the programmer -should supply a window closure callback for that window which changes or disables -the idle callback.

- -

12.0  - Window-Specific Callback Registration Functions

- -

12.1  glutDisplayFunc

- -

12.2  glutOverlayDisplayFunc

- -

12.3  glutReshapeFunc

- -

12.4  glutCloseFunc

- -

12.5  glutKeyboardFunc

- -

12.6  glutSpecialFunc

- The "glutSpecialFunc" function sets the window's special key press - callback. Freeglut calls the special key press callback when the -user presses a special key. -

Usage

- -

void glutSpecialFunc ( void (*func) -( int key, int x, int y ) ) ;

- -

func    The window's -new special key press callback function
- key     The -key whose press triggers the callback
- x       - The x-coordinate of the mouse relative -to the window at the time the key is pressed
- y       - The y-coordinate of the mouse relative -to the window at the time the key is pressed

- -

Description

- -

The  "glutSpecialFunc" -function specifies the function that freeglut will call when the user -presses a special key on the keyboard.  The callback function has one -argument:  the name of the function to be invoked ("called back") at -the time at which the special key is pressed.  The function returns no -value.  Freeglut sets the current window to the window -which is active when the callback is invoked.  "Special keys" are the -function keys, the arrow keys, the Page Up and Page Down keys, and the Insert -key.  The Delete key is considered to be a regular key.
-     Calling "glutSpecialUpFunc" with a NULL argument -disables the call to the window's special key press callback.

- -

    The "key -" argument may take one of the following defined constant values:

- - - Changes From GLUT -

None.

- -

12.7  glutKeyboardUpFunc

- The "glutKeyboardUpFunc" function sets the window's key release - callback. Freeglut calls the key release callback when the user releases -a key. -

Usage

- -

void glutKeyboardUpFunc ( void (*func) -( unsigned char key, int x, int y ) ) ;

- -

func    The window's -new key release callback function
- key     The -key whose release triggers the callback
- x       - The x-coordinate of the mouse relative -to the window at the time the key is released
- y       - The y-coordinate of the mouse relative -to the window at the time the key is released

- -

Description

- -

The  "glutKeyboardUpFunc -" function specifies the function that freeglut will call when the -user releases a key from the keyboard.  The callback function has one -argument:  the name of the function to be invoked ("called back") at -the time at which the key is released.  The function returns no value.  - Freeglut sets the current window - to the window which is active when the callback is invoked.
-     While freeglut checks for upper or lower case -letters, it does not do so for non-alphabetical characters.  Nor does -it account for the Caps-Lock key being on.  The operating system may -send some unexpected characters to freeglut, such as "8" when the -user is pressing the Shift key.  Freeglut also invokes the callback -when the user releases the Control, Alt, or Shift keys, among others.  -Releasing the Delete key causes this function to be invoked with a value -of 127 for "key".
-     Calling "glutKeyboardUpFunc" with a NULL argument -disables the call to the window's key release callback.

- -

Changes From GLUT

- -

This function is not implemented in GLUT -versions before Version 4.  It has been designed to be as close to GLUT -as possible.  Users who find differences should contact the - freeglut Programming Consortium to -have them fixed.

- -

12.8  glutSpecialUpFunc

- The "glutSpecialUpFunc" function sets the window's special key -release callback. Freeglut calls the special key release callback -when the user releases a special key. -

Usage

- -

void glutSpecialUpFunc ( void (*func) -( int key, int x, int y ) ) ;

- -

func    The window's -new special key release callback function
- key     The -key whose release triggers the callback
- x       - The x-coordinate of the mouse relative -to the window at the time the key is released
- y       - The y-coordinate of the mouse relative -to the window at the time the key is released

- -

Description

- -

The  "glutSpecialUpFunc -" function specifies the function that freeglut will call when the -user releases a special key from the keyboard.  The callback function -has one argument:  the name of the function to be invoked ("called back") -at the time at which the special key is released.  The function returns -no value.  Freeglut sets the current window to the window -which is active when the callback is invoked.  "Special keys" are the -function keys, the arrow keys, the Page Up and Page Down keys, and the Insert -key.  The Delete key is considered to be a regular key.
-     Calling "glutSpecialUpFunc" with a NULL argument -disables the call to the window's special key release callback.

- -

    The "key -" argument may take one of the following defined constant values:

- - - Changes From GLUT -

This function is not implemented in GLUT -versions before Version 4.  It has been designed to be as close to GLUT -as possible.  Users who find differences should contact the - freeglut Programming Consortium to -have them fixed.

- -

12.9  glutMouseFunc

- -

12.10  glutMotionFunc, glutPassiveMotionFunc

- -

12.11  glutVisibilityFunc

- -

12.12  glutEntryFunc

- -

12.13  glutJoystickFunc

- -

12.14  glutSpaceballMotionFunc

- The "glutSpaceballMotionFunc" function is not implemented in - freeglut, although the library does -"answer the mail" to the extent that a call to the function will not produce -an error.. -

Usage

- -

void glutSpaceballMotionFunc ( void -(* callback)( int x, int y, int z ) ) ;

- -

Description

- -

The "glutSpaceballMotionFunc - " function is not implemented in freeglut.

- -

Changes From GLUT

- -

GLUT implements this function.

- -

12.15  glutSpaceballRotateFunc

- The "glutSpaceballRotateFunc" function is not implemented in - freeglut, although the library does -"answer the mail" to the extent that a call to the function will not produce -an error.. -

Usage

- -

void glutSpaceballRotateFunc ( void -(* callback)( int x, int y, int z ) ) ;

- -

Description

- -

The "glutSpaceballRotateFunc - " function is not implemented in freeglut.

- -

Changes From GLUT

- -

GLUT implements this function.

- -

12.16  glutSpaceballButtonFunc

- The "glutSpaceballButtonFunc" function is not implemented in - freeglut, although the library does -"answer the mail" to the extent that a call to the function will not produce -an error.. -

Usage

- -

void glutSpaceballButtonFunc ( void -(* callback)( int button, int updown ) ) ;

- -

Description

- -

The "glutSpaceballButtonFunc - " function is not implemented in freeglut.

- -

Changes From GLUT

- -

GLUT implements this function.

- -

12.17  glutButtonBoxFunc

- The "glutSpaceballButtonBoxFunc" function is not implemented -in freeglut, although the library does "answer the mail" to the extent -that a call to the function will not produce an error.. - -

Usage

- -

void glutSpaceballButtonBoxFunc ( -void (* callback)( int button, int updown ) ) ;

- -

Description

- -

The "glutSpaceballButtonBoxFunc - " function is not implemented in freeglut.

- -

Changes From GLUT

- -

GLUT implements this function.

- -

12.18  glutDialsFunc

- The "glutDialsFunc" function is not implemented in freeglut - , although the library does "answer the mail" to the extent that a call -to the function will not produce an error.. - -

Usage

- -

void glutDialsFunc ( void (* callback)( -int dial, int value ) ) ;

- -

Description

- -

The "glutDialsFunc" function -is not implemented in freeglut.

- -

Changes From GLUT

- -

GLUT implements this function.

- -

12.19  glutTabletMotionFunc

- The "glutTabletMotionFunc" function is not implemented in - freeglut, although the library does "answer the mail" to the extent -that a call to the function will not produce an error.. - -

Usage

- -

void glutTabletMotionFunc ( void -(* callback)( int x, int y ) ) ;

- -

Description

- -

The "glutTabletMotionFunc" function -is not implemented in freeglut.

- -

Changes From GLUT

- -

GLUT implements this function.

- -

12.20  glutTabletButtonFunc

- The "glutTabletButtonFunc" function is not implemented in - freeglut, although the library does "answer the mail" to the extent -that a call to the function will not produce an error.. - -

Usage

- -

void glutTabletButtonFunc ( void -(* callback)( int button, int updown, int x, int y ) ) ;

- -

Description

- -

The "glutTabletButtonFunc" function -is not implemented in freeglut.

- -

Changes From GLUT

- -

GLUT implements this function.

- -

12.21  glutMenuStatusFunc

- -

12.22  glutWindowStatusFunc

- -

13.0  - State Setting and Retrieval Functions

- -

13.1  glutSetOption

- -

13.2  glutGet

- - -

-The following state variables may be queried with "glutGet". -The returned value is an integer. -

- -

-These queries are with respect to the current window: -

- - - -

-These queries do not depend on the current window. -

- - - - -

13.3  glutDeviceGet

- -

13.4  glutGetModifiers

- -

13.5  glutLayerGet

- -

13.6  glutExtensionSupported

- -

13.7  glutGetProcAddress

-

glutGetProcAddress returns -a pointer to a named GL or freeglut function.

-

Usage

-

void *glutGetProcAddress ( const -char *procName ) ;

-

procName        - Name of an OpenGL or GLUT function. -

-

Description

-

glutGetProcAddress is useful -for dealing with OpenGL extensions. If an application calls OpenGL extension -functions directly, that application will only link/run with an OpenGL library -that supports the extension. By using a function pointer returned from glutGetProcAddress(), -the application will avoid this hard dependency and be more portable and interoperate -better with various implementations of OpenGL.

-

Both OpenGL functions and freeglut -functions can be queried with this function.

-

Changes From GLUT

- -

GLUT does not include this function. -

- -

14.0  - Font Rendering Functions

- Freeglut supports two types of font rendering:  bitmap fonts, - which are rendered using the "glBitmap" function call, and stroke - fonts, which are rendered as sequences of OpenGL line segments.  Because - they are rendered as bitmaps, the bitmap fonts tend to render more quickly - than stroke fonts, but they are less flexible in terms of scaling and rendering.  - Bitmap font characters are positioned with calls to the "glRasterPos* - " functions while stroke font characters use the OpenGL transformations -to position characters. -

    It should be noted -that freeglut fonts are similar but not identical to GLUT fonts.  -At the moment, freeglut fonts do not support the "`" (backquote) and -"|" (vertical line) characters; in their place it renders asterisks.

- -

    Freeglut supports -the following bitmap fonts:

- - - Freeglut calls "glRasterPos4v" to advance the cursor by -the width of a character and to render carriage returns when appropriate.  - It does not use any display lists in it rendering in bitmap fonts. - -

    Freeglut supports -the following stroke fonts:

- - - Freeglut does not use any display lists in its rendering of stroke - fonts.  It calls "glTranslatef" to advance the cursor by the -width of a character and to render carriage returns when appropriate. - -

14.1  glutBitmapCharacter

- The "glutBitmapCharacter" function renders a single bitmapped -character in the current window using the specified font. - -

Usage

- -

void glutBitmapCharacter ( void *font, -int character ) ;

- -

font        - The bitmapped font to use in rendering -the character
- character   The ASCII -code of the character to be rendered

- -

Description

- -

The  "glutBitmapCharacter - " function renders the given character in the specified bitmap font.  - Freeglut automatically sets the necessary -pixel unpack storage modes and restores the existing modes when it has finished.  -Before the first call to "glutBitMapCharacter " the application -program should call "glRasterPos*" to set the position of the character -in the window.  The "glutBitmapCharacter " function advances -the cursor position as part of its call to "glBitmap " and so the -application does not need to call "glRasterPos*" again for successive -characters on the same line.

- -

Changes From GLUT

- -

Nonexistent characters are rendered as -asterisks.  The rendering position in freeglut is apparently off -from GLUT's position by a few pixels vertically and one or two pixels horizontally. -

- -

14.2  glutBitmapString

- The "glutBitmapString" function renders a string of bitmapped -characters in the current window using the specified font. - -

Usage

- -

void glutBitmapString ( void *font, -char *string ) ;

- -

font      - The bitmapped font to use in rendering -the character string
- string    String -of characters to be rendered

- -

Description

- -

The  "glutBitmapString - " function renders the given character string in the specified bitmap font.  - Freeglut automatically sets the necessary -pixel unpack storage modes and restores the existing modes when it has finished.  -Before calling "glutBitMapString" the application program should -call "glRasterPos*" to set the position of the string in the window.  -The "glutBitmapString" function handles carriage returns.  -Nonexistent characters are rendered as asterisks.

- -

Changes From GLUT

- -

GLUT does not include this function. -

- -

14.3  glutBitmapWidth

- The "glutBitmapWidth" function returns the width in pixels of -a single bitmapped character in the specified font. - -

Usage

- -

int glutBitmapWidth ( void *font, -int character ) ;

- -

font        - The bitmapped font to use in calculating -the character width
- character   The ASCII -code of the character

- -

Description

- -

The  "glutBitmapWidth" -function returns the width of the given character in the specified bitmap -font.  Because the font is bitmapped, the width is an exact integer. -

- -

Changes From GLUT

- -

Nonexistent characters return the width -of an asterisk.

- -

14.4  glutBitmapLength

- The "glutBitmapLength" function returns the width in pixels of -a string of bitmapped characters in the specified font. - -

Usage

- -

int glutBitmapLength ( void *font, -char *string ) ;

- -

font    The bitmapped -font to use in calculating the character width
- string  String of characters -whose width is to be calculated

- -

Description

- -

The  "glutBitmapLength - " function returns the width in pixels of the given character string in -the specified bitmap font.  Because the font is bitmapped, the width -is an exact integer:  the return value is identical to the sum of the -character widths returned by a series of calls to "glutBitmapWidth -".  The width of nonexistent characters is counted to be the width of -an asterisk.

- -

    If the string contains -one or more carriage returns, freeglut calculates the widths in pixels -of the lines separately and returns the largest width.

- -

Changes From GLUT

- -

GLUT does not include this function. -

- -

14.5  glutBitmapHeight

- The "glutBitmapHeight" function returns the height in pixels of - the specified font. -

Usage

- -

int glutBitmapHeight ( void *font -) ;

- -

font        - The bitmapped font to use in calculating -the character height

- -

Description

- -

The  "glutBitmapHeight - " function returns the height of a character in the specified bitmap font.  -Because the font is bitmapped, the height is an exact integer.  The fonts -are designed such that all characters have (nominally) the same height. -

- -

Changes From GLUT

- -

GLUT does not include this function. -

- -

14.6  glutStrokeCharacter

- The "glutStrokeCharacter" function renders a single stroke character - in the current window using the specified font. - -

Usage

- -

void glutStrokeCharacter ( void *font, -int character ) ;

- -

font        - The stroke font to use in rendering -the character
- character   The ASCII -code of the character to be rendered

- -

Description

- -

The  "glutStrokeCharacter - " function renders the given character in the specified stroke font.  -Before the first call to "glutStrokeCharacter" the application program -should call the OpenGL transformation (positioning and scaling) functions -to set the position of the character in the window.  The "glutStrokeCharacter - " function advances the cursor position by a call to "glTranslatef - " and so the application does not need to call the OpenGL positioning functions - again for successive characters on the same line.

- -

Changes From GLUT

- -

Nonexistent characters are rendered as -asterisks.

- -

14.7  glutStrokeString

- The "glutStrokeString" function renders a string of characters -in the current window using the specified stroke font. - -

Usage

- -

void glutStrokeString ( void *font, -char *string ) ;

- -

font      - The stroke font to use in rendering -the character string
- string    String -of characters to be rendered

- -

Description

- -

The  "glutStrokeString - " function renders the given character string in the specified stroke font.  -Before calling "glutStrokeString" the application program should -call the OpenGL transformation (positioning and scaling) functions to set -the position of the string in the window.  The "glutStrokeString - " function handles carriage returns.  Nonexistent characters are rendered -as asterisks.

- -

Changes From GLUT

- -

GLUT does not include this function. -

- -

14.8  glutStrokeWidth

- The "glutStrokeWidth" function returns the width in pixels of -a single character in the specified stroke font. - -

Usage

- -

int glutStrokeWidth ( void *font, -int character ) ;

- -

font        - The stroke font to use in calculating -the character width
- character   The ASCII -code of the character

- -

Description

- -

The  "glutStrokeWidth" -function returns the width of the given character in the specified stroke -font.  Because the font is a stroke font, the width is actually a floating-point -number; the function rounds it to the nearest integer for the return value. -

- -

Changes From GLUT

- -

Nonexistent characters return the width -of an asterisk.

- -

14.9  glutStrokeLength

- The "glutStrokeLength" function returns the width in pixels of -a string of characters in the specified stroke font. - -

Usage

- -

int glutStrokeLength ( void *font, -char *string ) ;

- -

font    The stroke -font to use in calculating the character width
- string  String of characters -whose width is to be calculated

- -

Description

- -

The  "glutStrokeLength - " function returns the width in pixels of the given character string in -the specified stroke font.  Because the font is a stroke font, the width -of an individual character is a floating-point number.  Freeglut - adds the floating-point widths and rounds the funal result to return the -integer value.  Thus the return value may differ from the sum of the -character widths returned by a series of calls to "glutStrokeWidth - ".  The width of nonexistent characters is counted to be the width -of an asterisk.

- -

    If the string contains -one or more carriage returns, freeglut calculates the widths in pixels -of the lines separately and returns the largest width.

- -

Changes From GLUT

- -

GLUT does not include this function. -

- -

14.10  glutStrokeHeight

- The "glutStrokeHeight" function returns the height in pixels of - the specified font. -

Usage

- -

GLfloat glutStrokeHeight ( void *font -) ;

- -

font        - The stroke font to use in calculating -the character height

- -

Description

- -

The  "glutStrokeHeight - " function returns the height of a character in the specified stroke font.  -The application programmer should note that, unlike the other freeglut - font functions, this one returns a floating-point number.  The fonts -are designed such that all characters have (nominally) the same height.

- -

Changes From GLUT

- -

GLUT does not include this function. -

- -

15.0  - Geometric Object Rendering Functions

- Freeglut includes eighteen routines for generating easily-recognizable - 3-d geometric objects.  These routines are effectively the same ones - that are included in the GLUT library, and reflect the functionality available - in the aux toolkit described in the OpenGL Programmer's Guide - .  They are included to allow programmers to create with a single -line of code a three-dimensional object which can be used to test a variety -of OpenGL functionality.  None of the routines generates a display list -for the object which it draws.  The functions generate normals appropriate -for lighting but, except for the teapon functions, do not generate texture -coordinates. -

15.1  glutWireSphere, glutSolidSphere

- The "glutWireSphere" and "glutSolidSphere" functions -draw a wireframe and solid sphere respectively. - -

Usage

- -

void glutWireSphere ( GLdouble dRadius, -GLint slices, GLint stacks ) ;

- -

void glutSolidSphere ( GLdouble dRadius, -GLint slices, GLint stacks ) ;

- -

dRadius       - The desired radius of the sphere

- -

slices        - The desired number of slices (divisions -in the longitudinal direction) in the sphere

- -

stacks        - The desired number of stacks (divisions -in the latitudinal direction) in the sphere.  The number of points in -this direction, including the north and south poles, is stacks+1 -

- -

Description

- -

The "glutWireSphere" and " - glutSolidSphere" functions render a sphere centered at the origin -of the modeling coordinate system.  The north and south poles of the -sphere are on the positive and negative Z-axes respectively and the prime -meridian crosses the positive X-axis.

- -

Changes From GLUT

- -

None that we know of.

- -

15.2  glutWireTorus, glutSolidTorus

- The "glutWireTorus" and "glutSolidTorus" functions draw - a wireframe and solid torus (donut shape) respectively. - -

Usage

- -

void glutWireTorus ( GLdouble dInnerRadius, -GLdouble dOuterRadius, GLint nSides, GLint nRings ) ;

- -

void glutSolidTorus ( GLdouble dInnerRadius, -GLdouble dOuterRadius, GLint nSides, GLint nRings ) ;

- -

dInnerRadius        - The desired inner radius of the torus, -from the origin to the circle defining the centers of the outer circles

- -

dOuterRadius        - The desired outer radius of the torus, -from the center of the outer circle to the actual surface of the torus

- -

nSides        - The desired number of segments in a -single outer circle of the torus

- -

nRings        - The desired number of outer circles -around the origin of the torus

- -

Description

- -

The "glutWireTorus" and " - glutSolidTorus" functions render a torus centered at the origin of -the modeling coordinate system.  The torus is circularly symmetric about -the Z-axis and starts at the positive X-axis.

- -

Changes From GLUT

- -

None that we know of.

- -

15.3  glutWireCone, glutSolidCone

- The "glutWireCone" and "glutSolidCone" functions draw -a wireframe and solid cone respectively. - -

Usage

- -

void glutWireCone ( GLdouble base, -GLdouble height, GLint slices, GLint stacks ) ;

- -

void glutSolidCone ( GLdouble base, -GLdouble height, GLint slices, GLint stacks ) ;

- -

base          - The desired radius of the base of the -cone

- -

height        - The desired height of the cone

- -

slices        - The desired number of slices around -the base of the cone

- -

stacks        - The desired number of segments between -the base and the tip of the cone (the number of points, including the tip, -is stacks + 1)

- -

Description

- -

The "glutWireCone" and " - glutSolidCone" functions render a right circular cone with a base -centered at the origin and in the X-Y plane and its tip on the positive Z-axis.  -The wire cone is rendered with triangular elements.

- -

Changes From GLUT

- -

None that we know of.

- -

15.4  glutWireCube, glutSolidCube

- The "glutWireCube" and "glutSolidCube" functions draw -a wireframe and solid cube respectively. - -

Usage

- -

void glutWireCube ( GLdouble dSize -) ;

- -

void glutSolidCube ( GLdouble dSize -) ;

- -

dSize         - The desired length of an edge of the -cube

- -

Description

- -

The "glutWireCube" and " - glutSolidCube" functions render a cube of the desired size, centered -at the origin.  Its faces are normal to the coordinate directions.

- -

Changes From GLUT

- -

None that we know of.

- -

15.5  glutWireTetrahedron, glutSolidTetrahedron

- The "glutWireTetrahedron" and "glutSolidTetrahedron" -functions draw a wireframe and solid tetrahedron (four-sided Platonic solid) -respectively. -

Usage

- -

void glutWireTetrahedron ( void ) -;

- -

void glutSolidTetrahedron ( void -) ;

- -

Description

- -

The "glutWireTetrahedron" and -"glutSolidTetrahedron" functions render a tetrahedron whose corners -are each a distance of one from the origin.  The length of each side -is 2/3 sqrt(6).  One corner is on the positive X-axis and another is -in the X-Y plane with a positive Y-coordinate.

- -

Changes From GLUT

- -

None that we know of.

- -

15.6  glutWireOctahedron, glutSolidOctahedron

- The "glutWireOctahedron" and "glutSolidOctahedron" functions - draw a wireframe and solid octahedron (eight-sided Platonic solid) respectively. - -

Usage

- -

void glutWireOctahedron ( void ) -;

- -

void glutSolidOctahedron ( void ) -;

- -

Description

- -

The "glutWireOctahedron" and -"glutSolidOctahedron" functions render an octahedron whose corners -are each a distance of one from the origin.  The length of each side -is sqrt(2).  The corners are on the positive and negative coordinate -axes.

- -

Changes From GLUT

- -

None that we know of.

- -

15.7  glutWireDodecahedron, glutSolidDodecahedron

- The "glutWireDodecahedron" and "glutSolidDodecahedron -" functions draw a wireframe and solid dodecahedron (twelve-sided Platonic -solid) respectively. -

Usage

- -

void glutWireDodecahedron ( void -) ;

- -

void glutSolidDodecahedron ( void -) ;

- -

Description

- -

The "glutWireDodecahedron" and -"glutSolidDodecahedron" functions render a dodecahedron whose corners -are each a distance of sqrt(3) from the origin.  The length of each -side is sqrt(5)-1.  There are twenty corners; interestingly enough, -eight of them coincide with the corners of a cube with sizes of length 2. -

- -

Changes From GLUT

- -

None that we know of.

- -

15.8  glutWireIcosahedron, glutSolidIcosahedron

- The "glutWireIcosahedron" and "glutSolidIcosahedron" -functions draw a wireframe and solid icosahedron (twenty-sided Platonic solid) -respectively. -

Usage

- -

void glutWireIcosahedron ( void ) -;

- -

void glutSolidIcosahedron ( void -) ;

- -

Description

- -

The "glutWireIcosahedron" and -"glutSolidIcosahedron" functions render an icosahedron whose corners -are each a unit distance from the origin.  The length of each side is -slightly greater than one.  Two of the corners lie on the positive and -negative X-axes.

- -

Changes From GLUT

- -

None that we know of.

- -

15.7  glutWireRhombicDodecahedron, -glutSolidRhombicDodecahedron

- The "glutWireRhombicDodecahedron" and "glutSolidRhombicDodecahedron - " functions draw a wireframe and solid rhombic dodecahedron (twelve-sided - semi-regular solid) respectively. -

Usage

- -

void glutWireRhombicDodecahedron -( void ) ;

- -

void glutSolidRhombicDodecahedron -( void ) ;

- -

Description

- -

The "glutWireRhombicDodecahedron - " and "glutSolidRhombicDodecahedron" functions render a rhombic -dodecahedron whose corners are at most a distance of one from the origin.  -The rhombic dodecahedron has faces which are identical rhombuses (rhombi?) -but which have some vertices at which three faces meet and some vertices at -which four faces meet.  The length of each side is sqrt(3)/2.  Vertices -at which four faces meet are found at (0, 0, +1) and ( +sqrt(2)/2, - +sqrt(2)/2, 0).

- -

Changes From GLUT

- -

GLUT does not include these functions. -

- -

15.10  glutWireTeapot, glutSolidTeapot

- The "glutWireTeapot" and "glutSolidTeapot" functions -draw a wireframe and solid teapot respectively. - -

Usage

- -

void glutWireTeapot ( GLdouble dSize -) ;

- -

void glutSolidTeapot ( GLdouble dSize -) ;

- -

dSize         - The desired size of the teapot

- -

Description

- -

The "glutWireTeapot" and " - glutSolidTeapot" functions render a teapot of the desired size, centered -at the origin.  This is the famous OpenGL teapot [add reference].

- -

Changes From GLUT

- -

None that we know of.

- -

16.0  - Game Mode Functions

- -

16.1  glutGameModeString

- -

16.2  glutEnterGameMode, glutLeaveGameMode

- -

16.3  glutGameModeGet

- -

17.0  - Video Resize Functions

- -

17.1  glutVideoResizeGet

- -

17.2  glutSetupVideoResizing, -glutStopVideoResizing

- -

17.3  glutVideoResize

- -

17.4  glutVideoPan

- -

18.0  - Color Map Functions

- -

18.1  glutSetColor, glutGetColor

- -

18.2  glutCopyColormap

- -

19.0  - Miscellaneous Functions

- -

19.1  glutIgnoreKeyRepeat, glutSetKeyRepeat

- -

19.2  glutForceJoystickFunc

- -

19.3  glutReportErrors

- -

20.0  - Usage Notes

- -

The following environment variables -are recognized by freeglut:

- -

21.0  - Implementation Notes

- -

22.0  -GLUT State

- -

23.0  -"freeglut.h" Header File

- - -

-Application programmers who are porting their GLUT programs to freeglut may continue -to include <GL/glut.h> in their programs. -Programs which use the freeglut-specific extensions to GLUT should include -<GL/freeglut.h>. One possible arrangement is as follows: -

- -
-#ifdef FREEGLUT
-#include <GL/freeglut_ext.h>
-#else
-#include <GL/glut.h>
-#endif
-
- -

-Compile-time freeglut version testing can be done as follows: -

- -
-#ifdef FREEGLUT_VERSION_2_0
-  code specific to freeglut 2.0 or later here
-#endif
-
- -

-In future releases, FREEGLUT_VERSION_2_1, FREEGLUT_VERSION_2_2, etc will -be defined. This scheme mimics OpenGL conventions. -

- -

-The freeglut version can be queried at runtime by calling -glutGet(GLUT_VERSION). -The result will be X*10000+Y*100+Z where X is the major version, Y is the -minor version and Z is the patch level. -

-

-This may be used as follows: -

- -
-if (glutGet(GLUT_VERSION) < 20001) {
-    printf("Sorry, you need freeglut version 2.0.1 or later to run this program.\n");
-    exit(1);
-}
-
- - - -

24.0  -References

- -

25.0  -Index

-  -

 
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  

- - - diff --git a/gtk+-mingw/share/doc/freeglut-2.8.0/index.html b/gtk+-mingw/share/doc/freeglut-2.8.0/index.html deleted file mode 100644 index d511a9b..0000000 --- a/gtk+-mingw/share/doc/freeglut-2.8.0/index.html +++ /dev/null @@ -1,101 +0,0 @@ - - -The freeglut project - - - - - - - - -
- -
The freeglut logo
-
The free OpenGL utility toolkit
- -
- -
- -

-
Hosted at SourceForge
-
- -
- - - - diff --git a/gtk+-mingw/share/doc/freeglut-2.8.0/ogl_sm.png b/gtk+-mingw/share/doc/freeglut-2.8.0/ogl_sm.png deleted file mode 100644 index 80baefc..0000000 Binary files a/gtk+-mingw/share/doc/freeglut-2.8.0/ogl_sm.png and /dev/null differ diff --git a/gtk+-mingw/share/doc/freeglut-2.8.0/progress.html b/gtk+-mingw/share/doc/freeglut-2.8.0/progress.html deleted file mode 100644 index 8a84483..0000000 --- a/gtk+-mingw/share/doc/freeglut-2.8.0/progress.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - The freeglut project - - - -
The freeglut logo
-
-I love reports. They are so full of brightness and hope... -
- -

- -

January the 16th, 2000 - -

It looks like both X11 and Win32 version have reached a comparable usability stage. -They are still missing many GLUT API 3 features, but the number is getting smaller and -smaller every day :) - -

  • input devices
  • - -

    Keyboard and mouse seems to work well. There is a big guess about the mouse buttons -count under X11 (always 3) -- I must remember to correct the menu activation code if -this shows to be invalid. - -

    None of the bizarre input devices found in GLUT API is supported (and probably won't). - -

    Steve Baker contributed the joystick code. It should work fine, as it did in PLIB, -but I haven't tested it out yet. It might not compile under FreeBSD, as I had to -convert it from C++ to C and had no possibility to compile it under FreeBSD (the Win32 -version had some typos, but I've already fixed them). - -

  • pull-down menus
  • - -

    Pull down menus seem to work. The menu is displayed using OpenGL, so it requires -the window's contents to be refreshed at an interactive rate, which sometimes does not -happen. That's why I'll consider adding optional window-system menu navigation later. -For now -- extensive testing is what I believe should be done with the menu system. - -

  • fonts
  • - -

    Bitmap fonts support is done. However it would be good to add two more API functions --- glutBitmapString() and glutStrokeString(), which should limit the quantity of state -changes when drawing longer strings. - -

    Good that somebody finally told me where to get the stroke fonts data from... XFree86 -sources contain the ROMAN and MONO ROMAN stroke fonts data. For now stroke fonts are -rendered using the bitmap font GLUT_BITMAP_8_BY_13. - -

    What has changed is the way the fonts are specified. I moved to the GLUT's strange -way of supplying (fake for freeglut) font data pointers instead of some nice enums. -Hope it helps in achieving the binary compatibility between freeglut and GLUT. - -

    Added two new API calls: glutBitmapHeight() and glutStrokeHeight(), that return -a font's height. Hope this doesn't break the GLUT compatibility a lot. - -

  • mouse cursor
  • - -

    Need to have own cursor shapes, so that freeglut can pass them to the windowing -system, draw them using glBitmap() and/or texture mapping. The cursor shapes are very -probable to be found in XFree86 sources. - -

  • indexed color mode
  • - -

    This might work, however I have not tested it yet. glutGetColor/glutSetColor is not -implemented. Again, looks like a single Xlib call, but there might be some problems -with the colormap access. Need to switch into indexed color mode some day and check it -out (does Mesa 3.1 work with indexed color mode?) - -

  • planes
  • - -

    Overlays are not supported, but one of the GLUT conformance tests fails due to -glutLayerGet( GLUT_NORMAL_DAMAGED ) returning FALSE when the window has actually -been damaged. - -

    Layers would be good for drawing the menus and mouse cursor, as they wouldn't force -the application redraw to update their state. - -

  • init display string
  • - -

    I am in middle of the fight with the init display string. It's parsing OK, now it -would be cool to make it impress some effects on the display... - -

  • game mode
  • - -

    Is the game mode string parsed correctly? - -

  • geometry
  • - -

    Andreas Umbach has contributed the cube and sphere code. The teapot rendering is -done using free SGI code. I have also added the cone rendering, however it is missing -normal vectors (just as Andrea's wireframed cube does). All of the glut*hedron() -functions await to be implemented. - -

  • obvious bugs
  • - -

      -
    1. -the visibility/window status function is a conceptual mess. I had to peer into the GLUT -source code to see what actually happens inside. It helped me a bit, but still one of -the visibility tests fails. This is probably the reason for which a window covered by -enlightenment status bar is marked as hidden and does not get redrawn.
    2. - -
    3. -GLX 1.3 spec states that glXChooseVisual() et consortes are deprecated. Should move to -glXFBConfig.
    4. - -
    5. -need to investigate what happens when initial window position is set to (-1,-1). GLUT -specification says, that the window positioning should be left to the window system. -And I do not know how to force it do so...
    6. - -
    7. -I was told it is wrong to have the redisplay forced in the main loop. Is that right?
    8. - -

  • not so obvious bugs
  • - -

      -
    1. some of the tests freeze because they do not generate the glutPostRedisplay() call -every frame. Again, this is somehow handled by GLUT, but I can't see how. And why. - -

      Looks like I've fixed it (or rather hacked it?) by forcing a redisplay every -frame, but this is no good and kills interactiveness of my console :D

    2. - -
- -Back to the main page - -
- diff --git a/gtk+-mingw/share/doc/freeglut-2.8.0/structure.html b/gtk+-mingw/share/doc/freeglut-2.8.0/structure.html deleted file mode 100644 index a460567..0000000 --- a/gtk+-mingw/share/doc/freeglut-2.8.0/structure.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - The freeglut project - - - -
The freeglut logo
-
-I've got a master plan (to take your API down)... -
- -

- -

After that I get the freeglut Windows port working in an acceptable manner and thus -getting assured that the freeglut internal structure is valid, I will split the project -into three separate parts, listed below. - -

  • freeglut-common
  • - -

    The least common denominator between the two freeglut versions. This will probably -contain most of the internal structure of the toolkit, notably the windows and menu -hierarchy, and possibly some private helpers. - -

  • freeglut-1.3
  • - -

    The GLUT API 3 compatible library. This is what's can be found now in the alpha -release (apart from the bugs, naturally :D). - -

  • freeglut-2.0
  • - -

    Hopefully this will be what GLUT should have been from the beginning. I will give -a try to design a much more coherent API than GLUT's, aiming at fast games prototyping. -Suggestions are welcome.

- -

Here's a list of propositions I have received so far. Hopefully this some day -turns into an API spefication proposal, not just a bunch of meaningless phrases...
- -

  • glutBitmapHeight() and glutStrokeHeight() -- I have added them to the -freeglut-1.3 API, they are already implemented and should work fine,
  • -
  • glutBitmapString() and glutStrokeString(), to write (multiple-line maybe) -strings, starting from the current raster position, using some simple formatting -maybe (changing the color, font, etc.?)
  • -
  • texture mapped fonts -- this is easy and could be added to freeglut-1.3, but -would require adding the...
  • -
  • glutHint() function to tell freeglut to: use bitmapped/texture mapped fonts, -draw the menus and mouse cursor using OpenGL/window system, and stuff...
  • -
  • glutMainLoop() termination and glutMainLoopStep() function, which should -perform a single check of pending events, so that one can have his own main loop,
  • -
  • multiple joysticks support with multiple axes, buttons, hats, etc. It is a real -good thing to do, yet the API to do the magic might result in being really twisted,
  • -
  • glutModifierFunc() could be added, or glutGetModifierState() should be allowed -to be called anywhere from the client's code
  • - -

    We might also think about:
    - -

  • freeglut-2.0 modularity via plugins, so that only the features that one -needs get loaded (plugins are easily supported by GLib),
  • -
  • OpenGL state management functions,
  • -
  • audio support -- using OpenAL maybe?,
  • -
  • a real menu system, not only the popups
  • -
  • non-OpenGL but portable UI, something like Java Swing
  • -
  • window-closing confirmation box (this is related to the above)
  • - -

    Following ideas are bad for freeglut:
    - -

  • more accurate timers under Win32 -- this goes to the GLib development afaik
  • -
  • portable file I/O, portable threads, plugins/modules -- this is already -done in GLib
  • - -

    Back to the main page - -
    - -- cgit v1.2.3