Compreender a rasterização e o algoritmo do pintor pode ajudar.
Uma maneira de renderizar gráficos vetoriais (gráficos definidos por polígonos, em vez de pixels) em pixels é rasterizar os polígonos enquanto executa o algoritmo do pintor.
O algoritmo do pintor é um processo de baixo para cima, em que você coloca o fundo pela primeira vez e depois desenha sobre esse fundo com cada camada de cor até chegar à camada superior.
Ao depositar uma camada, preste atenção à sua cobertura (geralmente armazenada em um canal extra, o canal alfa) e use-a para misturar a cor adicionada com o que já existe.
Se sua nova camada cobrir um pixel em 50% e for azul, você calcula a média da cor atual desse pixel com azul e desenha-a lá.
As coisas ficam um pouco mais complexas se você estiver criando uma imagem com transparência, mas não fundamentalmente.
Rasterização é o processo de transformar um polígono em pixels. Aqui, calculamos quanto o polígono cobre um determinado pixel usando alguma álgebra e calculamos um valor de cobertura.
Se você tem duas arestas de um polígono coincidentes - exatamente uma em cima da outra - mas ambas cobrem metade de um determinado pixel, o que acontece é um problema.
Suponha que o polígono inferior seja vermelho e o topo azul e o fundo seja branco.
Primeiro nós pintamos o vermelho. Isso se mistura com o branco, levando a 50% de branco e 50% de vermelho.
Depois pintamos o azul. Isso se mistura com o 50% branco 50% vermelho e temos 25% branco 25% vermelho 50% azul. O mesmo acontece se vermelho e azul se encontrarem no meio ou se o azul cobrir completamente o vermelho.
Mas "na realidade" o polígono azul cobriu completamente o vermelho, então por que o estamos vendo? Porque o algoritmo esquece detalhes de posicionamento de sub-pixel.
Contanto que haja 100% de cobertura de um polígono, isso não é um problema.
Agora, esse problema não é fundamental. Você pode fazer a renderização de polígono com uma abordagem do tipo traçado de raio (onde você renderiza demais por um fator de N ^ 2 em pontos) ou mesmo uma abordagem de vetor puro (onde você subtrai formas de bloqueio da geometria das formas em cortando-os). Em nenhum dos casos, as cores "ocultas" vazam para a imagem de saída.
O algoritmo do pintor não é o único caso em que a geometria "oculta" pode vazar. Se você estiver imprimindo com mídia opaca, às vezes as camadas de cores não estão perfeitamente alinhadas. Portanto, as subcamadas vazam quando a camada superior deve cobri-la completamente.
Como você não sabe como sua imagem vetorial será impressa, entalhes como esse permitem criar imagens mais robustas contra técnicas imperfeitas de impressão / exibição.