¿Qué es una proyección OpenGL?

Una proyección OpenGL® es el proceso y la imagen que resultan de la traducción de objetos tridimensionales (3D) a una imagen bidimensional (2D) alineada que se puede mostrar en una pantalla. La palabra «proyección» en la programación de gráficos por computadora se refiere al hecho de que los objetos 3D dentro de una escena deben moverse matemáticamente, o proyectarse, sobre una superficie 2D virtual para que puedan mostrarse en una pantalla plana en un dispositivo. Aunque la secuencia completa de eventos que toman un objeto 3D y lo renderizan en una superficie 2D se puede llamar proyección, el término también se aplica de manera más estricta al conjunto específico de transformaciones geométricas en la canalización de gráficos que ocurre como un paso entre otros conjuntos de transformaciones. Los dos tipos específicos de modos de proyección OpenGL® que están disponibles para los programadores son perspectiva y ortográfico.

El desafío de crear una proyección OpenGL® es tomar los datos que comprenden todos los objetos en una escena dada y ajustarlos para que, cuando se muestren en una pantalla, los objetos sean consistentes con el modo de proyección, el volumen de visualización y la configuración de la cámara virtual. El volumen de visualización es el área visible de una escena desde la ubicación del espectador dentro de la escena o la posición de los ojos. Seis números definen el volumen de visualización, incluidas las distancias derecha, izquierda, superior e inferior desde un centro virtual del marco de visualización. Además, dos valores conocidos como planos cercano y lejano definen la profundidad del volumen de visualización. Este volumen define qué objetos se proyectarán, mientras que todos los demás objetos fuera del volumen se ignorarán o se recortarán para que las partes no visibles no se evalúen.

El primer modo de proyección OpenGL® que se puede emplear se conoce como proyección ortográfica. En este modo, las coordenadas de los objetos dentro de una escena no se ajustan a su distancia del espectador o perspectiva. Esto significa que todos los objetos se dibujan en el mismo tamaño sin importar la distancia del espectador. Este modo de proyección OpenGL® se usa con mayor frecuencia en programas de modelado 3D, programas de diseño de ingeniería y aplicaciones que usan polígonos 3D para crear imágenes compuestas 2D y no requieren una perspectiva precisa.

El modo de proyección OpenGL® más utilizado se conoce como proyección en perspectiva. En el modo de proyección en perspectiva, los objetos de una escena se escalan y se colocan de acuerdo con su distancia del espectador. Esto significa que los objetos que están más distantes parecen más pequeños. También significa que los objetos de la escena se ajustan para que converjan lentamente en un punto del horizonte de visualización conocido como punto de fuga. La proyección en perspectiva modela de cerca cómo aparece el mundo real y se utiliza para crear representaciones realistas en lugar de técnicas.