Téléchargez l'application
Tom's Hardware sur l'App Store
Toute l'actu informatique de référence sur votre iPhone
Oui Non

Du nouveau du côté de l’antialiasing (fin)

par
Un autre problème récurrent avec le multisampling concerne les textures alpha, ces fameuses textures contenant une information de transparence. Ces textures sont fréquemment utilisées pour représenter des objets ayant un fort niveau de détails comme des arbres ou des grillages.

Le principe est simple : un test supplémentaire est effectué par pixel (test alpha), si la valeur alpha du pixel considéré ne vérifie pas ce test (supérieur à zéro par exemple) alors le pixel est rejeté. Le problème est, comme nous l’avons vu, que le multisampling ne filtre pas l’intérieur des textures, ce qui fait que lorsque ces textures alpha sont agrandies elles présentent une forte pixelisation qui détruit tout l’effet.

Là encore il existe des solutions, il est par exemple possible d’utiliser l’alpha blending au lieu de l’alpha testing afin de recréer des transitions douces vu que l’alpha blending effectue un mélange basé sur la valeur alpha plutôt qu’un simple test booléen visible/invisible. Le problème est que cette technique est plus coûteuse : elle nécessite un tri des faces (d’arrière vers l’avant) pour que le mélange soit correct. De plus l’alpha blending est plus coûteux en terme de bande passante vu qu’il nécessite trois opérations au niveau des ROP : Lecture/Modification/Ecriture d’une valeur dans le framebuffer, là où l’alpha testing ne nécessite qu’une seule écriture.

Heureusement NVIDIA a pensé à ce problème et nous propose le Transparency Adaptive Supersampling. Le supersampling effectuant un échantillonnage de texture pour chaque sous pixel il permet d’atténuer ce problème. C’est bien joli tout ça mais qui dit supersampling dit impact énorme sur les performances comme nous venons de le voir non ? Effectivement le supersampling est plus coûteux que le multisampling, c’est indéniable, mais NVIDIA affirme disposer d’algorithmes particulièrement évolués permettant de n’appliquer le supersampling qu’à des parties bien spécifiques de l’image, limitant ainsi l’impact sur les performances. Comment ? NVIDIA ne détaille pas sa méthode magique mais on peut supposer que lorsque ce mode est activé le hardware détecte si l’alpha testing est actif et l’alpha blending désactivé et applique le supersampling dans ces conditions. Dans tous les cas il faudra mesurer l’impact sur les performances une fois la carte entre les mains.

Supersampling

Transparent supersampling

Dans le pire des cas si les performances ne suivent pas NVIDIA dispose aussi d’un Transparency Adaptive Multisampling. Là encore NVIDIA ne détaille pas ses algorithmes mais on peut effectuer quelques suppositions.

Le plus logique consisterait en fait à supposer que le GPU utilise la valeur alpha comme un masque de couvrance pour l’antialiasing. Dans ce masque le nombre de 1 est proportionnel à la valeur alpha. Si l’alpha vaut 1.0 le masque ne contient que des 1, si l’alpha vaut 0 le masque ne contient que des 0. Alors certes notre texture alpha ne contient que des valeurs alpha de 1 ou de 0 ce qui fait que ce masque peut sembler inutile au premier abord. Mais lorsque la texture alpha est agrandie, des valeurs intermédiaires d’alpha sont générées par le filtrage bilinéaire. Ainsi si la texture est échantillonnée entre deux texels l’un ayant un alpha de 1.0 (opaque) et l’autre un alpha de 0.0 (transparent) la valeur alpha générée sera 0.5 et notre masque de couvrance contiendra deux 1 pour ce pixel ce qui signifie que la couleur finale du pixel sera déterminée pour moitié par la couleur de ce pixel, et pour l’autre par la couleur de fond.

Un ET logique bit à bit est ensuite effectué entre ce masque et le véritable masque de couvrance afin de s’assurer que les échantillons hors du polygone ne soient pas écrits dans le frame buffer. Rien ne dit que ce soit cette technique (appelée alpha-to-coverage dans la terminologie OpenGL) qui soit appliquée par NVIDIA mais c’est celle qui semblerait la plus probable.

Partager:
Soyez le premier à laisser un commentaire !
X
Valider

Commentaires

Les offres du moment

Newsletters


OK