Skip to main content

¿Qué es un polígono OpenGL®?

Un polígono de Open Graphics Library® (OpenGL®) es cualquier objeto hecho en OpenGL® que consta de más de dos vértices. Esencialmente, cualquier objeto que no sea un punto o una línea se considera un polígono. OpenGL®, así como la mayoría de las tarjetas gráficas, generalmente tienen optimizaciones especiales para tratar principalmente con triángulos o polígonos de tres lados, porque los triángulos son el tipo más simple de polígono que se puede hacer con la menor cantidad de vértices y lados. En algunos casos, OpenGL® puede manejar cuadriláteros o polígonos de cuatro lados, principalmente en modos de dibujo bidimensionales (2D). Con la excepción de un polígono convexo y simple de OpenGL®, la mayoría de las formas con más de tres vértices eventualmente se descompondrán en triángulos a través de un proceso llamado mosaico, que puede tener efectos dramáticos no deseados en una escena.

El único tipo de polígono OpenGL® que se puede dibujar de forma nativa sin la necesidad de mosaico se conoce como un simple polígono. Este tipo de forma sigue algunas reglas muy simples. Los lados deben ser convexos, lo que significa que no crean ángulos en los vértices de menos de 90 °. Ningún borde puede cruzarse entre sí, y solo dos líneas pueden encontrarse en cualquier vértice dado. Esto limita un polígono simple a una forma autónoma 2D, como un cuadrado o un octágono porque, si fuera tridimensional (3D), más de dos líneas se encontrarían en algunos vértices.

Cuando se construye un polígono OpenGL® muy complejo, a menudo es más fácil crear el objeto en un programa de modelado 3D externo. Esto no solo permite un entorno visual más conveniente en el que construir un objeto, sino que tiene el beneficio adicional de proporcionar al diseñador el control sobre cómo se teselan las formas para que no causen problemas cuando se procesan. Alternativamente, se puede crear un polígono de manera procesal a través de algoritmos que trazan los vértices de acuerdo con un patrón, como se puede hacer para crear un patrón helicoidal o espiral.

Cada polígono OpenGL® tiene una cara, el área sólida dentro de las líneas de la forma. Aunque es posible cambiar este comportamiento, en general, cada polígono solo es visible cuando su cara apunta hacia la cámara de visualización. Si un polígono se enfrenta a la dirección incorrecta, puede volverse invisible, según el modo de representación.

Cada polígono OpenGL® también tiene un valor conocido como normal. Lo normal se usa para definir la dirección a la que se enfrenta la superficie del polígono. Aunque el polígono está claramente en cierto ángulo y en cierta posición, la superficie normal puede ayudar a crear efectos de textura especiales o imitar propiedades físicas que no son uniformes. Un valor normal para un polígono OpenGL® se puede establecer en cualquier valor, incluso valores negativos, aunque los resultados pueden ser impredecibles.