Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: plugin en 01 de Enero de 1970, 01:00:00 AM

Título: Antialiasing casero en 2d
Publicado por: plugin en 01 de Enero de 1970, 01:00:00 AM
                                Buenasss. ¿Alguien sabe como funciona el algoritmo de antialising? Quiero implementar antialiasing en mis funciones de copia en 2d caseras así que tengo que currarmelo a mano.
¿Sabeis como implementarlo a algún site donde encontrar info?

Saludos
--plugin                                
Título: Antialiasing casero en 2d
Publicado por: _Grey en 01 de Enero de 1970, 01:00:00 AM
                                Una manera simplona seria cojer los valores de color un pixel y alrededor y hacer la media, luego pones ese pixel con ese valor....

pero recuerda escrivir el resultado en una surface distinta a la que lees!!! qui si no!!! XD                                
Título: Antialiasing casero en 2d
Publicado por: samsaga2 en 01 de Enero de 1970, 01:00:00 AM
                                Una cosa es antialising y otra cosa es ponerlo todo borroso.

Si quieres hacer un buen antialising (yo no tengo ni p idea de como hacerlo) se tiene que hacer con gráficos vectoriales.

Si por el contrario lo que quieres es un filtro borroso sólo tienes que recurrir al gaussian que si no recuerdo malamente se hacía aplicando una matriz a los pixels.

Por otro lado si lo que tiene es una imagen escalada y lo que quieres es olvidare de lo horrible que queda puedes recurrir a varios algoritmos (la mayoría solo funcionan en imágenes escaladas x2).

Y por último la chorrada que no falte... si lo que quieres es anti lising recurre a alguien que sepa de economía.
                               
Título: Antialiasing casero en 2d
Publicado por: JPeP en 01 de Enero de 1970, 01:00:00 AM
                                Tal vez si probaras con algún algoritmo de detección de bordes y a estos le aplicases una media (jamas a la imagen entera:=obtendrias una porqueria), eliminases un poco ese efecto. Sin embargo, esos algoritmos no son infalibles ni mucho menos, asi que...no creo que sea esa la solucion utilizada normalmente para hacer antaliasing, pero por probar no pierdes nada;
end.                                
Título: Antialiasing casero en 2d
Publicado por: seryu en 01 de Enero de 1970, 01:00:00 AM
                                Holas, yo qiero hacer algo parecido al antialiasing en un remake de un juego 2d.

Te recomiendo qe veas el 2xsai, qe es una tecnica utilizada por emuladores de consolas viejas y da buen resultado.

http://elektron.et.tudelft.nl/~dalikifa/

tb tienes el eagle engine, qe ahora ha cambiado de nombre, y la web es http://www.retrofx.com pero por ahora no rula.

Espero que te sirva, byeses.                                
Título: Antialiasing casero en 2d
Publicado por: samsaga2 en 01 de Enero de 1970, 01:00:00 AM
                                Un dia me dio la vena y estuve retocando el código fuente del emulador fMSX para que hiciera un filtro. Es muy cutre pero da el pego:

for(i=0; i < WIDTH*HEIGHT; i += WIDTH*2)
   for(j=i; j < i+WIDTH; j++)
   {
       if(copy[j - 1] == copy[j - WIDTH])
           pixels[j] = copy[j - 1];

       if(copy[j + 1] == copy[j - WIDTH])
           pixels[j] = copy[j + 1];
   }

Da el pego, pero a veces algunas esquinas no  quedan muy bien. Me lo inventé porque no tenia ni p idea de hacer uno y me salió ese engendro.

Ahora puedo jugar al Nemesis 2 sin ver esos pedazo de pixels feisimos :sonriendo:


                               
Título: Antialiasing casero en 2d
Publicado por: seryu en 01 de Enero de 1970, 01:00:00 AM
                                Juas, acabo de hacerme una funcion usando tu codigo para el remake qe toy asiendo y parece qe se ha derretido el personaje xDD

Ta curiosa, pero en mi juego se come los bordes de la pantalla qe da gusto.

Lo weno esqe se tarda 30 segundos en ponerla en tu programa :ojo: