FreeGLUT

Last updated
freeglut
Freeglut logo.png
Official logo
Developer(s) Paweł W. Olszta
Stable release
3.2.2 / February 6, 2022;37 days ago (2022-02-06)
Written in C
Operating system Cross-platform
Type API
License X Consortium
Website freeglut.sourceforge.net

FreeGLUT is an open-source alternative to the OpenGL Utility Toolkit (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.

Contents

Since GLUT has gone into stagnation, FreeGLUT is in development to improve the toolkit. It is released under the MIT License.

History

FreeGLUT was originally written by Paweł W. Olszta with contributions from Andreas Umbach and Steve Baker. Since Paweł ceased working in 3D graphics, he passed the baton to Steve Baker. The current maintainers of FreeGLUT are John F. Fay, John Tsiombikas, and Diederick C. Niehorster.

Paweł started FreeGLUT development on December 1, 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.

In April 2015, FreeGLUT obtained initial support for the new Wayland display server protocol. [1]

OpenGLUT

Some members of the FreeGLUT team who wanted to add features forked the code to create OpenGLUT.

Development of OpenGLUT ceased in May 2005; the last release was OpenGLUT-0.6.3 in March 2005.

Status

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.

New revisions appear periodically; however, since it is now quite stable and no new features are planned, these updates are required less and less often. This would change if there was ever a new release of GLUT.

FreeGLUT is distributed instead of GLUT in some Linux distributions. Since it is upwards compatible at a binary level, programs compiled for GLUT can be linked to FreeGLUT without problems.

See also

Related Research Articles

OpenGL Utility Toolkit

The 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 are also provided, including cubes, spheres and the Utah teapot. GLUT also has some limited support for creating pop-up menus.

OpenGL Cross-platform graphics API

OpenGL is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardware-accelerated rendering.

X Window System Windowing system for bitmap displays on UNIX-like systems

The X Window System is a windowing system for bitmap displays, common on Unix-like operating systems.

The OpenGL Utility Library (GLU) is a computer graphics library for OpenGL.

Gambas Integrated development environment

Gambas is the name of an object-oriented dialect of the BASIC programming language, as well as the integrated development environment that accompanies it. Designed to run on Linux and other Unix-like computer operating systems, its name is a recursive acronym for Gambas Almost Means Basic. Gambas is also the word for prawns in the Spanish, French, and Portuguese languages, from which the project's logos are derived.

Motif (software)

In computing, Motif refers to both a graphical user interface (GUI) specification and the widget toolkit for building applications that follow that specification under the X Window System on Unix and Unix-like operating systems. The Motif look and feel is distinguished by its use of rudimentary square and chiseled three-dimensional effects for its various user interface elements.

GLX is an extension to the X Window System core protocol providing an interface between OpenGL and the X Window System as well as extensions to OpenGL itself. It enables programs wishing to use OpenGL to do so within a window provided by the X Window System. GLX distinguishes two "states": indirect state and direct state.

FLTK

Fast Light Toolkit is a cross-platform widget library for graphical user interfaces (GUIs), developed by Bill Spitzak and others. Made to accommodate 3D graphics programming, it has an interface to OpenGL, but it is also suitable for general GUI programming.

Game programming, a subset of game development, is the software development of video games. Game programming requires substantial skill in software engineering and computer programming in a given language, as well as specialization in one or more of the following areas: simulation, computer graphics, artificial intelligence, physics, audio programming, and input. For massively multiplayer online games (MMOGs), knowledge of additional areas such as network programming and database programming are required. Though often engaged in by professional game programmers, some may program games as a hobby.

Windows Forms Graphical user interface software library

Windows Forms (WinForms) is a free and open-source graphical (GUI) class library included as a part of Microsoft .NET, .NET Framework or Mono Framework, providing a platform to write client applications for desktop, laptop, and tablet PCs. While it is seen as a replacement for the earlier and more complex C++ based Microsoft Foundation Class Library, it does not offer a comparable paradigm and only acts as a platform for the user interface tier in a multi-tier solution.

Fox toolkit

The FOX toolkit is an open-source, cross-platform widget toolkit, i.e. a library of basic elements for building a graphical user interface (GUI). FOX stands for Free Objects for X.

Java OpenGL

Java OpenGL (JOGL) is a wrapper library that allows OpenGL to be used in the Java programming language. It was originally developed by Kenneth Bradley Russell and Christopher John Kline, and was further developed by the Sun Microsystems Game Technology Group. Since 2010, it has been an independent open-source project under a BSD license. It is the reference implementation for Java Bindings for OpenGL (JSR-231).

The IUP Portable User Interface is a computer software development kit that provides a portable, scriptable toolkit to build graphical user interfaces (GUIs) using the programming languages C, Perl, Lua, Nim and Zig, among others. This allows rapid, zero-compile prototyping and refinement of deployable GUI applications.

Clutter is a GObject-based graphics library for creating hardware-accelerated user interfaces. Clutter is an OpenGL-based 'interactive canvas' library and does not contain any graphical control elements. It relies upon OpenGL (1.4+) or OpenGL ES for rendering,. It also supports media playback using GStreamer and 2D graphics rendering using Cairo.

Wayland (display server protocol) Computer display server protocol

Wayland is a communication protocol that specifies the communication between a display server and its clients, as well as a C library implementation of that protocol. A display server using the Wayland protocol is called a Wayland compositor, because it additionally performs the task of a compositing window manager.

GTK Free and open-source cross-platform widget toolkit for creating graphical user interfaces

GTK is a free and open-source cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both free and proprietary software to use it. It is one of the most popular toolkits for the Wayland and X11 windowing systems.

GNOME Desktop environment for Linux and other Unix-like systems

GNOME, originally an acronym for GNU Network Object Model Environment, is a free and open-source desktop environment for Linux operating systems.

GLFW is a lightweight utility library for use with OpenGL. GLFW stands for Graphics Library Framework. It provides programmers with the ability to create and manage windows and OpenGL contexts, as well as handle joystick, keyboard and mouse input.

mpv (media player) Free and open-source media player software

mpv is free and open-source media player software based on MPlayer, mplayer2 and FFmpeg. It runs on several operating systems, including the Unix-like operating systems and the non-Unix Microsoft Windows, along with having an Android port called mpv-android. It is cross-platform, running on ARM, PowerPC, x86/IA-32, x86-64, and MIPS architecture.

References

  1. "Implement initial Wayland support".