Rendering
API
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build ...
s 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 engine
A game engine is a software framework primarily designed for the development of video games which generally includes relevant libraries and support programs such as a level editor. The "engine" terminology is akin to the term "software engine" us ...
s (which handle
scene graph
A scene graph is a general data structure commonly used by vector-based graphics editing applications and modern computer games, which arranges the logical and often spatial representation of a graphical scene. It is a collection of nodes in a g ...
s, 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 shader
In computing, a compute kernel is a routine compiled for high throughput accelerators (such as graphics processing units (GPUs), digital signal processors (DSPs) or field-programmable gate arrays (FPGAs)), separate from but used by a main pro ...
s.
Low level
High-level and low-level, as technical terms, are used to classify, describe and point to specific goals of a systematic operation; and are applied in a wide range of contexts, such as, for instance, in domains as widely varied as computer scienc ...
rendering APIs typically leave more responsibility with the user for resource
memory management
Memory management (also dynamic memory management, dynamic storage allocation, or dynamic memory allocation) is a form of Resource management (computing), resource management applied to computer memory. The essential requirement of memory manag ...
, and require more verbose control, but have significantly lower
CPU
A central processing unit (CPU), also called a central processor, main processor, or just processor, is the primary processor in a given computer. Its electronic circuitry executes instructions of a computer program, such as arithmetic, log ...
overhead, ''and'' allow greater utilisation of
multicore processor
A multi-core processor (MCP) is a microprocessor on a single integrated circuit (IC) with two or more separate central processing units (CPUs), called ''cores'' to emphasize their multiplicity (for example, ''dual-core'' or ''quad-core''). Ea ...
s.
2D rendering APIs
*
OpenVG
OpenVG is an API designed for hardware-accelerated 2D vector graphics. Its primary platforms are mobile phones, gaming & media consoles and consumer electronic devices. It was designed to help manufacturers create more attractive user interfac ...
*
Direct2D
Direct2D is a 2D vector graphics application programming interface (API) designed by Microsoft and implemented in Windows 10, Windows 8, Windows 7 and Windows Server 2008 R2, and also Windows Vista and Windows Server 2008 (with Platform Update ...
*
Quartz 2D
*
Anti-Grain Geometry
Anti-Grain Geometry (AGG) is a 2D rendering graphics library written in C++. It features anti-aliasing and sub-pixel resolution. It is not a graphics library, per se, but rather a framework to build a graphics library upon.
The library is op ...
(AGG)
*
Simple DirectMedia Layer (SDL)
*
Simple and Fast Multimedia Library
Simple and Fast Multimedia Library (SFML) is a cross-platform software development library designed to provide a simple application programming interface (API) to various multimedia components in computers. It is written in C++ with
bindings a ...
(SFML)
*
X11
The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems.
X originated as part of Project Athena at Massachusetts Institute of Technology (MIT) in 1984. The X protocol has been at ...
*
Cairo
Cairo ( ; , ) is the Capital city, capital and largest city of Egypt and the Cairo Governorate, being home to more than 10 million people. It is also part of the List of urban agglomerations in Africa, largest urban agglomeration in Africa, L ...
*
Skia
*
Qt GUI primitive rendering abstractions, on which Qt widgets are built
Blend2D*
HTML5
HTML5 (Hypertext Markup Language 5) is a markup language used for structuring and presenting hypertext documents on the World Wide Web. It was the fifth and final major HTML version that is now a retired World Wide Web Consortium (W3C) recommend ...
Canvas element
The HTML canvas element allows for dynamic, scriptable rendering of 2D shapes and bitmap images. Introduced in HTML5, it is a low level, procedural model that updates a bitmap. The element also helps in making 2D games.
While the element ...
Offline rendering
*
RenderMan The name RenderMan can cause confusion because it has been used to refer to different things developed by Pixar Animation Studios:
* RenderMan Interface Specification (RISpec), an open API
An application programming interface (API) is a connec ...
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
Argonaut Games is a British video game developer founded in 1982. It was known for the Super Nintendo Entertainment System, Super NES video game ''Star Fox (1993 video game), Star Fox'' and its supporting Super FX chip, and for ''Croc: Legend o ...
by
argonaut software
Argonaut Games is a British video game developer founded in 1982. It was known for the Super NES video game '' Star Fox'' and its supporting Super FX chip, and for '' Croc: Legend of the Gobbos'' and the ''Starglider'' series. The company was ...
3D rendering APIs
These libraries are designed explicitly to abstract 3D graphics hardware for
CAD
Computer-aided design (CAD) is the use of computers (or ) to aid in the creation, modification, analysis, or optimization of a design. This software is used to increase the productivity of the designer, improve the quality of design, improve c ...
and
video games
A video game or computer game is an electronic game that involves interaction with a user interface or input device (such as a joystick, game controller, controller, computer keyboard, keyboard, or motion sensing device) to generate visual fe ...
, with possible software fallbacks.
Cross platform, high level
*
OpenGL
OpenGL (Open Graphics Library) is a Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
and the
OpenGL Shading Language
OpenGL Shading Language (GLSL) is a high-level shading language with a syntax based on the C programming language. It was created by the OpenGL ARB (OpenGL Architecture Review Board) to give developers more direct control of the graphics pipeli ...
*
OpenGL ES
OpenGL for Embedded Systems (OpenGL ES or GLES) is a subset of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accelerate ...
3D API for embedded devices
*
OpenGL SC a version of openGL for safety critical systems.
*
RenderWare
RenderWare is a video game engine developed by British game developer Criterion Software.
Overview
Released in 1993, RenderWare was a 3D API and graphics rendering engine used in video games, Active Worlds, and some VRML browsers. RenderWar ...
(combined game engine and cross platform rendering API. Became popular since the
PlayStation 2
The PlayStation 2 (PS2) is a home video game console developed and marketed by Sony Interactive Entertainment, Sony Computer Entertainment. It was first released in Japan on 4 March 2000, in North America on 26 October, in Europe on 24 Novembe ...
had no rendering API, initially relying on
bare metal
In information technology, bare machine (or bare-metal computer) is a computer which has no operating system. The software executed by a bare machine, commonly called a "bare metal program" or "bare metal application", is designed to interact dir ...
programming.)
Cross platform, low level
*
Vulkan
Vulkan is a cross-platform API and open standard for 3D graphics and computing. It was intended to address the shortcomings of OpenGL, and allow developers more control over the GPU. It is designed to support a wide variety of GPUs, CPUs and o ...
Vendor specific, high level
*
Direct3D
Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware ...
(a subset of
DirectX
Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with "Direct" ...
)
*
Glide API for the pioneering
3DFX
3dfx Interactive, Inc. was an American computer hardware company headquartered in San Jose, California, founded in 1994, that specialized in the manufacturing of 3D graphics processing units, and later, video cards. It was a pioneer in the f ...
accelerators
*
QuickDraw 3D
QuickDraw 3D, or QD3D for short, is a 3D graphics API developed by Apple Inc. (then Apple Computer, Inc.) starting in 1995, originally for their Apple Macintosh, Macintosh computers, but delivered as a cross-platform system.
QD3D was separated ...
developed by Apple Computer starting in 1995, abandoned in 1998
*
PSGL for the
PlayStation 3
The PlayStation 3 (PS3) is a home video game console developed and marketed by Sony Computer Entertainment (SCE). It is the successor to the PlayStation 2, and both are part of the PlayStation brand of consoles. The PS3 was first released on ...
, designed to work in a manner similar to openGL
*
GNMX
The PlayStation 4 system software is the updatable firmware and operating system of the PlayStation 4. The operating system is Orbis OS, based on FreeBSD 9.
Technology System
The native operating system of the PlayStation 4 is Orbis OS, which ...
for the
PlayStation 4
The PlayStation 4 (PS4) is a home video game console developed by Sony Interactive Entertainment. Announced as the successor to the PlayStation 3 in February 2013, it was launched on November 15, 2013, in North America, November 29, 2013, in ...
Vendor specific, low level
*
Direct3D 12 (a subset of
DirectX
Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with "Direct" ...
)
*
Metal
A metal () is a material that, when polished or fractured, shows a lustrous appearance, and conducts electrical resistivity and conductivity, electricity and thermal conductivity, heat relatively well. These properties are all associated wit ...
developed by Apple.
*
Mantle developed by AMD.
*
LibGCM for the
PlayStation 3
The PlayStation 3 (PS3) is a home video game console developed and marketed by Sony Computer Entertainment (SCE). It is the successor to the PlayStation 2, and both are part of the PlayStation brand of consoles. The PS3 was first released on ...
, a lower level API managing command lists directly
*
LibGXM for the
PlayStation Vita
The PlayStation Vita (PS Vita) is a handheld game console developed and marketed by Sony Computer Entertainment. It was first released in Japan on December 17, 2011, then in other international territories on February 22, 2012, and was produced ...
*
LibGNM for the
PlayStation 4
The PlayStation 4 (PS4) is a home video game console developed by Sony Interactive Entertainment. Announced as the successor to the PlayStation 3 in February 2013, it was launched on November 15, 2013, in North America, November 29, 2013, in ...
*
Redline
The redline is the maximum engine speed at which an internal combustion engine or traction motor and its components are designed to operate without causing damage to the components themselves or other parts of the engine. The redline of an eng ...
, for the obsolete
Rendition Verite accelerator
* ''Kamui'' for the Dreamcast
[kamui manual, naomi board, DC]
References
{{reflist
Application programming interfaces