Anuncios Google

Programacion en DS. Ampliando una imagen y aplicandole un filtrado.

Buenas.
Hoy una de efectos especiales.
En la anterior entrada os dejava un ejemplo de ampliacion de imagenes de 16 bits en la DS, aplicandole un zoom de x2, duplicando los pixeles colindantes.
El resultado molava, pero el pixelado...
La DS on es que tenga potencia para tirar cohetes, pero para un filtro bilinear para suavizar los pixeles, se lo podremos aplicar.
En realidad, le llamo bilinear, por llamarlo de algun modo, porque en realidad interpola los pixeles colindantes en las 3 direcciones, de la manera mas rapida posible.
He conseguido que la demo se mueva a una media de 15 fps en el hardware.
 
Aqui podeis ver dos videos, capturados con los emuladores no$gba e ideas. He usado este ultimo, pese a que el rendimiento es esperpentico, por la opcion de ampliar la imagen x 1.5, para que podais apreciar en el video los detalles.
 
Video capturado con no$gba
  
Como en el video no se aprecia, lo he capturado a mas resolucion con el ideas.
 
Video capturado con Ideas
 
Pero el resultado tambien ha sido un asco. Asi que os dejo la rom compilada y el codigo fuente.

Descargar la ROM.
Descagar el codigo fuente.
 
La interpolacion la he realizado de la siguiente manera; supongamos que queremos ampliar el primer pixel de la imagen 2 veces.

1   2
 
3   4

La manera rapida, seria duplicar los pixeles:
 
1 1 2
1 1
3    4
 
Pero es eso, tenemos pixeles como camiones. Lo podemos suavizar haciendo esto:
 
1 A 2
B C
3    4

Y ahora los calculos, donde:
A = (1 + 2) / 2
B = (1 + 3) / 2
C = (1 + 4) / 2
 
Con esta facil formula, conseguimos el efecto de filtrado de la demo.
Mola no?, pues nada, que lo disfruteis.
 
Un cordial saludo
 
NightFox
 


Nuestra web oficial:
http://www.nightfoxandco.com/
 
Siguenos en facebook:
http://www.facebook.com/pages/NightFox-Co/284338634917917
 
Por favor, no useis los MP para preguntas, usar el FORO:
http://www.nightfoxandco.com/forum/
Asi nos ahorramos de contestar lo mismo 20 veces.

 


Anuncios Google