X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=doc%2Ffreeglut_user_interface.html;h=20d1e42e596c50df39712a4decce82b0c5a8612b;hb=570dabfa0925fbaa32a4494239bfbb16eb64f87f;hp=6a633823d3ca19310d9c127c9bb1c20cd3dd66ba;hpb=bec227f153f60b8a314bd7defddd5e549b72bfa0;p=freeglut diff --git a/doc/freeglut_user_interface.html b/doc/freeglut_user_interface.html index 6a63382..20d1e42 100644 --- a/doc/freeglut_user_interface.html +++ b/doc/freeglut_user_interface.html @@ -19,7 +19,7 @@

OpenGL Utility Toolkit

-

(freeglut)

+

(freeglut 2.0.0)

Application Programming Interface

@@ -31,11 +31,11 @@
-

The freeglut Programming Consortium

+

The freeglut Programming Consortium

-

November, 2002

+

July, 2003


@@ -323,7 +323,7 @@ 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 +", 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, @@ -339,11 +339,10 @@ GLUT should simply exit (the default). 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 menu -state callback (with one argument, distinct from the menu status callback -which has three arguments), and a window status callback
- (also with one argument).  Unsupported callbacks are the three Spaceball -callbacks, the ButtonBox callback, the Dials callback, and the two Tablet +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.
@@ -356,8 +355,8 @@ pixels for bitmapped fonts and in OpenGL units for the stroke fonts.

3.4.5  Geometry Rendering

- Two functions have been added to render a wireframe and a solid rhombic -dodecahedron. + 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. @@ -1063,6 +1062,67 @@ is not implemented in freeglut.

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

@@ -1073,7 +1133,7 @@ is not implemented in freeglut.

13.7  glutGetProcAddress

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

+a pointer to a named GL or freeglut function.

Usage

void *glutGetProcAddress ( const char *procName ) ;

@@ -1087,10 +1147,13 @@ 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 +

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

-

NOTE: this function is not supported -in GLUT.

+

Changes From GLUT

+ +

GLUT does not include this function. +

+

14.0  Font Rendering Functions

Freeglut supports two types of font rendering:  bitmap fonts, @@ -1803,19 +1866,69 @@ goes in the upper left-hand corner of the freeglut windows

21.0  Implementation Notes

-

22.0  - GLUT State

- -

23.0  - "freeglut.h" Header File

- -

24.0  - References

- -

25.0  - Index

-   -

 
+

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

+  +