¿Qué es OpenGL Text?

El texto OpenGL® describe cualquier fuente de computadora que, a través de varios métodos diferentes, aparece como un elemento dentro de una escena OpenGL®. OpenGL® no tiene una capacidad innata para mostrar texto dentro de una escena tridimensional (3D), y realmente no hay formas intrínsecas de superponer el texto del sistema dentro de un framebuffer. Esto ha llevado a la creación de diferentes bibliotecas independientes para intentar que el uso de texto OpenGL® sea lo más fácil posible. Hay tres métodos básicos para crear texto OpenGL®: mapeo de texturas, geometría y mapa de bits. Cada uno tiene ventajas y desventajas, siendo la mayor desventaja para casi todo el texto OpenGL® una reducción en la velocidad de renderizado.

No existe ningún mecanismo para mostrar texto en OpenGL®, principalmente porque el propósito de la biblioteca es proporcionar gráficos 3D acelerados por hardware. La visualización de fuentes u otro texto no se considera una parte necesaria de la biblioteca de funciones de OpenGL®. En cambio, los desarrolladores de software y sistemas operativos han proporcionado bibliotecas independientes en un intento de facilitar el uso de texto dentro de un entorno 3D.

El uso de texto OpenGL® de mapa de bits se puede realizar de varias formas, pero es, con mucho, uno de los métodos más fáciles de implementar. Este proceso comienza con una sola imagen en mapa de bits de todo el conjunto de fuentes que se va a utilizar. Cuando es necesario mostrar una palabra en la pantalla, las letras individuales se copian del mapa de bits y se organizan en una textura OpenGL®. Esta textura, que ahora contiene una cadena completa, se mapea en un cuadrilátero y se coloca frente a la escena para que se superponga al resto de los objetos 3D.

También es posible usar geometría para construir realmente texto OpenGL®. Esto implica el uso de una fuente que tenga información bidimensional (2D) basada en vectores sobre cómo dibujar cada letra. Estos vectores se traducen en vértices y triángulos, haciendo que cada letra sea su propio modelo. Para mostrar una cadena de texto con fuentes geométricas, los modelos solo deben alinearse en el orden correcto en la escena. Una ventaja de este método es que los modelos de texto se pueden extruir fácilmente para formar letras en 3D en forma de bloque.

El último método común que se puede usar para mostrar texto OpenGL® es usar un simple mapa de textura prefabricado. Esta es una imagen en la que la cadena de texto deseada ya está dibujada en la forma en que debería aparecer dentro de la escena. Luego, la imagen se puede aplicar a cualquier objeto, mostrando el texto cuando se renderiza el objeto. Los mapas de textura son en su mayoría efectivos para texto estático, como palabras en el costado de un modelo de caja de cartón en 3D. Es una de las formas más sencillas de mostrar texto que tiene el espaciado y el kerning adecuados.