Las API de renderizado suelen proporcionar la funcionalidad justa para abstraer un acelerador gráfico , centrándose en la representación de primitivas , la gestión de estados y las listas/ búferes de comandos ; y, como tales, difieren de las bibliotecas de gráficos 3D completas , los motores 3D (que gestionan gráficos de escena , luces, animación, materiales, etc.) y los marcos de interfaz gráfica de usuario. Algunas proporcionan rasterizadores de software alternativos , que fueron importantes para la compatibilidad y la adopción antes de que los aceleradores gráficos se generalizaran.
Algunas se han ampliado para incluir soporte para sombreadores de cómputo .
Las API de renderizado de bajo nivel suelen dejar más responsabilidad en el usuario para la gestión de la memoria de recursos y requieren un control más detallado, pero tienen una sobrecarga de CPU significativamente menor , [ 1 ] y permiten una mayor utilización de los procesadores multinúcleo .
API de renderizado 2D
- OpenVG
- Direct2D
- Cuarzo 2D
- Geometría antigrano (AGG)
- Capa DirectMedia Simple (SDL)
- Biblioteca multimedia simple y rápida (SFML)
- X11
- El Cairo
- Esquí
- Abstracciones de renderizado primitivo de la interfaz gráfica de usuario de Qt , sobre las que se construyen los widgets de Qt.
- Mezcla 2D
- Elemento Canvas de HTML5
- Gráficos vectoriales de Thor
Renderizado sin conexión
- RenderMan estaba diseñado para el renderizado offline de películas de animación por ordenador.
Rasterización por software
A partir de 2016, generalmente se consideran obsoletos, pero aún fueron importantes durante la transición a la aceleración por hardware:
API de renderizado 3D
Estas bibliotecas están diseñadas explícitamente para abstraer el hardware de gráficos 3D para CAD y videojuegos , con posibles alternativas de software.
Multiplataforma, alto nivel
- OpenGL y el lenguaje de sombreado de OpenGL
- API 3D OpenGL ES para dispositivos integrados
- OpenGL SC es una versión de OpenGL para sistemas críticos de seguridad.
- RenderWare (motor de juego combinado con API de renderizado multiplataforma. Se popularizó porque la PlayStation 2 no tenía API de renderizado y, en un principio, dependía de la programación a bajo nivel ).
Multiplataforma, de bajo nivel
Específico del proveedor, alto nivel
- Direct3D (un subconjunto de DirectX )
- API Glide para los aceleradores 3DFX pioneros
- QuickDraw 3D fue desarrollado por Apple Computer a partir de 1995 y abandonado en 1998.
- PSGL para PlayStation 3 , diseñado para funcionar de manera similar a OpenGL.
- GNMX para PlayStation 4
Específico del proveedor, de bajo nivel
- Direct3D 12 (un subconjunto de DirectX )
- Metal fue desarrollado por Apple.
- Mantle, desarrollado por AMD.
- LibGCM para PlayStation 3 , una API de nivel inferior que gestiona listas de comandos directamente.
- LibGXM para PlayStation Vita
- LibGNM para PlayStation 4
- Redline , para el acelerador obsoleto Rendition Verite
- Kamui para Dreamcast [ 2 ]
Referencias
- Interfaces de programación de aplicaciones