



GLUT
What is GLUT?
GLUT is a short form for OpenGL Utility Toolkit. GLUT is a library of utilities for OpenGL programs, which primarily perform system-level I/O with the host operating system. Functions performed include window definition, window control, and monitoring of keyboard and mouse input. Routines for drawing a number of geometric primitives (both in solid and wireframe mode) are also provided, including cubes, spheres, and the Utah teapot. GLUT even has some limited support for creating pop-up menus.
How was GLUT formed?
GLUT was written by Mark J. Kilgard, author of OpenGL Programming for the X Window System and The Cg Tutorial: The Definitive Guide to Programmable Real-Time Graphics, while he was working for Silicon Graphics Inc.
Uses of GLUT
The two aims of GLUT are to allow the creation of rather portable code between operating systems (GLUT is cross-platform) and to make learning OpenGL easier. Getting started with OpenGL programming while using GLUT often takes only a few lines of code and does not require knowledge of operating system–specific windowing APIs.
Limitations
- The library requires programmers to call glutMainLoop(), a function which never returns. This makes it hard for programmers to integrate GLUT into a program or library which wishes to have control of its own event loop.
- The fact that glutMainLoop() never returns also means that a GLUT program cannot exit the event loop. freeglut fixes this by introducing a new function, glutLeaveMainLoop().
- The library terminates the process when the window is closed; for some applications this may not be desired. Thus, many implementations include an extra callback, such as glutWMCloseFunc().
Note:*All GLUT functions start with the glut prefix (for example, glutPostRedisplay marks the current window as needing to be redrawn).
FREEGLUT
What is FREEGLUT?
What is FREEGLUT?
Freeglut is a completely OpenSourced alternative to the GLUT library. GLUT (and hence freeglut) allows the user to create and manage windows containing OpenGL contexts on a wide range of platforms and also read the mouse, keyboard and joystick functions. Freeglut is intended to be a full replacement for GLUT, and has only a few differences.
How was FREEGLUT formed?
Freeglut was originally written by Pawel W. Olszta with contributions from Andreas Umbach and Steve Baker. Since Pawel ceased working in 3D graphics, he passed the baton to Steve Baker. Steve is now the official owner/maintainer of freeglut, although John Fay does most of the day-to-day work. Pawel started Freeglut development on December 1st, 1999. The project is now virtually a 100% replacement for the original GLUT with only a few departures (such as the abandonment of SGI-specific features such as the Dials&Buttons box and Dynamic Video Resolution) and a shrinking set of bugs. Freeglut contains a few enhancements over the original GLUT - but as a matter of policy, no further significant features will be added.
OVERALL
FREEGULT VS. GLUT
Freeglut is now very stable and has fewer bugs than the original GLUT. However, there are places where the original GLUT specification did not make clear what order things like callbacks occur and it is possible for application programs that work under GLUT to fail under freeglut because they assume something that GLUT never guaranteed to be true.
No comments:
Post a Comment