Rasterização 2D
Algoritmo do ponto médio para linhas e preenchimento de regiões por varrimento.
Nesta página
No fim da pipeline, a geometria já está achatada no plano do ecrã e falta a última conversão: decidir que píxeis acendem. A rasterização faz exatamente isto, com aritmética inteira rápida em vez de equações caras. É o fecho da abordagem de cima para baixo da cadeira: do 3D até ao píxel.
Linhas pelo ponto médio
Desenhar o segmento de a parece pedir a reta com arredondamentos, mas o algoritmo do ponto médio (variante de Bresenham) decide cada píxel com somas inteiras. Para declive entre e , avança uma coluna de cada vez e escolhe entre o píxel leste (E) e o nordeste (NE), consoante o ponto médio entre eles fica acima ou abaixo da reta. A variável de decisão começa em e atualiza-se com após E e após NE.
Aqui e , logo começa em . Segue os passos a partir de :
| antes | Escolha | Píxel | depois | |
|---|---|---|---|---|
| 1 | E | |||
| 2 | NE | |||
| 3 | E | |||
| 4 | NE | |||
| 5 | E |
Os píxeis acesos são , , , , e . Confirma com a reta: em , arredonda para ; em , arredonda para . O algoritmo nunca calculou nem : seguiu o sinal de com inteiros. Para outros octantes troca-se o eixo de avanço ou o sinal, mas a estrutura é a mesma.
Regiões por varrimento
Preencher um polígono faz-se por varrimento (scanline): para cada linha horizontal, interseta a linha com as arestas, ordena as interseções e preenche entre pares. A regra dos pares garante que buracos e concavidades saem certos sem casos especiais.
Toma o triângulo de vértices , e e a linha . A aresta esquerda vai de a com declive , logo cruza em . A aresta direita vai de a com declive e cruza em . Preenchem-se os píxeis inteiros entre elas: , e . Repete para cada linha e o triângulo fica sólido. As extremidades partilhadas entre arestas tratam-se com uma convenção fixa (por exemplo, contar o mínimo e excluir o máximo) para não pintar nem falhar a fronteira duas vezes.