Quais são as lacunas de amostra durante a conversão da verificação?

9

Em este tutorial ,

É muito comum que triângulos sejam renderizados e compartilhem arestas. O OpenGL oferece uma garantia de que, desde que as posições dos vértices da borda compartilhada sejam idênticas, não haverá intervalos de amostra durante a conversão da varredura.

1 Quais são exatamente as lacunas de amostra durante a conversão da verificação?

2 Sob que circunstâncias isso acontecerá?

3 Isso acontece quando a linha cruza o centro do fragmento?

AlexWei
fonte

Respostas:

8

Lacunas de amostra ocorrerão se você não fizer as coisas "corretamente".

No OpenGL ou D3D, assumindo uma ordem de enrolamento consistente, se você tiver triângulos ABC e CBD, quando um ponto de amostra - que é um teste durante a conversão de varredura para determinar se um ponto (pixel de leitura) está dentro de um triângulo - está exatamente no borda compartilhada BC, essa amostra pertencerá exatamente a um desses dois triângulos.

Isso evita lacunas e preenchimento duplo. O último seria problemático com, digamos, operações de translucidez ou estêncil.

Simon F
fonte
2
Como exemplo, dois triângulos de compartilhamento de borda podem dividir perfeitamente o mesmo pixel em dois, mas uma implementação OpenGL deve garantir que apenas um dos triângulos cubra o centro do pixel. Qual deles é dependente da implementação.
Andreas