# Scanline rendering

La representació d'escaneig, o scanline rendering, és un mètode per crear la majoria de gràfics d'ordinador en imatges en moviment. L'scanline rendering és un tipus de sortida de renderització feta per aplicacions tridimensionals, i és un algoritme que determina la forma en què els objectes de la escena van essent calculats i generalment es genera creant línies que apareixen en el pla de render o interpretant el resultant de baix a dalt o viceversa.
Serveix per la determinació de la superfície visible, en gràfics informàtics 3D, i funciona amb una base per fila en lloc d'un polígon per polígon o de píxel per píxel.La representació d'escaneig és també el mètode que utilitzen els videojocs i els programes de visualització científica i tècnica de Mosz. Els algoritmes d'escaneig també s'implementen de manera rendible en moltes solucions de màquinari. És el sistema més utilitzat entre les aplicacions 3D conegudes.

## Funcionament

En la representació d'escaneig, el dibuix s'aconsegueix mitjançant la iteració de parts components de l'escena geometrica primitiva. Si el nombre de pixels de sortida continua essent constant, el temps de renderització tendeix a incrementar linalment proporcional al nombre dels primitius. L'scaleline rendering passa una raig des de la càmera a través de cada píxel a la imatge renderitzada. Si el raig passa per una cara de malla, el color es calculat acord a la informació de la llum, el seu angle amb la cara normal, l'angle de la càmera amb aquella càmera i altra informació. Si no es troba cap cara, els píxels agafen el color del darrere. D'aquesta manera, el reproductor escaneja tots els píxels línia rere línia.
Abans de dibuixar, s'assigna i inicialitza un buffer Z, o de profunditat, que contingui tants píxels com el buffer de sortida. El buffer Z és com un camp d'alçada orientat a la càmera i fa un seguiment de quina part de la geometria de l'escena es troba més a prop de la càmera, facilitant l'eliminació de les zones ocultes. El buffer Z pot emmagatzemar atributs addicionals per píxel o assignar altres buffers per aconseguir aquest objectiu. Sempre que les primitives no estiguin ordenades en l'ordre de pintura frontal i no tinguin problemes de profunditat patològics, és obligatori un amortitzador Z.
Per cada primitiu, que consisteix en una part fàcil de dibuixar o que es pot dividir en parts fàcils. Els triangles o polígons que s'ajusten als píxels de la pantalla s'anomenen micropoligons i representen la mida més petita que ha de dibuixar un polígon.
És realitza la rasterització, que és l'assignació de colors als píxels de sortida a aquests polígons. Després d'esbrinar quins píxels d'imatge posicionen les cantonades d'un polígon, el polígon s'escanjea en una sèrie de ratlles hortizontals o verticals. Com que cada linea d'exploració és passa píxel per píxel, es calculen diferents atributs del polígon de manera que es pot acolorir correctament cada píxel. Aquests atributs són la zona normal, la posició de l'escena, la profunditat del buffer Z i les coordenades t. Si la profunditat d'un píxel del polígon és més propera a la càmera que el valor per al píxel de pantalla respectiu del buffer Z, el buffer Z s'actualitza i el píxel es mostra en color. En cas contari, s'ignora el píxel del polígon i es prova el següent.

## Reyes

Reyes és un motor de representació per crear un configurador 3D. S'ha converit en l'estàndard de la indústria.

## Exemples d'scanline rendering

* Open GL
* Photorealisitc Renderman

## Referències

* 1 2 3 3DMaster. «Guide for beginners: What is Scanline Rendering?» (en anglès americà). [Consulta: 1r desembre 2019].
* ↑ «Difference between Scanline Rendering and Raytracing Rendering» (en anglès americà), 30-07-2018. [Consulta: 26 novembre 2019].

## Enllaços externs

* https://www.youtube.com/watch?time_continue=26&v=oE8c9yUbRYI&feature=emb_logo
* https://www.youtube.com/watch?v=iFORrW3WvwY