Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Antialiasing casero en 2d

Iniciado por plugin, 01 de Enero de 1970, 01:00:00 AM

« anterior - próximo »

plugin

                                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                                

_Grey

                                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                                

samsaga2

                                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.
                               

JPeP

                                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.                                

seryu

                                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.                                

samsaga2

                                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:


                               

seryu

                                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:                                






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.