En plus des excellentes réponses déjà données ici, j'aimerais mentionner la relativement nouvelle SMAA ou " Anti-crénelage morphologique sous-pixel " qui est, comme FXAA, une méthode d'anticrénelage post-processus. Dans de nombreux cas, elle surpasse les autres méthodes AA en termes de rapport qualité/coût de l'image.
QU'EST-CE QUE LE SMAA ?
Selon les termes des développeurs Jorge Jimenez, Jose I. Echevarria et Diego Gutierrez de l'initiative Université de Saragosse et Tiago Sousa de Crytek ,
SMAA est une implémentation MLAA très efficace basée sur le GPU, capable de gérer les caractéristiques sous-pixel de façon transparente. de gérer les caractéristiques sous-pixel de manière transparente et de disposer d'un de détection et de traitement des motifs. ( source )
Ou, plus largement (avec mes emphases) :
Nous présentons une nouvelle basé sur l'image , technique d'anticrénelage en post-traitement , qui propose des solutions pratiques aux problèmes courants et ouverts des des algorithmes d'anticrénelage en temps réel basés sur des filtres. Parmi les nouvelles fonctionnalités sont analyse de contraste pour une détection plus fiable des bords détection des bords y un moyen simple et efficace de traiter les objets géométriques pointus. et les lignes diagonales . Ceci, ainsi que notre accéléré et classification précise des modèles permet une meilleure reconstruction des silhouettes. Notre méthode montre pour la première fois comment combiner anti-crénelage morphologique (MLAA) avec des stratégies supplémentaires de multi/sur-échantillonnage d'échantillonnage (MSAA, SSAA). caractéristiques précises des sous-pixels et comment l'associer à reprojection temporelle ; en préservant toujours la netteté de l'image . Toutes ces solutions combinent des synergies permettant d'obtenir une technique très robuste, donnant des résultats d'une meilleure qualité générale que approches précédentes, tout en convergeant plus étroitement vers les références MSAA/SSAA tout en maintenant des temps d'exécution extrêmement rapides. De plus, nous proposons différents préréglages pour mieux s'adapter aux ressources disponibles ou aux besoins particuliers de chaque scénario. ( source )
COMMENT CELA FONCTIONNE-T-IL ?
La SMAA est basée sur la MLAA et la FXAA :
MLAA (Morphological AA) et FXAA (Fast Aproximate AA) sont des modes de post AA qui utilisent des filtres de flou. Ils détectent d'abord les contrastes (" bords ") dans l'image et l'image, puis la rendent floue le long du gradient.
Il en résulte une forte réduction des "effets d'escalier" visibles qui couvrent également les éléments suivants les textures alpha, mais il rend également tout flou, y compris les textures. Il s'agit également la forme la moins chère de l'AA et est souvent utilisée dans les versions de jeux.
La détection des bords de SMAA est cependant comparable à celle de SSAA :
La "détection" de l'alisasing a été améliorée et est plus proche de la détection utilisée dans MSAA que de celle utilisée dans MLAA et FXAA. utilisée dans MSAA que de celle utilisée dans MLAA et FXAA. Le résultat est que que le SMAA reste toujours très bon marché, lisse toujours les alpha-tectures et d'alpha et réduit considérablement les "effets d'escalier" visibles, mais ne rend pas l'image aussi floue. l'image. ( source )
Ce poste par Quelqu'un de simple sur les forums Anandtech explique brièvement ce que fait SMAA, et comment il peut fonctionner en conjonction avec MSAA :
L'injecteur SMAA avec son paramètre par défaut 'SMAA_PRESET_HIGH' est un peu plus gourmand en ressources GPU que la FXAA. GPU que la simple FXAA, donc la perte de performance est assez négligeable dans la plupart des cas.
La SMAA n'est pas comparable à la MSAA. MSAA ajoute en fait détail (sous-pixel) pour lisser les bords des polygones, SMAA essaie seulement de cacher les les irrégularités (mais fait un bon travail). De manière plus notable, vous aurez toujours le pixel-crawling/flickering avec SMAA.
Cependant, le SMAA peut être utilisé en combinaison avec le MSAA. C'est la partie "subpixel" de son nom, contrairement à n'importe quel autre post-traitement AA (que je connais), il peut détecter correctement les gradients, donc il peut être être utilisé en conjonction avec d'autres formes d'AA non-PP, comme le MSAA et le SSAA.
Cela dit, j'utilise actuellement 1,2x OGSSAA (résolution personnalisée NV) avec injection de SMAA dans les jeux qui ne sont pas compatibles avec MSAA. ) avec injection de SMAA, dans les jeux qui ne sont pas compatibles avec MSAA. SMAA s'occupe de l'anti-crénelage, et SSAA réduit considérablement la quantité de pixel-crawling. C'est magnifique, bien mieux que seulement 1,2x OGSSAA ou SMAA seul.
Je n'entrerai pas dans les détails ici, car les autres réponses ont déjà fourni des informations générales sur le mécanisme des différentes techniques d'AA. Vous pouvez en savoir plus sur cette méthode spécifique dans leur papier (PDF) ; ou en feuilletant leur site web. présentation en diaporama (lien direct) ; ou consultez le code sur GitHub .
COMPARAISON AVEC PLUSIEURS AUTRES TECHNIQUES AA
Quelques captures d'écran qui comparent le SMAA à d'autres techniques d'anticrénelage :
(source)
( source )
( source )
Une comparaison vidéo utilisant Crysis 2/CryEngine 3, qui l'a implémenté pour la première fois (Youtube) :
Ici est un lien direct vers la vidéo originale, non altérée par la compression.
Et voici une comparaison avec certaines méthodes MLAA, SRAA et FXAA (tirée de l'article cité ci-dessus) :
MISE EN ŒUVRE
Une version de SMAA, faite injectable par Andrej Dudenhefner, peut être téléchargé aquí y injecté dans de nombreuses applications DirectX 9/10/11 (x86) .
Cet article décrit comment procéder dans Fallout : New Vegas, mais cette méthode est très similaire dans la plupart des jeux Bethesda. Il fournit également quelques informations supplémentaires comparant et illustrant les différentes techniques d'AA.