Quelles sont les lacunes de l'échantillon lors de la conversion de l'analyse?

9

Dans ce didacticiel ,

Il arrive très souvent que des triangles soient rendus qui partagent des bords. OpenGL offre la garantie que, tant que les positions des sommets des bords partagés sont identiques, il n'y aura pas de lacunes d'échantillon pendant la conversion de balayage.

1 Quels sont exactement les écarts d'échantillon lors de la conversion de numérisation?

2 Dans quelles circonstances cela se produira-t-il?

3 Cela se produit-il lorsque la ligne traverse le centre du fragment?

AlexWei
la source

Réponses:

8

Des écarts d'échantillon se produiront si vous ne faites pas les choses "correctement".

En OpenGL ou D3D, en supposant un ordre d'enroulement cohérent, si vous avez des triangles ABC et CBD, alors lorsqu'un point d'échantillonnage - c'est-à-dire un test pendant la conversion de numérisation pour déterminer si un point (pixel lu) est à l'intérieur d'un triangle - se trouve exactement sur le bord partagé BC, alors cet échantillon appartiendra exactement à l'un de ces deux triangles.

Cela évite à la fois les lacunes et le double remplissage. Ce dernier serait problématique avec, par exemple, des opérations de translucidité ou de stencil.

Simon F
la source
2
Par exemple, deux triangles partageant les bords peuvent parfaitement diviser le même pixel en deux, mais une implémentation OpenGL doit garantir qu'un seul des triangles couvre le centre du pixel. Lequel dépend de l'implémentation.
Andreas