Type, API. License · X Consortium. Website, FreeGLUT is an open-source alternative to the OpenGL Utility Toolkit (GLUT) library. These kept the API (all gluts functions are usually implemented exactly with the Two of the most common GLUT replacements are OpenGLUT and freeGLUT. It looks to me that Ubuntu has provided everything that the original web site http:// has provided. The api documentation.

Author: Tekasa Mukazahn
Country: Tanzania
Language: English (Spanish)
Genre: Automotive
Published (Last): 10 January 2010
Pages: 54
PDF File Size: 6.40 Mb
ePub File Size: 8.37 Mb
ISBN: 123-9-39399-824-7
Downloads: 55995
Price: Free* [*Free Regsitration Required]
Uploader: Kemuro

The glutSpecialFunc function specifies the function that freeglut will call when the user presses a special key on the keyboard. The window can thus be retrieved in the callback using glutGetWindow.

The glutBitmapString function handles carriage returns. It will call any application callback functions as required to process mouse clicks, mouse motion, key presses, and so on. While freeglut checks for upper or lower case letters, it does not do so for non-alphabetical characters.

Thus the return value may differ from the sum of the character widths returned by a series of calls to glutStrokeWidth. 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. Complaints about the lack of control on the event loop are abundant on the web. The glutPositionFunc function sets the window’s position callback. Releasing the Delete key causes this function to be invoked with a value of for key.


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. The rendering position in freeglut is apparently off from GLUT’s position by a few pixels vertically and one or two pixels horizontally. The glutWireTorus and glutSolidTorus functions draw a wireframe and solid torus donut shape respectively.

The following state variables may be queried with glutGet.


It should be noted that freeglut fonts are similar but not identical to GLUT fonts. The main differences that I found are as follows: The glutInitWindowPosition and glutInitWindowSize functions specify a desired position and size for windows that freeglut will create in the future.

If the reader needs overlays, he should contact the freeglut Programming Consortium and ask for them to be implemented. So instead of having: If you want to write your own event loop I suggest you drop the idle func and use the following event processing cycle: This frerglut useful for multiple window setups.

The glutWireCone and glutSolidCone functions draw a wireframe and solid cone respectively. Freeglut provides yet another useful function to end the event loop: Lastly, to support drawing these objects with shaders, three functions have been added with which users can provide the addresses of the Coordinate, Normal and Texture Coordinate vertex attribs: Freeglut calls the idle callback when there are no inputs from the user.

Not all window managers support such finegrained callback messages or can even ensure basic correctness.

This allows the application to control its own event loop freetlut still use the freeglut windowing system. Freeglut provides full control of the event loop. The first, glutMainLoopEventprocesses a single iteration of the event loop and allows the application to use a different event loop controller or to contain re-entrant code.


GLUT and FreeGLUT »

The functions zpi normals appropriate for lighting but, except for the teapot functions, do not generate texture coordinates. One possible arrangement is as follows:. The width of nonexistent characters is counted to be the width of an asterisk. The glutMainLoopEvent function causes freeglut to process one iteration’s worth of events in its event loop. Kilgard stopped supporting the GLUT library inhaving moved on to bigger and better things, this started to become a problem. Furthermore GLUT last release was back in the last century….

If key repeat is globally switched off through glutSetKeyRepeatit cannot be reenabled on a per-window basis with glutIgnoreKeyRepeat. Freeglut calls the key release callback when the user releases a key.

One corner is on the positive X-axis and another is in the X-Y freelgut with a positive Y-coordinate. The glutFullScreen function causes the current window to enter fullscreen mode, glutLeaveFullScreen to go back to the window size and position as it was before entering fullscreen mode, and glutFullScreenToggle toggles between fullscreen and normal mode.