6.5.1 Rendering Pipeline

En las gráficas por computadora, el término graphics pipeline o rendering pipeline se refiere comúnmente a la renderización basada en el soporte de hardware de gráficos (tarjeta gráfica). El rendering pipeline típicamente recibe la representación de una escena tridimensional como entrada y genera una imagen en 2 dimensiones como salida. Open GL y Direct3D son dos estándares gráficos que proporcionan rendering pipeline y permiten además la programación de shaders para modificar su comportamiento.

Existen ocho etapas del rendering pipeline:

Transformación de modelos

En esta etapa, la geometría 3D (modelo) es ubicada en el espacio tridimensional, aplicando transformaciones como la traslación o la rotación a sus primitivas.

Iluminación

La geometría de la escena 3D es iluminada de acuerdo con la ubicación de las fuentes de luz, reflejo y otras propiedades de las superficies. La implementación más común de las tuberías de renderizado actuales procesan la iluminación sólo en los vértices de los polígonos, que luego se interpolan en el proceso de rasterización para obtener la iluminación en cualquier otro punto. Esto se conoce como iluminación por vértice, en contraposición a la iluminación por fragmento (por pixel), que encontramos cada vez en mayor medida y se implementa como un proceso de post-rasterización usando shader.

Transformación de vista

Los objetos son transformados de coordenadas en un mundo 3D a un sistema de coordenadas 3D basadas en la posición y orientación de una cámara virtual. Esto resulta en la escena 3D original vista desde la perspectiva de la cámara, definida en lo que es espacio visual o espacio de cámara.

Proyección y transformación

En esta etapa del rendering pipeline, la geometría es transformada del espacio visual de la cámara de renderizado a un espacio de imagen 2D, mapeando la escena 3D a un plano como visto por la cámara virtual.

Clipping

Las primitivas geométricas que quedan fuera del polígono de visión (frustum) no serán visibles y son descartadas del escenario. El clipping no es necesario para lograr una correcta salida de video, pero acelera el proceso de renderización al eliminar la rasterización y el post-procesamiento innecesarios en primitivas que no aparecerán en la imagen final de todas formas.

Shading o texturizado de fragmentos

En esta etapa, a cada fragmento individual (o pre-pixeles) se les asigna un color basado en valores interpolados de los vértices durante la rasterización o de una textura en la memoria.

Rasterización

La rasterización es el proceso en el cual la representación de la escena en el espacio de la imagen en 2D es convertida a un formato raster (de imágen 2D) y se determina el correcto valor de cada pixel resultante.

Visualización

Los pixeles coloreados finales pueden ser mostrados en la pantalla, o usados para otro fin (por ejemplo, como textura dentro de otra tubería de renderizado).

 

Volver arriba