¿Qué es una herramienta de pintura OpenGL?

Una herramienta de pintura OpenGL® es un programa diseñado para proporcionar al usuario la capacidad de crear una imagen que se renderiza utilizando la biblioteca de gráficos OpenGL® y posiblemente las funciones de hardware y la aceleración. La diferencia entre una herramienta de pintura OpenGL® y otros programas de pintura es que OpenGL® se basa en geometría tridimensional (3D), mientras que la mayoría de los otros programas de pintura utilizan superficies planas bidimensionales (2D). Un programa de pintura 2D registra los colores de los píxeles, mientras que un programa de pintura 3D registrará formas que pueden manipularse fácilmente más adelante. El uso de una herramienta de pintura OpenGL® tiene ventajas sobre algunos programas de pintura 2D estándar, pero también puede haber algunas complicaciones que pueden dificultar su uso en algunos sistemas informáticos o no ser adecuado para determinadas aplicaciones.

En el sentido más básico, cualquier programa que use OpenGL® como método de salida para renderizar o mostrar la interfaz y el lienzo es técnicamente una herramienta de pintura OpenGL®. Hay formas en que el programa puede tener una orientación completamente 2D, simplemente modificando un mapa de textura en un rectángulo plano del mismo tamaño que el área de visualización para permitir la pintura. Sin embargo, el uso de OpenGL® para este tipo de aplicación puede ser un desperdicio porque habrá que desarrollar muchas soluciones para subvertir la proclividad natural al 3D de la biblioteca de gráficos.

Más comúnmente, una herramienta de pintura OpenGL® se parece mucho a un programa de gráficos basado en vectores. Esto significa que cuando un usuario dibuja una línea, círculo o garabato en el lienzo del programa, se registra como una forma geométrica en lugar de una colección de píxeles. Una vez que se define la geometría de una forma, resulta increíblemente fácil modificar ese único objeto independientemente del resto de la imagen pintada. En los programas 2D, esto puede ser difícil porque la información de los píxeles puede ser ambigua y ciertas áreas pueden tardar en aislarse y luego manipularse.

Otro uso poderoso de una herramienta de pintura OpenGL® es texturizar o pintar una superficie o malla 3D. Esto implica mostrar un objeto 3D como una serie de triángulos conectados, denominada malla triangular, y luego permitir que el usuario pinte sobre la superficie del objeto. Esto es útil para los artistas 3D porque, una vez que se pinta la superficie, se puede producir y guardar un archivo de imagen para que el objeto pueda mapearse con textura en tiempo real en un programa, aplicación o juego 3D. La razón por la que esto es necesario en algunos casos es porque la imagen de textura 2D plana aparecerá distorsionada de manera impredecible cuando no esté envuelta alrededor del objeto 3D.

El uso de OpenGL® como método de visualización de un programa podría causar problemas en algunos sistemas. No todas las tarjetas gráficas son compatibles con OpenGL® y algunas tienen problemas de rendimiento con los controladores. También hay sistemas que solo emulan el renderizado OpenGL®, lo que significa que el software en realidad realiza el procesamiento en lugar de una tarjeta gráfica, lo que hace que el renderizado se produzca muy lentamente.