Skip to main content

¿Qué es un OpenGL® Quad?

Un cuadrilátero OpenGL®, o quad, en programación de computadoras y gráficos es una forma tridimensional (3D), también llamada polígono, que tiene cuatro lados y cuatro puntos. Cada punto 3D que representa una sola esquina del quad OpenGL® se conoce como vértice y se define con tres números relacionados con su posición de coordenadas en el espacio virtual. Los vértices de un quad no tienen que seguir pautas reales, excepto que tiene que haber cuatro de ellos; de lo contrario, la forma se conoce como polígono, triángulo o línea según el número real. La mayoría de las imágenes digitales son en realidad rectangulares, por lo que un quad OpenGL® puede ser una forma útil porque la imagen se puede mapear con textura a la superficie sin una gran distorsión y sin la necesidad de técnicas complejas de mapeo de texturas. Sin embargo, el uso de un quad OpenGL® tiene sus propios desafíos, y hay varios programadores que sugieren evitar su uso por completo.

Uno de los principales usos de un quad OpenGL® es dibujar gráficos bidimensionales (2D) dentro de un entorno 3D. Esto se puede hacer para tener una interfaz de usuario estática superpuesta sobre una escena 3D o para emular gráficos 2D con OpenGL®. Aunque OpenGL® fue diseñado para representar gráficos 3D complejos, se usa con frecuencia en aplicaciones de gráficos 2D debido a las optimizaciones y la flexibilidad de la interfaz de programación abstracta (API). Un quad se vuelve muy importante en la representación de gráficos 2D, ya que es una representación natural en 3D de una imagen digital, lo que significa que un quad puede ser proporcionado para que coincida exactamente con la dimensión de la imagen. Una vez que las proporciones coinciden, la imagen se puede mapear con textura, o proyectar, sobre la superficie del quad sin ningún tipo de distorsión, envoltura o espacio en la canaleta.

Una ventaja de usar un quad OpenGL®, según algunos programadores, es que es más fácil pensar en cómo los quads encajan entre sí, en lugar de visualizar cómo encajan los triángulos. Esto es especialmente cierto para formas 3D simples como un cubo en el que cada quad es un solo lado; Con una malla triangular, se deben combinar dos triángulos para formar un quad que forme un solo lado. Los quads también se pueden manipular fácilmente para crear una perspectiva u otros efectos dentro de un entorno en mosaico o alineado a una cuadrícula.

Existen algunas desventajas al usar un quad OpenGL®, principalmente debido a los algoritmos utilizados para rasterizar o renderizar una imagen dentro de la ventana del visor. Uno de los problemas más encontrados es que la tarjeta de representación o gráfica puede, en cualquier momento, dividir el quad en dos triángulos con el propósito de eficiencia. Esto puede causar que una superficie lisa tenga una distorsión visible en un ángulo a través del quad donde se juntan los bordes de los triángulos.

Otro problema que es más común de lo que a veces se piensa tiene que ver con el recorte de un quad OpenGL®. Cuando parte del quad está fuera de la ventana de visualización, fuera de la pantalla, el renderizador recortará el quad para que solo se represente la parte visible. Esto significa que un quad se cortará geométricamente. Si el quad se convirtió en dos triángulos antes de que ocurra el recorte, entonces cada triángulo se convierte en un quad, y cada uno de esos cuádriceps se convierte en dos triángulos. Esto lleva a una situación en la que un quad recortado de repente consiste en cuatro triángulos en lugar de un quad liso.

La complejidad y la imprevisibilidad de la conversión de quads en triángulos conduce a resultados indeseables. Estos incluyen distorsiones en las texturas, imprecisiones o artefactos relacionados con la iluminación de vértices y, a veces, la falta de superficies de polígonos. Por estas razones, algunos programadores evitan el uso de quads por completo.