OpenGL® libraries come in different types, including core libraries, utility libraries, hardware manufacturer libraries, and user-created libraries. The core libraries provide access to graphics hardware, while utility libraries group low-level functions into higher-level calls. Hardware manufacturer libraries improve performance or support special effects, and user-created libraries aid in rapid application development. All libraries are based on the main libraries, and some share the same name but may contain different functionality.
There are several types of Open Graphics Library® (OpenGL®) libraries that can be installed and used on computer systems, and most of them meet the specific needs of graphics programmers. The first type includes the core OpenGL® libraries, which contain approximately 120 commands to allow access to graphics hardware, although these OpenGL® libraries can be further subdivided depending on the platform they are intended to run on. Many utility libraries, some of which are almost always used by OpenGL® programmers, have been created to help group very low-level functions into single higher-level calls for convenience and code clarity. Occasionally there are OpenGL® libraries developed by specific graphics hardware manufacturers to help improve performance or support special effects that the hardware runs natively. There are also top-level user-created libraries that have been spawned from larger projects and are distributed to aid in rapid application development.
The basic OpenGL® libraries are required for developing and implementing programs that use OpenGL® to render graphics. They allow programs to use a common abstract programming interface (API) to call functions within the OpenGL® library, after which the library will interact directly with hardware drivers. The drivers then access the hardware directly, causing the display speed to increase. All other OpenGL® libraries are based on the main libraries.
Many of the commands used by the main libraries are quite low-level, so a number of utility libraries, also called toolkits, have been created. These group basic commands into more functional routines that take much of the repetition out of using OpenGL®. An example of using a utility library is drawing a circle, which might require several lines of code with only the OpenGL® core, but can be condensed into an optimized routine within a utility library such as OpenGL® Utility Toolkit (GLUT). Occasionally, some libraries share the same name but are ported for use on different operating systems or for different language bindings and may contain different functionality.
Some OpenGL® libraries are actually produced by hardware manufacturers. The extended libraries can be accessed via the OpenGL® extensions mechanism or directly with the APIs provided by the manufacturers. These types of libraries don’t always see widespread use due to their narrow target platforms and because very popular extensions are often folded into the main libraries.
There are also programmer- and user-created OpenGL® libraries that are not associated with the core libraries or any hardware. These libraries are often released so that other programmers who are creating certain types of science, math, or entertainment applications can take advantage of having a framework to build upon. There are also community-derived libraries that conveniently add interactivity and program logic to other libraries.
Protect your devices with Threat Protection by NordVPN