Question

Quel est la différence entre l'utilisation face arrière et un tampon culling de profondeur OpenGL?

Était-ce utile?

La solution

backface culling est quand OpenGL détermine qui fait face sont opposé au spectateur et sont donc invisibles. Pensez à un cube. Peu importe la façon dont votre tourner le cube, 3 visages seront toujours invisibles. Déterminez qui fait face à ceux-ci sont, les retirer de la liste des polygones à tirer et que vous venez réduit de moitié votre liste de dessin.

tampon de profondeur est assez simple. Pour chaque pixel de chaque polygone dessiné, comparer sa valeur z dans le tampon z. si elle est inférieure à définir la valeur de tampon z en tant que nouvelle valeur de tampon z la valeur dans le tampon z. Sinon, jetez-le pixel. tampon de profondeur donne de très bons résultats, mais peut être assez lent que chaque pixel nécessite une recherche de valeur.

En réalité, il n'y a rien de semblable entre ces deux méthodes et ils sont souvent à la fois utilisé. Étant donné un cube que vous pouvez d'abord découper la moitié des polygones à l'aide culling puis les dessiner à l'aide tampon z.

Abattage peut réduire les polygones rendus, mais ce n'est pas un algorithme de tri. C'est ce tampon Z est.

Autres conseils

Un triangle donné a deux côtés, la face avant et la face arrière. Le côté vous êtes à la recherche est déterminé par l'ordre des points apparaissent dans la liste des sommets (également appelé l'enroulement). Typiquement, des listes de triangles ont enroulement en alternance afin de pouvoir réutiliser les deux points précédents, mais le parement d'un triangle donné dans la bande qui ne fonctionne pas alternatif. Retour culling face est l'étape d'optimisation où sont retirés de la liste des triangles à dessiner dans des triangles de la scène qui sont orientés loin de la vue.

est utilisé pour accrocher la chose la plus proche (la profondeur est par rapport à la vue) qui a déjà été rendu un tampon de profondeur (z-buffer). Si la chose qui vient à côté de la liste de tirage est derrière quelque chose que j'ai dessiné déjà (elle a une profondeur qui la place plus loin) Je peux sauter le dessin, car il est obstrué. Si la nouvelle chose à tirer est plus proche, je dessine et mettre à jour la mémoire tampon de profondeur avec la nouvelle valeur plus proche.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top