• Portada
    • Recientes
    • Usuarios
    • Registrarse
    • Conectarse

    ¿En qué consiste el antialiasing?

    Programado Fijo Cerrado Movido
    Tarjetas Gráficas
    16
    25
    10.6k
    Cargando más mensajes
    • Más antiguo a más nuevo
    • Más nuevo a más antiguo
    • Mayor número de Votos
    Responder
    • Responder como tema
    Accede para responder
    Este tema ha sido borrado. Solo los usuarios que tengan privilegios de administración de temas pueden verlo.
    • kynesK
      kynes Veteranos HL
      Última edición por

      Este texto es una mera aproximación al problema del aliasing y sus posibles soluciones. Es bastante probable que contenga errores, pero creo que puede aclarar algunos conceptos. Hay un hilo iniciado por Sergiman en el que se explica de forma resumida la generación de las imágenes.

      ANTIALIASING

      1.- ¿En qué consiste?

      Por aliasing se conoce a un fallo en la representación de los gráficos debido a que la resolución final es finita. Existen diferentes tipos de aliasing visual, pero normalmente nos referimos al aliasing geométrico, efecto que consiste en la presencia de dientes de sierra en los bordes de los polígonos. El efecto de aliasing da a las imágenes una apariencia tosca, que reduce la inmersión en el juego debido a una sensación de irrealidad en los gráficos. Por antialiasing se conoce al efecto de filtrar la imagen para suavizar los bordes, y disimular los bordes de los polígonos, consiguiendo una apariencia mucho más realista.

      2.- ¿Cómo se pasa de la geometría a los gráficos?

      Este proceso se conoce como rasterizar. El primer paso que se realiza tras recibir un triángulo, que está situado en un mundo tridimensional, es realizar una proyección en el plano de la imagen, pasando a poseer únicamente dos coordenadas, X e Y.

      Conocidos los tres vértices del triángulo, se determinan los tres lados. Para aplicar las texturas al triángulo, se calculan las coordenadas de cada pixel del interior del triángulo y se calcula que pixel de la textura corresponde a ese punto (aplicando corrección de perspectiva)

      Así es como se ve un triángulo rasterizado. Como se puede comprobar, los fallos son inevitables. ¿Cómo se pueden limitar estos fallos?
      Al rasterizar el triángulo, solo se ha tenido en cuenta si el punto central del pixel estaba dentro de él o no. Una consecuencia de este método es que aparece el típico error de diente de sierra o escalera, donde debería haber un borde suave. Para reducir este error se puede tener en cuenta que porcentaje del pixel está cubierto. La realidad es que esto no se puede calcular con precisión de manera rápida, por lo que las tarjetas gráficas realizan una aproximación.

      3.- Supersampling ordenado.

      El supersampling es una de las formas de antialiasing. Consiste en escalar la imagen multiplicando la resolución de los ejes X e Y por un número entero, y renderizarla a mayor tamaño del original. Tras realizar este proceso, se pasa al tamaño original mediante un filtro de reducción, por lo que varios píxeles de la imagen renderizada a mayor resolución se utilizan para calcular el valor de los píxeles de la resolución final. De este modo se consiguen transiciones más suaves.

      2x2 supersampling: La resolución interna es cuatro veces el tamaño original.

      Tras el filtro de reducción la imagen tiene transiciones más suaves. El valor de color se da en función del número de puntos centrales de los subpíxeles que quedan dentro del triángulo, en cada pixel.

      4.- Supersampling rotado.

      El supersampling rotado es una forma de supersampling en la cual se puede conseguir mejores resultados visuales que con el supersampling ordenado, pero con el mismo coste en rendimiento, mediante la elección de una mejor posición del punto de muestreo en los subpíxeles. Posteriormente se explicará el motivo por el cual un patrón rotado a la hora de elegir los subpíxeles es mejor que uno ordenado, con un ejemplo aplicado al multisampling.

      5.- Multisampling.

      La innovación que aporta el multisampling respecto al supersampling es que solo se calcula un valor de la textura por pixel, en vez de un valor por cada subpixel como en el supersampling. Mientras que en el supersampling se renderiza la imagen al completo a mayor resolución de la original, en el multisampling solo se hace para la geometría, no para las texturas. Esto ahorra tanto tasa de relleno como ancho de banda.
      El ahorro es menor en ancho de banda debido a que aunque solo se genera un valor de color por pixel, lo que ahorra tasa de relleno, este valor debe ser almacenado por separado para cada subpixel.

      6.- Patrón ordenado y patrón rotado.

      A la hora de posicionar los subpíxeles, se puede elegir un patrón ordenado o un patrón rotado. La ventaja de un patrón rotado es que se obtienen gradientes de color más suaves, lo que permite una calidad muy superior con la misma pérdida de rendimiento. Un patrón 4x ordenado dobla la exactitud a la hora de realizar el muestreo en ambos ejes respecto a no utilizar antialiasing, mientras que con un patrón 4x rotado obtenemos cuatro veces la exactitud de muestreo de una imagen sin antialiasing.


      Como se puede observar, con el patrón rotado se consigue una transición más suave, por lo que se obtiene una imagen de mayor calidad con el mismo consumo de recursos.

      Con un patrón rotado 2x se consigue una exactitud de muestreo similar a la que se obtiene con un patrón ordenado 4x, pero tomando únicamente la mitad de muestras, lo que permite una calidad similar con mucho menor pérdida de rendimiento.

      Las tarjetas nVidia anteriores a la gama 6 utilizaban un patrón ordenado, desde la gama 6 un patrón rotado. En el caso de las tarjetas de ATI, las tarjetas anteriores a la 9500 utilizaban un patrón ordenado, y desde la 9500 utilizan un patrón rotado.

      7.- Ventajas e inconvenientes de cada técnica.

      Una de las ventajas del supersampling es que realiza un filtrado de las texturas similar al del filtrado anisótropo, consiguiendo que las texturas tengan mayor definición. El filtrado anisótropo permite aumentar la calidad de las texturas con un descenso de rendimiento muy inferior, por lo que es preferible una combinación de multisampling y anisótropo, antes que un supersampling. El principal problema del multisampling es con las llamadas texturas alfa.

      Al almacenar una textura, se guardan los tres canales de color (rojo, verde y azul) con otro canal llamado canal alfa. El canal alfa indica el valor de transparencia de un punto de la textura, y sirve para simular geometría. Un ejemplo claro es el de las rejas o las ramas de un árbol. Simulan ser geometría, pero únicamente es una textura con partes transparentes y partes opacas. Esto sirve para reducir la carga geométrica, consiguiendo acelerar el renderizado al limitar el número de polígonos.

      Es una técnica muy utilizada en juegos antiguos, pero que se sigue utilizando en la actualidad. Un ejemplo claro de esta técnica es el de las rejas metálicas del Half Life 2, que no son más que un rectángulo con partes opacas (la reja) y partes transparentes (los huecos que dejan ver el fondo) En los bordes entre las partes opacas y las partes transparentes se produce aliasing. El supersampling suaviza estos bordes al realizar antialiasing en las texturas, pero el multisampling no al realizarlo sólo en la geometría.

      8.- Antialiasing de texturas transparentes.

      Para solucionar el problema del aliasing en las texturas transparentes, tanto nVidia como ATI han desarrollado técnicas de antialiasing mixtas, que realizan supersampling únicamente en las texturas alfa. Los llamados antialiasing transparente (en la gama 7 de las tarjetas GeForce) y el antialiasing adaptativo (En las tarjetas de ATI desde la 9500) realizan este proceso, con un consumo de tasa de relleno proporcional a la utilización de texturas transparentes en pantalla. A mayor utilización de texturas transparentes, mayor será la reducción de prestaciones que tendremos. La ventaja es que conseguimos una calidad de imagen muy similar a la del supersampling, pero con un rendimiento muy superior. Esto hace que en las tarjetas modernas se esté abandonando el supersampling debido a que la mejora en calidad visual no compensa la pérdida de rendimiento que conlleva esta técnica.

      Imagen a la que se le ha aplicado multisampling. Como se puede observar, los bordes de los objetos geométricos si tienen transiciones suaves, pero los objetos realizados a base de texturas transparentes (las rejas de la pasarela en este caso) no están suavizados.

      Imagen a la que se le ha aplicado multisampling con antialiasing de texturas transparentes. Como se puede observar, los bordes de los objetos realizados a base de texturas transparentes si están suavizados, con lo que la calidad de la imagen es muy superior.

      PD: Existe un artículo en Elitebastards de la X1900 en el que viene un ejemplo muy clarito para ver la diferencia entre usar antialiasing de texturas transparentes y no utilizarlo. La animación es http://www.elitebastards.com/anipic.php?picid=hanners/club3d/x1900xtx/iq/aaa/aaa-&frames=4&ext=jpg&speed=2000

      1 Respuesta Última respuesta Responder Citar 0
      • kynesK
        kynes Veteranos HL
        Última edición por

        ¡Esta publicación está eliminada!
        ForenaitsF 1 Respuesta Última respuesta Responder Citar 0
        • ForenaitsF
          Forenaits Veteranos HL @kynes
          Última edición por

          Minipunto para kynes 😉 Venga moderadores que esto es de chincheta.
          No te doy reputacion porque el foro no me deja repetir, que conste.

          kynesK 1 Respuesta Última respuesta Responder Citar 0
          • kynesK
            kynes Veteranos HL @Forenaits
            Última edición por

            Gracias tiu ;D Si tienes algo que comentar que se pueda mejorar, ya sabes. Si veo que tiene aceptación, haré otras miniguias sobre otros aspectos del mundillo gráfico (o sobre lo que se tercie) Le propuse a MAZ que lo publicara, pero parece que está muy liado (y creo que ahora un poco pachucho) y como se estaba quedando obsoleto (al menos en la parte de los ejemplos) pues pensé que sería mejor ponerlo ya en el foro.

            MonXPM 1 Respuesta Última respuesta Responder Citar 0
            • MonXPM
              MonXP Veteranos HL @kynes
              Última edición por

              "Necesitas dar reputación a más personas antes de darle reputación a kynes de nuevo." tócate las narices, jajaja!! Y que sepas que serás famoso pronto, xD

              Muy interesante, a ver si esta tarde me tengo tiempo (no me lo creo ni yo) y me leo esto detenidamente. Gracias por aportar tanto al foro, tío.

              L 1 Respuesta Última respuesta Responder Citar 0
              • L
                Lemaca @MonXP
                Última edición por

                ¿¿Como se da reputación?? Enhorabuena kynes, está super currao.

                MystiqueM 1 Respuesta Última respuesta Responder Citar 0
                • MystiqueM
                  Mystique Global Moderator @Lemaca
                  Última edición por

                  chincheta puesta 😛

                  hlbm signature

                  hlbm signature

                  _Neptunno__ 1 Respuesta Última respuesta Responder Citar 0
                  • _Neptunno__
                    _Neptunno_ MODERADOR @Mystique
                    Última edición por

                    Muy buena guia, si señor, los del foro lo agradeceran 🙂

                    …joe, creo que no nos dejan poner + reputacion a muchos, eh? jajaja xD

                    B 1 Respuesta Última respuesta Responder Citar 0
                    • B
                      barc @_Neptunno_
                      Última edición por

                      Como siempre tu información es útil y de agradecer ;), a ver si te animas con estas mini-guias 😛

                      Neptunno yo también estoy igual xDD

                      SergimanS 1 Respuesta Última respuesta Responder Citar 0
                      • SergimanS
                        Sergiman @barc
                        Última edición por

                        Kynes si te parece oportuno podrias insertar en este post el que yo puse sobre como se generaba una imagen con una GPU (como se pasa de una lista de vertices a triangulos y posteriormente a pixeles, etc….....). Creo que seria una buena ayuda.
                        Un saludo

                        kynesK 1 Respuesta Última respuesta Responder Citar 0
                        • krampakK
                          krampak Global Moderator
                          Última edición por

                          Hum… al estar sticky no habia visto este post 😛 Muy bueno si señor, hacia falta una buena explicación de estoa parámetros que salen en todas las reviews pero nadie explica.

                          Editado: Leída 😛

                          Mi Configuración
                          hlbm signature

                          1 Respuesta Última respuesta Responder Citar 0
                          • kynesK
                            kynes Veteranos HL @Sergiman
                            Última edición por

                            @Sergiman:

                            Kynes si te parece oportuno podrias insertar en este post el que yo puse sobre como se generaba una imagen con una GPU (como se pasa de una lista de vertices a triangulos y posteriormente a pixeles, etc….....). Creo que seria una buena ayuda.
                            Un saludo

                            Si te soy sincero estaba planteándome hacer algo más extenso sobre el mismo tema. De todos modos la voy a enlazar.

                            SergimanS 1 Respuesta Última respuesta Responder Citar 0
                            • SergimanS
                              Sergiman @kynes
                              Última edición por

                              Si piensas explicarlo mas detalladamente adelante, seguro que todos lo agradecemos.

                              De todas formas creo que mi explicacion era bastante sencilla y que se podia entender facilmente. Si lo crees oportuno enlazala.

                              kynesK 1 Respuesta Última respuesta Responder Citar 0
                              • kynesK
                                kynes Veteranos HL @Sergiman
                                Última edición por

                                De todos modos antes tengo que completar esta un poco. No se explican bien las diferencias entre multisampling y supersampling, no se expone la forma de activar el antialiasing de texturas alfa en las tarjetas ATI que son DX9 pero no son X1… le faltan muchas cosas a esta guía (entre otras cosas imágenes de muestra comparando diferentes modos, para ver la diferencia de calidad gráfica) a ver si algún día encuentro tiempo y lo hago.

                                PD: Antes quiero hacer también una guía explicando bien cómo usar el ATI tray tools, el mejor programa que existe para controlar las tarjetas de ATI bajo mi punto de vista. A ver si lo puedo hacer antes de irme de vacaciones, ya que en El Puerto no tengo medios (PC con tarjeta ATI, conexión de banda ancha) para hacerlo (ni ganas :D)

                                MagogM 1 Respuesta Última respuesta Responder Citar 0
                                • MagogM
                                  Magog Veteranos HL @kynes
                                  Última edición por

                                  Excelente, como todas tus explicaciones.

                                  Un saludo.

                                  GulpG 1 Respuesta Última respuesta Responder Citar 0
                                  • GulpG
                                    Gulp @Magog
                                    Última edición por

                                    Muy bueno, muy bueno, muy bueno, muy bueno, muy bueno, muy bueno…
                                    Es que es una pasada.

                                    Mind_HunterM 1 Respuesta Última respuesta Responder Citar 0
                                    • Mind_HunterM
                                      Mind_Hunter @Gulp
                                      Última edición por

                                      Me quito el sombrero ante tal guía!!! 😄 Podrías pegar links de las páginas consultadas a modo de "bibliografía" para profundizar más en el tema, aunque supongo que ya estarás harto de trabajos universitarios y da pereza :D:D
                                      Me ha gustado mucho, enserio te felicito!
                                      Doom3 y Crónicas de Riddick no tienen muchas texturas alpha verdad?? Que modo recomiendas con mi tarjeta gráfica??

                                      kynesK 1 Respuesta Última respuesta Responder Citar 0
                                      • kynesK
                                        kynes Veteranos HL @Mind_Hunter
                                        Última edición por

                                        En [H]ardOCP recomiendan para el Doom3 la configuración 2X TR MSAA con 8xAF, para la resolución 1600x1200. Si juegas a una resolución menor, puedes probar a ver si con 4xTR SSAA con 8xAF te va bien. El Cronicas de Riddick no sabría decirte, no he jugado así que no se cómo de exigente es el juego. Lo mejor que puedes hacer es jugar tú mismo, y ver si le puedes exigir un poco más a tu tarjeta aumentando la calidad.

                                        Alien8A 1 Respuesta Última respuesta Responder Citar 0
                                        • Alien8A
                                          Alien8 Veteranos HL @kynes
                                          Última edición por

                                          Crónicas de Riddick es un juegazo, pero con todos los filtros y en una resolución alta, es MUY exigente con la máquina.

                                          1 Respuesta Última respuesta Responder Citar 0
                                          • El MoribundoE
                                            El Moribundo
                                            Última edición por

                                            muchas gracias tenia una idea pero ahora estoy completamente seguro

                                            kynesK 1 Respuesta Última respuesta Responder Citar 0
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • First post
                                              Last post

                                            Foreros conectados [Conectados hoy]

                                            4 usuarios activos (0 miembros e 4 invitados).
                                            febesin, pAtO,

                                            Estadísticas de Hardlimit

                                            Los hardlimitianos han creado un total de 543.3k posts en 62.8k hilos.
                                            Somos un total de 34.7k miembros registrados.
                                            ssaybb ha sido nuestro último fichaje.