title: List of rendering APIs
text: # List of rendering APIs
  
  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, and allow greater utilisation of multicore processors.
  
  ## 2D rendering APIs
  
  * 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
  
  * RenderMan aimed at offline rendering for CG films.
  
  ## Software rasterising
  
  As of 2016, these are generally considered obsolete, but were still important during the transition to hardware acceleration:
  
  * BRender by argonaut software
  
  ## 3D rendering APIs
  
  These libraries are designed explicitly to abstract 3D graphics hardware for CAD and video games, with possible software fallbacks.
  
  ### Cross platform, high level
  
  * 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
  
  * Vulkan
  
  ### Vendor specific, high level
  
  * 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
  
  ### Vendor specific, low level
  
  * 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
  * ↑ "imagination shows off vullkan gains".
  * ↑ "dreamcast development board".kamui manual,naomi board,DC
  