Rendering APIs typically provide just enough functionality to abstract a graphics accelerator, focussing on rendering primitives, state management, command lists/command buffers; and as such differ from fully fledged 3D graphics libraries, 3D engines (which handle scene graphs, lights, animation, materials etc.), and GUI frameworks; Some provide fallback software rasterisers, which were important for compatibility and adoption before graphics accelerators became widespread.
Some have been extended to include support for compute shaders.
Low level rendering APIs typically leave more responsibility with the user for resource memory management, and require more verbose control, but have significantly lower CPU overhead,[1] and allow greater utilisation of multicore processors.
2D rendering APIs
edit- OpenVG
- Direct2D
- Quartz 2D
- Anti-Grain Geometry (AGG)
- Simple DirectMedia Layer (SDL)
- Simple and Fast Multimedia Library (SFML)
- X11
- Cairo
- Skia
- Qt GUI primitive rendering abstractions, on which Qt widgets are built
- Blend2D
- HTML5 Canvas element
Offline rendering
edit- RenderMan aimed at offline rendering for CG films.
Software rasterising
editAs of 2016, these are generally considered obsolete, but were still important during the transition to hardware acceleration:
3D rendering APIs
editThese libraries are designed explicitly to abstract 3D graphics hardware for CAD and video games, with possible software fallbacks.
Cross platform, high level
edit- OpenGL and the OpenGL Shading Language
- OpenGL ES 3D API for embedded devices
- OpenGL SC a version of openGL for safety critical systems.
- RenderWare (combined game engine and cross platform rendering API. Became popular since the PlayStation 2 had no rendering API, initially relying on bare metal programming.)
Cross platform, low level
editVendor specific, high level
edit- Direct3D (a subset of DirectX)
- Glide API for the pioneering 3DFX accelerators
- QuickDraw 3D developed by Apple Computer starting in 1995, abandoned in 1998
- PSGL for the PlayStation 3, designed to work in a manner similar to openGL
- GNMX for the PlayStation 4
Vendor specific, low level
edit- Direct3D 12 (a subset of DirectX)
- Metal developed by Apple.
- Mantle developed by AMD.
- LibGCM for the PlayStation 3, a lower level API managing command lists directly
- LibGXM for the PlayStation Vita
- LibGNM for the PlayStation 4
- Redline , for the obsolete Rendition Verite accelerator
- Kamui for the Dreamcast[2]
References
edit- ^ "imagination shows off vullkan gains".
- ^ "dreamcast development board". 25 August 2010.kamui manual,naomi board,DC