Principio de suavizado

El artículo se reimprime en: http://geekfaner.com/unity/blog9_AA.html

Este es un gran artículo que vi en línea y me gustaría compartirlo con ustedes.

Cuando jugué a Cocos antes , no necesitaba suavizado porque el juego 2D se jugaba horizontal y verticalmente sin ningún alias. En ese momento, escuché que se debe activar AA para hacer juegos en 3D. Pero he estado creando juegos en 3D durante algunos años, pero AA todavía no se usa mucho en el proyecto, debido a los problemas de rendimiento de los juegos móviles. Si AA no está activado, el alias será realmente grave, por lo que utilizaré un artículo para estudiar los efectos y el rendimiento de varios AA para facilitar futuras compensaciones.

Primero, reimprima dos artículos en alta calidad de película. Análisis de la tecnología anti-aliasing de juegos 3D y comparación de cuál es mejor y cuál es peor, comparación de 7 tipos de efectos anti-aliasing

El origen de los bordes irregulares de las imágenes de superficiales a profundos

Sabemos que las pantallas de las computadoras están formadas por pequeños píxeles. Aunque estos píxeles son muy pequeños, cada píxel cubre un área determinada de la pantalla. Podemos comparar estos píxeles con ventanas que conducen al mundo virtual, y la tarea de la computadora es determinar el color de cada píxel para que podamos ver la imagen más bella a través de estas ventanas.

Automóvil club británico

Sin embargo, la velocidad de renderizado también es un factor importante a considerar para una imagen "en tiempo real", por lo que normalmente el color de un píxel está determinado por el color obtenido al muestrear un determinado punto dentro del píxel (es decir, lo que llamamos punto Punto de muestreo Muestreo). Desafortunadamente, este enfoque para aumentar la velocidad puede dar como resultado que el color muestreado de un solo punto no refleje la condición del color de toda el área cubierta por el píxel. Esto es muy obvio cuando ocurre en el borde de un objeto.

Automóvil club británico Automóvil club británico

Hay algunos píxeles "a lo largo" del borde del objeto. El color dentro del píxel tiene una determinada proporción y también queremos reflejar esta proporción en la pantalla externa. Los bordes del objeto aparecerán de diferentes colores en ambos lados. La tecnología de muestreo de puntos hará que todo el píxel tenga un color determinado en ambos lados del borde. Independientemente de si el borde de un objeto está coloreado con un color de primer plano o un color de fondo, naturalmente aparecerá irregular debido al salto repentino de color entre píxeles.

Sabemos que las pantallas CRT, LCD y plasma usan píxeles para mostrar imágenes. Cuando se muestran imágenes, a menudo hay varios colores, pero un píxel solo puede mostrar un color, por lo que un píxel a menudo muestra un color y el que está al lado. muestra otro color, lo que crea un borde irregular.

Esta situación es lo que llamamos Aliasing. Esto se debe a que el área de este píxel cubre exactamente el borde y existe en ambos lados. Un mejor enfoque es mezclar los colores de primer plano y de fondo para crear un tercer color que ocupe un píxel. Este método puede mejorar eficazmente el rendimiento de los bordes de la imagen, es decir, lograr el efecto de "anti-aliasing".

Automóvil club británico Automóvil club británico Automóvil club británico Automóvil club británico

Antialiasing: la traducción estándar es "distorsión de plegado anti-imagen". Porque en las imágenes 3D, sujetas a restricciones de resolución, los bordes de los objetos siempre aparecerán más o menos triangulares en el aliasing, y el antialiasing se refiere a suavizar los bordes de la imagen para que los bordes de la imagen se vean más suaves y más cercanos al real. cosa objeto. Es una forma de mejorar la calidad de la imagen para suavizarla.

Automóvil club británico

Hoy en día, el último anti-aliasing de pantalla completa FSAA (FullScene Anti-Aliasing) puede eliminar eficazmente la desalineación en la unión de polígonos (especialmente en la combinación de polígonos más pequeños) y reducir la distorsión de la imagen. Cuando se procesa el suavizado panorámico, se deben muestrear los píxeles cercanos a la imagen para lograr diferentes niveles de efectos de suavizado. En pocas palabras, mezcla los colores de los píxeles en el borde de la imagen y sus lados, y luego reemplaza los puntos en la posición original con puntos recién generados con características de mezcla para lograr el efecto de suavizar la forma del objeto y eliminar el alias.

El anti-aliasing puede entenderse básicamente como un algoritmo matemático: calcular el "color medio" que se le debe asignar a un píxel. Para calcular el "color promedio", se requiere muestreo: cuanto mayor sea el espacio de muestra, mejor será la calidad de la imagen y mayor será el tiempo de cálculo requerido.

AA se divide en muchos tipos: la tecnología tradicional de anti-aliasing "Full Screen Anti-Aliasing/FSAA", que incluye supermuestreo anti-aliasing (SSAA) , multi-sampling anti-aliasing (MSAA) y cobertura de muestreo anti-aliasing (CSAA). ) , filtro antialiasing programable (CFAA) . Posteriormente aparecieron MLAA , FXAA , TXAA y SMAA basadas en posprocesamiento . (Patrick: En términos de rentabilidad, FXAA es el más rentable, seguido de SMAA y MSAA, de los cuales MSAA tiene el mejor efecto. Por lo tanto, FXAA se usa actualmente con mayor frecuencia en juegos móviles (como Honkai Impact 3). Hay muchos tipos de algoritmos FXAA (actualmente uso FXAA de NVdia).

Super-Sampling Anti-aliasing (SSAA) Este es un método de anti-aliasing temprano que consume más recursos, pero es simple y directo: primero asigne la imagen al caché y amplíela, y luego use supermuestreo para ampliar la imagen ampliada. . Para muestrear un píxel, generalmente se seleccionan 2 o 4 píxeles adyacentes. Después de mezclar estas muestras, el píxel final generado hará que cada píxel tenga las características de los píxeles adyacentes y el color de transición entre píxeles será similar. Suaviza la transición de color en los bordes de los gráficos. Luego, los píxeles finales se restauran al tamaño original de la imagen y se guardan en el búfer de cuadros, que es la memoria de video, se almacenan en lugar de la imagen original y finalmente se envían al monitor para mostrar un cuadro.

Automóvil club británico

Esto equivale a tomar una imagen grande borrosa y luego reducirla a una imagen pequeña y clara mediante el refinamiento. Si bien el tamaño de la pantalla permanece sin cambios, la resolución aumenta y los píxeles individuales se vuelven extremadamente pequeños, lo que puede reducir en gran medida el alias de la pantalla. Si cada fotograma tiene suavizado, todos los fotogramas de un juego o vídeo tendrán suavizado. Al asignar una imagen a un caché y ampliarla, el factor de ampliación se utiliza para efectos de suavizado independientes. Sin embargo, debido a la amplificación de toda la pantalla, los recursos de visualización que consume también son muy grandes.

Generalmente, se utilizan dos métodos de muestreo en el suavizado de supermuestreo: Supermuestreo de cuadrícula ordenada (OGSS), que selecciona dos píxeles adyacentes durante el muestreo. El supermuestreo de cuadrícula rotada (RGSS para abreviar) selecciona 4 píxeles adyacentes al realizar el muestreo.

MSAA es la abreviatura en inglés de MultiSampling Anti-Aliasing, que se refiere a anti-aliasing de muestreo múltiple. El principio es encontrar los píxeles en el borde del objeto y luego escalar la pintura a la pantalla actual. Es una versión mejorada de SSAA . MSAA encuentra los píxeles en el borde del objeto y luego los escala. Dado que solo se escalan los píxeles externos del objeto, los píxeles internos que no producirán alias se ignoran, por lo que la tarjeta gráfica no requiere una gran cantidad de cálculos como SSAA (Super Sampling Anti-Aliasing) , por lo que MSAA es más eficiente que SSAA ..

La siguiente es una respuesta de Zhihu xiaocai , enlace original: https://www.zhihu.com/question/58595055/answer/157756410

Para obtener información sobre MSAA, consulte el documento de especificaciones oficial. OpenGL es mantenido por Khronos: https://khronos.org/registry/OpenGL/index_gl.php De hecho, muchos de los contenidos están en el Libro Rojo y Azul. Microsoft mantiene DX, pero solo la parte superior está expuesta a través de la documentación del SDK de DX o las reglas de rasterización.

先贴出OpenGL官方描述:Primero, cada fragmento incluye un valor de cobertura con el valor de bits de SAMPLES. Segundo, cada fragmento incluye valores de profundidad de SAMPLES y conjuntos de datos asociados, en lugar del valor de profundidad único y el conjunto de datos asociados que se mantienen en modo de renderizado de muestra única. Una implementación puede optar por asignar los mismos datos asociados a más de una muestra. La ubicación para evaluar dichos datos asociados puede estar en cualquier lugar dentro del píxel, incluido el centro del fragmento o cualquiera de las ubicaciones de la muestra. No es necesario evaluar todos los diferentes valores de datos asociados en la misma ubicación. Por lo tanto, cada fragmento de píxel consta de coordenadas de cuadrícula enteras x e y, valores de profundidad de SAMPLES y conjuntos de datos asociados, y un valor de cobertura con un máximo de bits de SAMPLES.

La respuesta completa usa MSAA4x como ejemplo. La descripción oficial es que cada píxel tiene una máscara de cobertura de 4 bits y 4 valores de profundidad (uno para cada muestra), y hay otros atributos (el más simple es el color), y Puede tomar una copia en color de todas las muestras (para ser precisos, solo copiar en aquellas muestras con una máscara distinta de cero), y este color puede provenir del centro del píxel o de una muestra determinada. (Patrick: Según mi comprensión personal, cada muestra debe tomarse en el lugar correspondiente. La explicación detallada es la siguiente)

Después de activar msaa, cada píxel solo se ejecuta una vez de forma predeterminada, que es la frecuencia de píxeles, es decir, PS solo ejecuta el cálculo del color en el centro de cada píxel y luego lo copia en 4 muestras. Por supuesto, como se mencionó anteriormente, esta copia no necesariamente proviene del centro del píxel, sino que también puede ser de otras posiciones del píxel. Por ejemplo, si el método de interpolación de color se declara como Centroide en DX, entonces cuando el El centro del píxel no está dentro del triángulo (pero hay una muestra dentro del triángulo), la muestra dentro del triángulo se seleccionará para evitar "Outerpolar". La ventaja de la frecuencia de píxeles es que PS sigue siendo 1x, lo que reduce el consumo, pero a veces el efecto visual no es muy bueno, por lo que también puede activar la frecuencia de muestreo, que requiere cuatro muestras de un píxel para ser ejecutadas por 4 PS respectivamente. y cada muestra calcula su propio color. Puede consultar la descripción de ARB_sample_shading: https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_sample_shading.txt.

El algoritmo predeterminado de 4xmsaa es sumar los colores muestreados en la ubicación de cada muestra y dividirlos por 4.

Independientemente de la frecuencia de píxeles o la frecuencia de muestra, la profundidad es siempre 4x, es decir, cada muestra tiene su propia profundidad. Volvamos al concepto de muestra "válida": la muestra que no pasa la prueba de profundidad no es válida y el color generado por PS no se copiará en ella. Si las cuatro pruebas de profundidad de muestra fallan, el píxel se descarta.

Tomemos como ejemplo 4xMSAAMSAA. Cuando está activado, la resolución es Realice la prueba Z en el nivel de muestra (la prueba pasa si la Z del píxel actual es menor que la Z en el búfer). El color final del píxel es el promedio de las cuatro muestras, y 100 *100 se obtiene mediante resolución bilineal. El color de cada muestra puede provenir de diferentes triángulos, como se muestra en el lado izquierdo de la imagen a continuación (el color final debe ser (rojo + verde)/2). Hay varios triángulos que cubren la misma muestra. Por supuesto, elija el pase de prueba Z final que esté más cerca de los ojos, como se muestra en el lado derecho de la imagen a continuación (el color final debe ser (rojo + color de fondo)/2) . En definitiva, es el valor medio de los cuatro colores de la muestra, la muestra que no está cubierta por ningún triángulo toma naturalmente el color de fondo.

Automóvil club británico

Aunque MSAA se ha utilizado ampliamente, un defecto importante es que no puede manejar materiales Alpha, por lo que no puede funcionar en algunos objetos delgados como cercas, hojas, alambre de púas, etc. Para resolver este problema, ATI agregó anti-aliasing adaptativo a la serie X1000, que mejora en gran medida la calidad de la imagen mediante multimuestreo adicional e incluso supermuestreo. El suavizado adaptativo puede realizar selectivamente multinivel o supermuestreo específicamente para materiales Alpha. Esto da como resultado una menor pérdida de rendimiento que usar SSAA por completo, ¡y la calidad de la imagen sigue siendo perfecta! (Patrick: ¿No podemos usar el A2C de MSAA para procesar materiales Alpha?)

Automóvil club británico

Coverage Sampling Anti-Aliasing (CSAA para abreviar) es una tecnología anti-aliasing que apareció cuando apareció la serie NVIDIA G80. Su principio es sobrescribir las coordenadas de subpíxeles que deben muestrearse en el polígono de borde y forzar que las coordenadas de píxeles originales se coloquen en las coordenadas precalculadas por el hardware y el controlador. Esto es como MSAA con estándares de muestreo unificados, que puede ejecutar muestreo de borde con la mayor eficiencia, mejorar significativamente el tráfico y consumir recursos relativamente bajos. (Patrick: ¿Entonces solo se aplica a las tarjetas gráficas NV? Tiene el mismo aspecto que MSAA. No sé cuál es la implementación específica, TODO)

La tecnología de antialiasing de filtro programable (Custom Filter Anti-Aliasing) se originó en la familia R600 de AMD. En pocas palabras, CFAA es un MSAA que expande el área de muestreo. Por ejemplo, el MSAA anterior seleccionaba estrictamente los píxeles del borde del objeto para escalar, mientras que CFAA puede elegir de manera flexible escalar los píxeles que tienen un mayor impacto en el efecto de alias a través del controlador. Se sacrifica el rendimiento a cambio de efectos suaves. El uso de recursos de la tarjeta gráfica también es relativamente pequeño. (Patrick: ¿Entonces solo es aplicable a las tarjetas gráficas AMD? No es de extrañar que se llame programable. También puede realizar AA selectivamente a nivel de píxeles. Es sorprendente... No sé cuál es la implementación específica, TODO)

Desde el lanzamiento del G80, la tecnología CSAA de NVIDIA ha sido reconocida por cada vez más desarrolladores de juegos. Creo que muchos jugadores han notado que muchos juegos ahora ofrecen opciones CSAA directamente en el menú. Los usuarios de tarjetas N no necesitan ingresar al panel de control del controlador. Es muy conveniente llamar. Aunque el CFAA de AMD se ha utilizado desde la era HD2000 hasta la era HD5000, a casi nadie le importa.

Finalmente, en la era HD6000, AMD abandonó CFAA, que tenía poco valor práctico, y desarrolló una nueva solución anti-aliasing: Morphological AA, traducida literalmente como anti-aliasing morfológico. Este tipo de suavizado utiliza la tecnología informática DirectCompute para un filtrado posprocesador de alta eficiencia. El nuevo modo de suavizado tiene un rango de aplicación más amplio que el MSAA tradicional y la precisión puede ser de hasta 24 veces, lo que es más eficiente que SSAA ( Super Sampling Anti-Aliasing) Mucho más rápido, casi igual que el CFAA de mayor precisión, pero con mejor calidad de imagen. (Patrick: ¿Entonces solo es adecuado para tarjetas gráficas AMD? Parece que solo se puede usar en PC de gama alta. El mejor efecto + rendimiento correspondiente... No sé cuál es la implementación específica, TODO)

Automóvil club británico

Aunque la tecnología anti-aliasing de pantalla completa FSAA está muy madura, no importa cómo se desarrolle, uno de los mayores inconvenientes de FSAA no se puede evitar, que es que la imagen suavizada se volverá borrosa, lo que afectará el efecto visual. Además, para MSAA convencional, la cantidad de fotogramas se reducirá considerablemente después de abrir 4 veces o más, lo que afectará el rendimiento. Hoy en día, cuando la calidad de la imagen es cada vez más realista, es necesario eliminar los términos desenfoque e ineficiencia. Por lo tanto, se derivan las nuevas tecnologías anti-aliasing que se discutirán hoy: FXAA y TXAA. (Patrick: Este párrafo es una reproducción de http://diy.pconline.com.cn/graphics/study_gra/1208/2922104_all.html#content_page_3. No sé si FXAA o FSAA están borrosos...)

Fast Approximate Anti-Aliasing es una aproximación de alto rendimiento del efecto tradicional MSAA (Multiple Sampling Anti-Aliasing) . Es un sombreador de píxeles de un solo paso que se ejecuta en la etapa de posprocesamiento del canal de renderizado del juego de destino como MLAA, pero no utiliza DirectCompute como este último. Es un sombreador de posprocesamiento puro y no depende de ninguna computación GPU. API . Debido a esto, la tecnología FXAA no tiene requisitos especiales para las tarjetas gráficas y es totalmente compatible con diferentes tarjetas gráficas de NVIDIA y AMD (MLAA solo admite tarjetas A) y DX9, DX10 y DX11.

Una explicación completa y detallada del anti-aliasing aproximado rápido FXAA

Actualmente, el único software que puede probar la calidad de imagen FXAA es un programa de demostración SDK lanzado por NVIDIA. Este programa puede probar el rendimiento de la calidad de imagen de MSAA y FXAA en diferentes resoluciones. MSAA se puede configurar en un máximo de 4AA, mientras que FXAA usa The El ajuste de calificación es hasta el nivel 5, y MSAA y FXAA se pueden activar al mismo tiempo para eliminar aún más el alias, pero el rendimiento disminuirá mucho.

Sin embargo, cabe señalar que el suavizado morfológico no es útil con efectos de profundidad de campo y desenfoque de movimiento. Sin embargo, FXAA logra la misma calidad de imagen en comparación con FSAA, pero reduce en gran medida la presión informática, lo que se puede ver en la prueba de rendimiento real a continuación. Por lo tanto, FXAA representa la dirección futura de la calidad y velocidad de las imágenes 3D, para que los jugadores no tengan que preocuparse por lanzas y escudos. Es una tecnología anti-aliasing con un gran potencial.

FXAA es una etapa de postproducción de renderizado. Esta forma de suavizado solo requiere detección de bordes y selección de píxeles clave, y no implica remuestreo, lo cual es muy amigable para los recursos del sistema. Casi toda la carga recae en el backend de renderizado y los recursos de sombreado se pueden ahorrar en gran medida.

Automóvil club británico

Rápido rendimiento de calidad de imagen con suavizado aproximado (FXAA)

Automóvil club británico

Lo anterior es la diferencia de calidad de imagen probada en la demostración oficial proporcionada por NVIDIA. El lado izquierdo muestra el estado sin AA habilitado. Puede ver que la diferencia es bastante obvia alrededor de las barandillas. El centro y la derecha muestran el estado de activación de 4xMSAA y FXAA de nivel 3 respectivamente. Puede ver que el borde de la valla se ha vuelto significativamente más suave y la diferencia en la calidad de imagen entre los dos no es obvia.

Proceso rápido del algoritmo de suavizado aproximado (FXAA)

Automóvil club británico

En cuanto a TXAA, es una tecnología anti-aliasing con más potencial. Cuando se lanzó la nueva tarjeta gráfica con arquitectura Kepler GTX680, NVIDIA anunció que vendría una nueva tecnología anti-aliasing, llamada TXAA.

El principio de TXAA es proporcionar procesamiento de corrección de color a nivel de hardware a través del proceso de posprocesamiento HDR. El método de posprocesamiento es en realidad similar al FXAA: integra hardware AA y filtros complejos de alta calidad similares a los utilizados en películas CG. Reduzca el desgarro y la vibración en el suavizado.

El principio de TXAA es proporcionar procesamiento de corrección de color a nivel de hardware a través del proceso de posprocesamiento HDR. El método de posprocesamiento es en realidad similar al FXAA: integra hardware AA y filtros complejos de alta calidad similares a los utilizados en películas CG. Reduzca el desgarro y la vibración en el suavizado.

Por lo tanto, TXAA es un nuevo tipo de anti-aliasing y requiere un nuevo desarrollo de código que agregue TXAA para admitirlo. Por lo tanto, actualmente no existe ningún juego en el mercado que admita TXAA. Sin embargo, a medida que NVIDIA avance, se estima que TXAA tendrá cada vez más juegos.

El segundo controlador Beta 304.79 de la serie R304 lanzado recientemente por NVIDIA agregó soporte para la tecnología anti-aliasing NVIDIA TXAA. The Secret World mencionado en él se convertirá en el primer juego compatible con la tecnología TXAA (el soporte se actualizará en el próximo parche). más adelante). La calidad de imagen real y la experiencia de rendimiento se conocerán después del lanzamiento.

Actualmente, TXAA se divide en dos niveles: TXAA1 y TXAA2. TXAA1 puede lograr el efecto de 8x MSAA, con una eficiencia de ejecución equivalente a 2x MSAA, mientras que TXAA2 proporcionará una mayor calidad de imagen. (Patrick: Necesito ver el algoritmo de TXAA antes de hablar de ello... Porque algunos amigos dijeron que txaa es un gran pozo, es fácil de usar, pero causará muchos problemas, que deben resolverse en consecuencia)

Automóvil club británico

Sitio web del algoritmo smaa:

http://www.zcom.com/article/63151/
http://www.expreview.com/17878-3.html

También existe PostAA utilizado por cryengine. Cómo implementarlo requiere consultar el código fuente de ce para averiguarlo. Algunas personas también dicen que postaa se deriva del algoritmo smaa.

  • Antialiasing supermuestreado (SSAA)
  • Antialiasing de muestreo múltiple (MSAA)

  • Automóvil club británico

    1) PS (Pixel Shader, sombreador de fragmentos) solo es responsable de calcular el color de cada píxel/muestra. No sabe cuántas muestras están cubiertas y son válidas para cada píxel. De hecho, el propio PS puede descartar la muestra. 2) Es necesario ejecutar después del corte (rechazo de tijera), para obtener la máscara de cobertura no solo depende de si las cuatro muestras están cubiertas por triángulos (rasterización), sino también de si está dentro de la tijera. Por ejemplo, las 4 muestras de un determinado píxel están cubiertas por un triángulo, pero sólo 2 muestras pueden estar en tijera, por lo que la operación de "síntesis" es imposible de realizar en PS, porque PS no tiene la información requerida. 3) Al menos es imposible completar la resolución en el PS de la primera pasada. Generalmente, es difícil colocar la capa inferior en su lugar en una sola pasada, porque 4x es esencialmente 4x de los datos intermedios. Una pasada puede obtener 4x profundidad y color, pero la visualización final es 1x Imagen, en la etapa de fusión de salida, generalmente no se agregarán recursos para DownSample. Por lo tanto, el color 4x generalmente se escribe en el búfer y luego se usa un pase (invisible para la capa superior) de PS para el muestreo descendente para obtener el color de cada píxel, que sigue siendo un color 1x. (Patrick: Entonces, el punto de tiempo para la ejecución de muestreo múltiple es: rasterización > sombreador de fragmentos > prueba de recorte > msaa)

    Alpha to Coverage solo funciona cuando MSAA Enable está habilitado, porque cambia el color al cambiar la máscara de cobertura (a través de la operación AND). A2C usa MSAA y no afectará otros resultados. Compare AlphaTest, Alpha to Coverage y Alpha Blend juntos: el orden de la prueba Alpha es irrelevante, pero los efectos de borde son deficientes. Alpha Blend tiene mejores efectos de borde, pero requiere un orden estricto. Hasta cierto punto, Alpha to Coverage puede entenderse como una prueba Alpha a nivel de muestra, que convierte Alpha en una máscara para lograr una transición suave. Si comprende que el orden de la Prueba Alfa es irrelevante, también comprenderá que el orden de la Prueba Alfa a la Cobertura es irrelevante.

    Con respecto a supermuestra y MSAAMSAA, el valor predeterminado es la frecuencia de píxeles. Cuando la frecuencia de muestra está activada, creo que debería contarse como supermuestreo. Stack Overflow tiene una pregunta similar que también se menciona: multimuestreo en proceso. La diferencia entre supermuestreo y MSAA es si PS realiza una ejecución por píxel o por muestra en cada píxel. MSAA también procesa todas las posiciones, no solo los bordes. Solo porque la máscara de cobertura de píxeles interna del triángulo es 1111, el color final sigue siendo igual al color central del píxel. (Patrick: ¿En serio? Soy escéptico... Porque también hay documentos que dicen esto: MSAA solo realiza anti-aliasing de supermuestreo en los datos en el búfer Z (Z-Buffer) y el búfer de plantilla (Stencil Buffer) Se puede entender fácilmente. Para realizar el suavizado solo en los bordes de los polígonos. En este caso, los requisitos de consumo de recursos de MSAA se reducen considerablemente en comparación con el procesamiento de todos los datos de la imagen por parte de SSAA, pero la calidad de la imagen puede ser ligeramente inferior a SSAA.)

    Automóvil club británico
  • Antialiasing adaptativo (AAA)
  • Antialiasing de muestreo de cobertura (CSAA)
  • Antialiasing filtrado programable (CFAA)
  • Antialiasing morfológico (MLAA)
  • Antialiasing aproximado rápido (FXAA)
    • (Patrick: ¿Es tan complicado? Ni siquiera lo entiendo…, TODO)
    • FXAA trata esto como datos de color RGB no lineales de entrada y convierte internamente estos datos en una estimación de brillo escalar para la unidad lógica de sombreado.
    • Verifique el contraste local para evitar el procesamiento en partes sin bordes. El borde detectado está en rojo y la parte amarillenta incluida representa cuánta irregularidad de subpíxeles se detecta.
    • Los píxeles que pasan la prueba de contraste local se clasifican como horizontales (que se muestran en dorado) o verticales (que se muestran en azul).
    • Se supone que se selecciona la orientación del borde y el par de píxeles a 90 grados del borde con mayor contraste, representado en azul/verde.
    • El algoritmo busca extremos de bordes positivos y negativos (rojo/azul) en la dirección del borde, comprobando cambios significativos en el brillo promedio de los pares de píxeles de alto contraste a lo largo del borde.
    • Suponiendo que el final del borde, la posición del píxel en el borde se ha convertido en un desplazamiento de subpíxel de 90 grados perpendicular al borde para reducir el alias, rojo/azul representa -/+ desplazamiento horizontal, mientras que dorado/azul cielo representa - /+ desplazamiento vertical.
    • Teniendo en cuenta este desplazamiento de subpíxeles, se vuelve a muestrear la textura de entrada.
    • Finalmente, se sintetiza un filtro de paso bajo en función de la cantidad de alias de subpíxeles que se detecta.
  • TAILANDÉS
  • PEQUEÑO
  • PublicarAA

A continuación veremos las diferencias entre diferentes anti-aliasing a través del rendimiento real en varios juegos.

plataforma de prueba

Automóvil club británico

"The Elder Scrolls 5: Skyrim"

Automóvil club británico

"Efecto de masa 3"

Automóvil club británico

"Tierras fronterizas"

Automóvil club británico

En "The Elder Scrolls V: Skyrim", podemos ver que Adaptive AA e incluso EQAA funcionan bien, especialmente cuando se procesan hojas, y la caída del rendimiento es razonable. La próxima vez que inicie Skyrim o Far Cry en DX 9, recuerde configurar la configuración AA en el Centro de control en AA adaptable.

Aunque el desempeño no es perfecto, el desempeño de MSAA en algunos casos es digno de reconocimiento.

Si le gusta una sensación un poco confusa, entonces FXAA lo tiene cubierto. La mayoría de FXAA traerán HDR, Bloom y otros efectos especiales, lo que hace que muchas personas piensen erróneamente que FXAA es mejor, pero no a todos les gustan este tipo de efectos especiales. Aunque es 10 veces mejor que MLAA, todavía está borroso, por lo que si te gustan los efectos nítidos, FXAA no es para ti. (Patrick: Algunas personas a continuación también dijeron que FSAA está borrosa. No sé cuál está borroso, FXAA o FSAA).

El rendimiento de SMAA basado en AMD MLAA realmente no es muy bueno. En "Mass Effect 3", el rendimiento de SMAA no es tan bueno como el de MLAA. Aunque escuché que su desempeño en "Battlefield 3" no es malo, solo es bueno en "Battlefield 3".

No todos los AA son aplicables a todas las GPU. Por ejemplo, EQAA no se aplica a la serie HD69xx, mientras que Sparse Grid AA solo se aplica a las tarjetas gráficas NVIDIA. Adaptive y SuperSample son tecnologías patentadas de AMD.

Las múltiples ventajas de DiRT 2 FXAA están plenamente liberadas

La serie de juegos "Colin McRae" se produjo en memoria del fallecido piloto de rallyes británico Colin McRae, por lo que no es difícil ver muchas figuras del pasado de McRae durante el juego. A diferencia de las mejores series de juegos de carreras que salen cada año, DiRT2 ha pasado dos años desde su predecesor. Actualmente, la versión de consola de "Colin McRae: Dirt 2" se lanzó hace mucho tiempo. Se lanzó en casi todas las consolas y plataformas portátiles y ha recibido críticas muy favorables. La versión para PC se ha retrasado varios meses porque es compatible con DX11.

Comparación de calidad de imagen

Automóvil club británico

Pruebas de rendimiento

Automóvil club británico

En las capturas de pantalla comparativas, puedes ver que cuando todos los AA están desactivados, la imagen es extremadamente aproximada y afecta seriamente la experiencia del juego. Cuando se activa gradualmente el MSAA de gran aumento, la calidad de la imagen mejora significativamente, pero el rendimiento disminuye significativamente. Cuando se activa FXAA, la mejora de la calidad de la imagen es más obvia que con MSAA. Cuando se activa FXAA solo, ya está cerca del nivel de 4xMSAA, y 4xMSAA + FXAA es incluso mejor que 8xMSAA. Además, con la misma calidad de imagen, la pérdida de rendimiento de FXAA también es significativamente mejor que la de MSAA.

Eagle Strikes the Sky AA tiene poco impacto en la calidad de la imagen

"Eagle Strike" fue desarrollado y producido por Bucharest Studio, una subsidiaria de Ubisoft, y se basa en los conflictos internacionales modernos en los que Tom Clancy es mejor, junto con armas militares modernas, y está en desarrollo y el Pentágono no está dispuesto a confirmar. armas avanzadas, entrelazando las más intensas batallas ofensivas y defensivas de alta tecnología. "Eagle Strikes the Sky" también rompe con el marco de las obras anteriores, llevando la guerra del suelo al aire y disfrutando de un vasto e ilimitado espacio de batalla.

Comparación de calidad de imagen

Automóvil club británico

Pruebas de rendimiento

Automóvil club británico

Como juego de combate aéreo, el único objeto que los jugadores pueden ver en detalle en el juego parece ser su propio avión de combate. En este juego, el impacto del suavizado en la calidad de la imagen no es muy alto, pero el rendimiento ha disminuido rápidamente, lo que parece valer la pena.

La eficiencia de Far Cry FXAA es inferior a 4AA

Desde que UBI compró los derechos de autor de la serie "Far Cry", la sucursal de Montreal de la compañía ha comenzado a desarrollar un nuevo juego. No solo se ha transferido el trabajo de desarrollo de este juego de Crytek a UBI, sino también el trasfondo de la historia del juego. No tiene nada que ver con el juego anterior. Motor gráfico y física completamente rediseñado desde el lado de UBI.

Comparación de calidad de imagen

Automóvil club británico

Pruebas de rendimiento

Automóvil club británico

De manera similar a la situación en "Dirt 2", las "rebabas" en los bordes de los objetos son bastante obvias cuando el suavizado está desactivado. Después de activar FXAA, la calidad de la imagen alcanzó instantáneamente el nivel de 4xMSAA, pero la velocidad de fotogramas era ligeramente inferior a 4xMSAA en este momento.

World of Conflict 4AA+FXAA sin presión

"World in Conflict" llevará a los jugadores al famoso período de la Guerra Fría, donde cada decisión del jugador afecta a los personajes y la trama del juego. Puedes sentir el espíritu de equipo diferente en el juego y luchar con tus compañeros de equipo en el inquietante campo de batalla. "Soviet Attack" es su último paquete de expansión, que incluye nuevos personajes, tropas soviéticas, 10 videos nuevos, nuevos mapas multijugador y más.

Comparación de calidad de imagen

Automóvil club británico

Pruebas de rendimiento

Automóvil club británico

Los juegos de estrategia en tiempo real siempre han impuesto requisitos duales a la GPU y la CPU: en la prueba, la tarjeta gráfica ya no es el cuello de botella del juego y la disminución del rendimiento no es obvia cuando se activan MSAA y FXAA de alta potencia. En términos de calidad de imagen, sólo cuando 4xMSAA y FXAA están activados al mismo tiempo, las sombras en el suelo mostrarán un efecto de "línea recta".

El AA más alto de Need for Speed ​​15 también tiene asperezas

La nueva secuela de EA del clásico juego de carreras "Need for Speed ​​​​15: Gear 2" se ha convertido en uno de los juegos más populares del mercado. Anteriormente, esta serie se lanzaba a razón de un juego nuevo cada año. Con cada nueva generación de juegos lanzada, los jugadores tenían feroces debates sobre la calidad de imagen del juego, la experiencia de control y otras comodidades. Es precisamente con tantos jugadores leales que este juego de carreras sigue prosperando.

Comparación de calidad de imagen

Automóvil club británico

Pruebas de rendimiento

Automóvil club británico

La serie de juegos "Need for Speed" siempre ha tenido un alias obvio en la pantalla. Incluso si MSAA se ajusta al valor más alto en las opciones de calidad de imagen, el alias aún se puede ver claramente. Afortunadamente, FXAA puede mejorar aún más la calidad de la imagen.

Metro 2033 avergüenza a las mejores tarjetas gráficas

La obra maestra DX11 "Metro 2033" utiliza un efecto de profundidad de campo de nivel DX11. La claridad y el desenfoque se distribuyen y priorizan razonablemente. Junto con la ayuda de la tecnología Tessellation, es casi cercano al efecto de filmación de una película, y parece agradable a la vista. Pero el juego es muy exigente porque utiliza muchas tecnologías gráficas de vanguardia.

Comparación de calidad de imagen

Automóvil club británico

Pruebas de rendimiento

Automóvil club británico

"Metro 2033" es uno de los pocos juegos que agrega anti-aliasing adaptativo AAA. En la captura de pantalla se puede ver que 4xMSAA y FXAA deben activarse al mismo tiempo para que el borde del objeto muestre una "barra" perfecta. En este momento, la GTX580 ya no puede ejecutar juegos sin problemas.

Soporte nativo para FXAA en las opciones de Duke Nukem

De 1997 a 2011, 14 años de espera, 14 años de expectativa, 14 años de tiempo pasaron volando, algunos esperaron, pero muchos no esperaron. Estos 14 años ya son mucho tiempo en la vida. Son los días más gloriosos en la vida de una generación. Pero para un juego, es increíble hacer esperar a los jugadores 14 años. Sin embargo, "Duke Nukem Forever" lo logró. ¡Al menos a estas alturas ya es una obra maestra!

Comparación de calidad de imagen

Automóvil club británico

Pruebas de rendimiento

Automóvil club británico

Como se mencionó anteriormente, "Duke Nukem Forever" es el primer juego que el editor ha probado para incluir FXAA en las opciones de calidad de imagen. Sin embargo, este juego no tiene soporte completo para otros AA, con solo tres opciones para elegir (NO AA , FSAA, FXAA).

Los juegos de Unreal Engine 3 también pueden habilitar FXAA

Como versión de seguimiento del "juego con más portadas", "Assassin's Creed: Brotherhood" introduce por primera vez un modo multijugador sin precedentes basado en garantizar una rigurosa misión para un solo jugador basada en una historia. diferentes tipos de personajes También proporciona una gran cantidad de armas nuevas, lo que mejorará enormemente la jugabilidad en comparación con el juego anterior.

Comparación de calidad de imagen

Automóvil club británico

Pruebas de rendimiento

Automóvil club británico

Como la mayoría de los juegos con motor "Unreal Engine 3", "Assassin's Creed: Brotherhood" no puede activar correctamente MSAA en el juego, lo que definitivamente hará que la mayoría de los jugadores se sientan extremadamente infelices. Afortunadamente, FXAA se puede activar normalmente en este juego y la calidad de la imagen mejora significativamente.

La revolución aún no ha tenido éxito, FXAA todavía necesita trabajar duro

Creo que los internautas atentos han visto que en esta prueba, la mayoría de los juegos probados eran juegos DX9 y DX10, pero los últimos juegos DX11 fueron muy pocos. De hecho, esto no se debe a que el editor haya sido flojo durante la prueba, sino a que después de una prueba cuidadosa, el editor descubrió que FXAA no tiene efecto en todos los juegos, especialmente en la mayoría de los juegos DX11, y ocurrirán algunas situaciones anormales. La compatibilidad de FXAA en esta etapa aún debe mejorarse.

A pesar de esto, todavía podemos ver muchos puntos brillantes de FXAA a través de nuestras pruebas. En primer lugar, FXAA mejora la calidad de la imagen de manera bastante obvia. Al activar FXAA solo se puede obtener una calidad de imagen de 2xMSAA o más y cercana a 4xMSAA. En segundo lugar, consume menos gráficos. rendimiento de la tarjeta. , cercano al nivel de 2xMSAA, lo que permite a los jugadores obtener una mejor experiencia con menos pérdida de rendimiento; además, FXAA también se puede utilizar en combinación con otras tecnologías AA para mejorar la calidad de la imagen a un nivel superior.

Se espera que NVIDIA/AMD pueda unir fuerzas con muchos fabricantes de juegos para promover vigorosamente la tecnología FXAA y, en última instancia, permitir a los usuarios activar FXAA en el panel de control del controlador y en la configuración del juego según sus propias necesidades, para obtener los juegos más realistas. experiencia en el juego.

Postproceso de UnityAA

Es increíble poder ver este lugar todo el tiempo. No sé quién más puede verlo todo el tiempo excepto yo.

Originalmente pensé que este artículo terminaría así, pero el equipo del proyecto aún no está satisfecho con el efecto de AA, lo cual es vergonzoso. Parece que las cosas están más claras. El efecto de MSAA es mejor, pero consume más energía ( y será lo mismo que OpenGL ES 2.0) . Conflictos FBO , renderizado diferido y HDR de algunas versiones de Unity no son compatibles con MSAA), FXAA es más económico, pero será un poco borroso y el efecto no es tan bueno como MSAA. Simplemente elija una de las dos soluciones, pero el equipo del proyecto preguntó si podían encontrar un FXAA mejor. Esto es muy vergonzoso. En la actualidad, he implementado dos conjuntos de FXAA (uno está copiado del libro de cocina de OpenGL y el otro es fxaa de nvdia). Solo puedo lanzar una amplia red para ver más algoritmos FXAA. Lo primero que hay que mirar es el propio de Unity. post proceso AA.

La pila de posprocesamiento en Unity es un conjunto de posprocesos. Las ventajas de definir este conjunto son: 1. Se pueden ejecutar varios PP en el orden correcto; 2. Se colocan varios PP en una sola pasada. La pila PP recomienda utilizar una ruta de renderizado lineal + HDR + diferida.

Antialiasing aproximado rápido (FXAA)

FXAA es el AA más económico y apto para móviles y otras plataformas

taa

TAA es más avanzado, necesita utilizar el búfer del cuadro anterior para el cálculo y la plataforma debe admitir vectores de movimiento. Este tipo de AA de borde es más efectivo, pero consume más energía. Básicamente se utiliza en PC o consola.

Supongo que te gusta

Origin blog.csdn.net/qq_33515628/article/details/109480931
Recomendado
Clasificación