Graphics library: Difference between revisions
m Bot: link syntax |
|||
(20 intermediate revisions by 14 users not shown) | |||
Line 1: | Line 1: | ||
{{Short description|Program library for computer graphics}} |
|||
A '''graphics library''' is a [[Computer program|program]] [[Library (computing)|library]] designed to aid in rendering [[computer graphics]] to a monitor. This typically involves providing optimized versions of functions that handle common [[Rendering (computer graphics)|rendering]] tasks. This can be done purely in [[Computer software|software]] and running on the [[Central processing unit|CPU]], common in [[embedded system]]s, or being [[hardware accelerated]] by a [[Graphics processing unit|GPU]], more common in [[Personal computer|PCs]]. By employing these functions, a program can assemble an image to be output to a monitor. This relieves the programmer of the task of creating and optimizing these functions, and allows them to focus on building the graphics program. Graphics libraries are mainly used in [[video game]]s and [[Simulation video game|simulations]]. |
A '''graphics library''' or '''graphics [[application programming interface|API]]''' is a [[Computer program|program]] [[Library (computing)|library]] designed to aid in rendering [[computer graphics]] to a monitor. This typically involves providing optimized versions of functions that handle common [[Rendering (computer graphics)|rendering]] tasks. This can be done purely in [[Computer software|software]] and running on the [[Central processing unit|CPU]], common in [[embedded system]]s, or being [[hardware accelerated]] by a [[Graphics processing unit|GPU]], more common in [[Personal computer|PCs]]. By employing these functions, a program can assemble an image to be output to a monitor. This relieves the programmer of the task of creating and optimizing these functions, and allows them to focus on building the graphics program. Graphics libraries are mainly used in [[video game]]s and [[Simulation video game|simulations]]. |
||
The use of graphics libraries in connection with [[video production]] systems, such as [[Pixar RenderMan]], is not covered here. |
|||
{| class="wikitable" |
{| class="wikitable" |
||
Line 21: | Line 24: | ||
| Free, Apple |
| Free, Apple |
||
|- |
|- |
||
! |
! Linux |
||
| Free |
| Free |
||
| no |
| no |
||
Line 68: | Line 71: | ||
| no |
| no |
||
| no |
| no |
||
|- |
|||
!HarmonyOS |
|||
|Free |
|||
|no |
|||
|no |
|||
|no |
|||
|- |
|||
!OpenHarmony |
|||
|Free |
|||
|no |
|||
|no |
|||
|no |
|||
|} |
|} |
||
Some [[Application programming interface|APIs]] use Graphics Library (GL) in their name, notably [[OpenGL]] and [[WebGL]]. |
Some [[Application programming interface|APIs]] use Graphics Library (GL) in their name, notably [[OpenGL]] and [[WebGL]]. |
||
Line 73: | Line 88: | ||
==Examples== |
==Examples== |
||
* [[Allegro (software)|Allegro]] |
* [[Allegro (software)|Allegro]] |
||
* [[ANGLE (software)|ANGLE]] |
|||
* Apple Macintosh [[QuickDraw]] |
|||
* [[Cairo (graphics)]]<ref>{{Cite web|title = cairographics.org|url = http://cairographics.org|website = cairographics.org| |
* [[Cairo (graphics)]]<ref>{{Cite web|title = cairographics.org|url = http://cairographics.org|website = cairographics.org|access-date = 2016-01-03}}</ref> |
||
⚫ | |||
* [[Clutter (software)|Clutter]]<ref>{{Cite web|title = Clutter Project – Have fun!|url = http://clutter-project.org|website = clutter-project.org|accessdate = 2016-01-03}}</ref> |
|||
⚫ | |||
⚫ | |||
⚫ | * [[DirectX]]<ref>{{Cite web|url = https://msdn.microsoft.com/en-us/library/windows/desktop/ee663274(v=vs.85).aspx|title = DirectX |
||
* [[Display PostScript]] |
* [[Display PostScript]] |
||
* [[Segger Microcontroller Systems|emWin]]<ref>{{Cite web|url = https://www.lpcware.com/content/project/emwin-graphics-library|title = emWin Graphics Library {{!}} www.LPCware.com |
* [[Segger Microcontroller Systems|emWin]]<ref>{{Cite web|url = https://www.lpcware.com/content/project/emwin-graphics-library|title = emWin Graphics Library {{!}} www.LPCware.com|archive-url = https://web.archive.org/web/20160329073825/https://www.lpcware.com/content/project/emwin-graphics-library|archive-date = 2016-03-29|url-status = dead}}</ref> — an Embedded Graphics Library |
||
* [[FLTK]]<ref>{{Cite web|url = http://www.fltk.org|title = FLTK GUI and Graphics Library {{!}} www.fltk.org |
* [[FLTK]]<ref>{{Cite web|url = http://www.fltk.org|title = FLTK GUI and Graphics Library {{!}} www.fltk.org}}</ref> — GUI Toolkit and Graphics Library |
||
* [[GTK]] — a GUI toolkit |
|||
* [[Mesa 3D]]<ref>{{Cite web|url = http://www.mesa3d.org|title = The Mesa 3D Graphics Library|date = |accessdate = |website = |publisher = |last = |first = }}</ref> (a library that implements OpenGL) |
|||
* [[ |
* [[Mesa 3D]]<ref>{{Cite web|url = http://www.mesa3d.org|title = The Mesa 3D Graphics Library}}</ref> — a library that implements OpenGL and Vulkan |
||
* |
* [[Mobile 3D Graphics API]] |
||
* [[ |
* [[Qt (software)|Qt]]<ref>{{Cite web|url = http://www.qt.io|title = Qt - Home}}</ref> — cross-platform application framework |
||
* [[Quartz (graphics layer)]] |
|||
* [[Qt (software)|Qt]]<ref>{{Cite web|url = http://www.qt.io|title = Qt - Home|date = |accessdate = |website = |publisher = |last = |first = }}</ref> A cross-platform application framework |
|||
* [[SFML]]<ref>{{Cite web|url = http://www.sfml-dev.org|title = SFML |
* [[Simple and Fast Multimedia Library|SFML]]<ref>{{Cite web|url = http://www.sfml-dev.org|title = SFML}}</ref> |
||
* [http://www.libsigil.com SIGIL]<ref>{{Cite web|url=http://www.libsigil.com|title=SIGIL: Sound, Input, and Graphics Integration Library|website=www.libsigil.com|access-date=2016-06-21}}</ref> |
* [http://www.libsigil.com SIGIL]<ref>{{Cite web|url=http://www.libsigil.com|title=SIGIL: Sound, Input, and Graphics Integration Library|website=www.libsigil.com|access-date=2016-06-21}}</ref> — Sound, Input, and Graphics Integration Library |
||
* [[Simple DirectMedia Layer]]<ref>{{Cite web|url = https://www.libsdl.org|title = Simple DirectMedia Layer - Homepage |
* [[Simple DirectMedia Layer|Simple DirectMedia Layer (SDL)]]<ref>{{Cite web|url = https://www.libsdl.org|title = Simple DirectMedia Layer - Homepage}}</ref> |
||
* [[Skia Graphics Library]]<ref>{{Cite web|url = https://skia.org|title = Skia Graphics Library |
* [[Skia Graphics Library]]<ref>{{Cite web|url = https://skia.org|title = Skia Graphics Library}}</ref> |
||
* [[X Window System]] |
|||
==See also== |
==See also== |
||
* [[List of 3D graphics libraries]] |
|||
* [[Anti-Grain Geometry]] |
* [[Anti-Grain Geometry]] |
||
* [[Software development kit]] (SDK) |
* [[Software development kit]] (SDK) |
||
* [[OpenGL ES]] |
* [[OpenGL ES]] |
||
* [[Widget toolkit|Graphical Widget toolkit]] graphical control elements drawn on bitmap displays |
* [[Widget toolkit|Graphical Widget toolkit]] graphical control elements drawn on bitmap displays |
||
* [https://github.com/Praxinos/ULIS]|Utility Library for Imaging System |
|||
==References== |
==References== |
||
{{reflist}} |
|||
<references /> |
|||
{{Graphics Processing Unit}} |
{{Graphics Processing Unit}} |
||
Line 105: | Line 120: | ||
{{DEFAULTSORT:Graphics Library}} |
{{DEFAULTSORT:Graphics Library}} |
||
[[Category:Graphics libraries| ]] |
[[Category:Graphics libraries| ]] |
||
[[hu:Grafikus programkönyvtár]] |
Latest revision as of 23:26, 8 October 2024
A graphics library or graphics API is a program library designed to aid in rendering computer graphics to a monitor. This typically involves providing optimized versions of functions that handle common rendering tasks. This can be done purely in software and running on the CPU, common in embedded systems, or being hardware accelerated by a GPU, more common in PCs. By employing these functions, a program can assemble an image to be output to a monitor. This relieves the programmer of the task of creating and optimizing these functions, and allows them to focus on building the graphics program. Graphics libraries are mainly used in video games and simulations.
The use of graphics libraries in connection with video production systems, such as Pixar RenderMan, is not covered here.
OS | Vulkan | Direct X | GNMX | Metal |
---|---|---|---|---|
Windows 10 | Free, Nvidia and AMD | Free, MS | no | no |
Mac | Free, MoltenVK | no | no | Free, Apple |
Linux | Free | no | no | no |
Android | Free | no | no | no |
iOS | Free, MoltenVK | no | no | Free, Apple |
Tizen | in Development | no | no | no |
Sailfish | in Development | no | no | no |
Xbox One | no | Free | no | no |
Orbis OS (PS4) | no | no | Free | no |
Nintendo Switch | Free | no | no | no |
HarmonyOS | Free | no | no | no |
OpenHarmony | Free | no | no | no |
Some APIs use Graphics Library (GL) in their name, notably OpenGL and WebGL.
Examples
[edit]- Allegro
- ANGLE
- Cairo (graphics)[1]
- DFPSR https://dawoodoz.com/dfpsr.html — GUI toolkit and software renderer
- DirectX[2] — a library created by Microsoft, to run under Windows operating systems and 'Direct' Xbox
- Display PostScript
- emWin[3] — an Embedded Graphics Library
- FLTK[4] — GUI Toolkit and Graphics Library
- GTK — a GUI toolkit
- Mesa 3D[5] — a library that implements OpenGL and Vulkan
- Mobile 3D Graphics API
- Qt[6] — cross-platform application framework
- Quartz (graphics layer)
- SFML[7]
- SIGIL[8] — Sound, Input, and Graphics Integration Library
- Simple DirectMedia Layer (SDL)[9]
- Skia Graphics Library[10]
- X Window System
See also
[edit]- List of 3D graphics libraries
- Anti-Grain Geometry
- Software development kit (SDK)
- OpenGL ES
- Graphical Widget toolkit graphical control elements drawn on bitmap displays
References
[edit]- ^ "cairographics.org". cairographics.org. Retrieved 2016-01-03.
- ^ "DirectX". DirectX Graphics and Gaming (Windows) - MSDN - Microsoft.
- ^ "emWin Graphics Library | www.LPCware.com". Archived from the original on 2016-03-29.
- ^ "FLTK GUI and Graphics Library | www.fltk.org".
- ^ "The Mesa 3D Graphics Library".
- ^ "Qt - Home".
- ^ "SFML".
- ^ "SIGIL: Sound, Input, and Graphics Integration Library". www.libsigil.com. Retrieved 2016-06-21.
- ^ "Simple DirectMedia Layer - Homepage".
- ^ "Skia Graphics Library".