Graphics library
A graphics library is a program library that provides a program with basic functions for graphics output. The best-known groups of such functions are:
- OpenGL , a standardized programming interface for 3D graphics
- Sprites , from the origins of computer games, a method of assigning every moving object on the screen to a sprite and detecting collisions between them
- Geometric functions such as circles, ellipses, filled rectangles, lines
- Window systems, menus, dialog windows, buttons
- Font output
The programmer mostly works with abstract objects, which are then converted to pixels by the respective library , whereby the group of 3D graphics, in contrast to their 2D counterparts , is converted into voxels or texels beforehand .
The latter in particular have learned their importance from the games area, but professional image processing, medical systems, pattern recognition and construction processes ( CAD ) have also been decisive for the development of many graphics functions.
Graphics libraries are to be distinguished from stand-alone applications for displaying images ( image processing ), data and functions ( function plotter ). Theoretically, such applications would only have to consist of a graphical user interface via which modules of a graphics library are accessed; historically, however, libraries and applications have mostly developed independently of one another.
Examples of graphics libraries
Historical libraries:
- Borland Graphics Interface (BGI, part of Turbo Pascal)
Multimedia libraries (also contain sound, network and input functions):
- DirectX - a collection of proprietary programming interfaces; Implementations are part of Microsoft Windows ; a free implementation is being developed within the Wine project
- Simple DirectMedia Layer (SDL)
2D graphics:
3D graphics:
- Mesa 3D - a free implementation of OpenGL, OpenGL ES, OpenVG, EGL and libwayland-EGL, GLX and Glide (as well as some free device drivers )
- Wine - a free implementation of the Win32 API, which also includes an implementation of Direct3D version 9
- Qt
- Microsoft Foundation Classes (MFC)
- Swing (Java)