Graphics/Rendering Libraries/APIs
The three rendering libraries on Linux (not X11 based) and can be used “stand-alone” are:
- Cairo - used mostly by GDK/GTK+ based programs
- Anti-Grain-Geometry (AGG) - none toolkit’s primary graphics kit in particular, but used by a number of programs and libraries (most notably plotting, like matplotlib)
- pixman - used in the X11 server (but you can use it in your program, too)
When it comes to AGG vs. Cairo the biggest selling point for Cairo is, that it got a pure C binding. Unfortunately Cairo is not a very fast renderer (it made huge progress in the past 10 years). But it’s eating the dust of AGG, which is much faster and (ironically) also produces better quality; unfortunately AGG is a C++ library, so to effectively use it you’re bound to use C++, which is a downside. Also the principal developer of AGG sadly passed away a few years ago, which stalled development for some time, but it’s been picked up by the community again
One must also not forget the “raster” graphics engine in Qt, but that can be used only within Qt within QPainter (so stand-alone if your program uses Qt, but can’t be used without Qt).
Graphics Libraries - Types
- OpenGL is to Vulkan
- Direct3D 11 is to Direct3D 12
|
Library/API |
Platform |
Description |
|---|---|---|
|
ALL |
| |
|
ALL |
| |
|
ALL |
| |
|
ALL |
| |
|
ALL |
| |
|
Windows |
| |
|
MacOS |
|