Componentes centrales:
* Dibujo primitivos: Estos son los bloques de construcción básicos de gráficos, como puntos, líneas, círculos, rectángulos, polígonos y texto. Los paquetes gráficos proporcionan funciones para dibujar estas primitivas y controlar su apariencia (color, grosor, estilo, etc.).
* Transformaciones geométricas: Esto permite la manipulación de objetos en el espacio 2D y 3D. Estos incluyen traducciones, rotaciones, escala y cizallamiento.
* Modelos de color y paletas: Los paquetes gráficos definen formas de representar los colores y proporcionar herramientas para crear paletas de colores y administrar información de color.
* Sistemas de coordenadas: Estos definen el espacio donde se dibujan y transforman los objetos. Los sistemas comunes incluyen coordenadas cartesianas y polares.
* Manejo de eventos: Esto permite que las aplicaciones respondan a las interacciones del usuario, como clics del mouse, entrada del teclado y cambio de tamaño de la ventana.
* Gestión de ventanas y vistas: Los paquetes de gráficos proporcionan herramientas para crear y administrar ventanas, definir áreas dentro de la ventana para el dibujo (ventana gráfica) y controlar la resolución de visualización.
* Carga y guardado de la imagen: Esto permite que las aplicaciones carguen y guarden imágenes en varios formatos (JPEG, PNG, GIF, etc.).
* Renderización: Esto se refiere al proceso de convertir la información de la escena 2D o 3D en una imagen visualizable. Incluye técnicas como rasterización, trazado de rayos y rastreo de ruta.
Componentes especializados:
* bibliotecas de gráficos 2D y 3D: Estos proporcionan características avanzadas para crear y manipular objetos complejos 2D y 3D, que incluyen:
* Modelado: Creación y edición de formas.
* Animación: Creación de objetos y secuencias en movimiento.
* Iluminación y sombreado: Simulando cómo interactúa la luz con los objetos.
* Mapeo de textura: Aplicación de imágenes a las superficies.
* Efectos: Creación de efectos visuales como niebla, sombras y reflexiones.
* GUI (interfaz gráfica de usuario) Bibliotecas: Estos proporcionan herramientas para construir interfaces de usuario con elementos como botones, menús, campos de texto y cuadros de diálogo.
* Gestión de fuentes: Esto proporciona herramientas para cargar, mostrar y manipular fuentes.
* Impresión y exportación: Estos permiten que las aplicaciones impriman o exporten gráficos en varios formatos.
* Optimización de rendimiento: Los paquetes gráficos a menudo incluyen características para mejorar el rendimiento, como la aceleración de hardware y el almacenamiento en caché de datos.
Ejemplos de paquetes gráficos:
* OpenGL: Una API de bajo nivel e independiente de la plataforma ampliamente utilizada para gráficos 2D y 3D.
* DirectX: Una colección de API utilizadas principalmente para aplicaciones de Windows, que ofrece características para gráficos 2D y 3D, audio y más.
* El Cairo: Una biblioteca de gráficos 2D conocida por su portabilidad y soporte para gráficos vectoriales.
* Qt: Un marco integral para construir aplicaciones multiplataforma, incluidos los componentes gráficos.
* sdl: Una biblioteca multiplataforma que proporciona acceso de bajo nivel al hardware, útil para el desarrollo de juegos y las aplicaciones multimedia.
Los componentes específicos incluidos en un paquete de gráficos dependen de su uso previsto y de la plataforma de destino.