Hola a todos. Ayer cambié todos los sprites de mi juego de BMP a PNG ya que tenía un montón de problemas con el BMP al decirle que me pusiera partes transparentes, ya que me dejaba los filos de las naves muy guarros y se veía bastante feo.
Con PNG he solucionado el problema. PNG es un formato increíble y las transparencia las pilla perfectas, además tiene opacidad y todo y los sprites sale de lujo. He utilizado SDL_image que son unas librerías para poder utilizar cualquier tipo de archivo de imagen, ya que SDL de principio solo funciona con BMP.
El juego lo estoy haciendo en Linux y espero que en Windows cuando lo compile no exista ningún problema con los PNG y vaya bien. Tengo que compilarlo ya en Windows para hacer pruebas.
Mi pregunta es si habéis utilizado alguno este formato, y que os parece. Habéis tenido algún problema con el???
Gracias a todos
En mi opinión es uno de los mejores formatos gráficos, y además abierto. Si el maldito Internet Explorer implementase las transparencias de una vez, ya no habría excusa para seguir utilizando GIF(aparte de las animaciones, pero cada dia se ven menos en favor de Flash).
sí, es el mejor. Compresión sin pérdida, soporta alpha, para cualquier aplicacion,te puedes limitar a png, y te evitas de los targa o los jpeg. En un solo formato tienes todo.
Cita de: "ZaelSiuS"En mi opinión es uno de los mejores formatos gráficos, y además abierto. Si el maldito Internet Explorer implementase las transparencias de una vez, ya no habría excusa para seguir utilizando GIF(aparte de las animaciones, pero cada dia se ven menos en favor de Flash).
IE si soporta las transparencias del PNG, pero de una forma MUY , pero que muy Rarar
El PNG es un formato ke dependiendo de la imagen la puede comprimir una burrada (uoh) y sin perdida de calidad!. Luego es un formato ke hoy dia soportan casi todos los programas, hasta DirectX. Yo pienso ke si es una buena eleccion utilizar PNG como Sprites, yo al menos lo hago.
Salu2...
Yo lo uso siempre en mis juegos, es cojonudo :-)
Yo también he usado png en mi juego y ha sido plenamente satisfactorio.
png para sprites transparentes + jpeg para fondos (quieras que no, comprime mas que el png, a costa de la pérdida) => una combinación cojonuda.
Por otra parte, aunque nunca lo he utilizado, el dds tb tiene buena pinta... pues png o jpeg no soportan multicapa.
Aunque no sé que problemas pudo darte bmp para transparencia... con usar colorkey... En todo caso sería problema del dibujante/programa/opciones de render que uses para dibujar los sprites.
Personalmente, para mi libreria 2d utilizo openil, que soporta una gran variedad de formatos.
Hombre, la unica causa ke se me ocurre sobre lo de ke te salian mal rebordes de los dibujos con un BMP (cosa ke a mi no me pasa *) es por ke hayas modificado la imagen con PhotoShop (por ejemplo) y le hayas dado un suavizado con lo cual el fondo transparente se fusiona un poco con el reborde de la imagen dando problemas de este estilo y tb podria haber mas causas.
* Cuando digo ke a mi no me pasa lo digo relativamente, no se ke porras es pero desde hace un tiempo DirectDraw cuando reescalaba una imagen (generalmente BMP) los bordes es como si se fusionasen con el sprite saliendo a veces colores del fondo transparente. Alguien sabe el por ke???
Salu2...
Wenas. YA q estais hablando del formato png probecho. Toy empezando un juego en c++ utilizando opengl. Al principio las imagenes las usaba en bmp, pero como empece a necesitar transparencias me pase al tga. Asi pues ahora todas las imagenes las carga en tga. Por lo que he leido al parecer png es muchisimo mejor formato, asi que mi pregunta es bastante evidente, como cargo png en mi programa c++ y opengl??? En un futuro implementare que se pueda elegir directx y opengl, asi que si de paso me dais ambos métodos os lo agradecería eternamente ^_^
Para el manejo de formatos de imagen utiliza
OpenIL, te será mucho más cómodo.
Saludos.
Wenas. Tengo poco tiempo y lo poco que miré por encima no me gusta, esto de meter una librería que vete tu a saber si la gente lo tiene o no.
Alguien me da alguna idea de como cargar los png??
GRACIAS.
Creo que lo más sencillo es que utilices una librería. Lo que puedes hacer es enlazarla estáticamente. Si no te gusta OpenIL, prueba a utilizar la
PNGLib.
Saludos.
Si estas trabajando con Direct Graphics no necesitas nignuna libreria para cargar los PNG (y muchos formatos mas), ya que Direct Graphics soporta directamente la carga del formato.
Salu2...
Edit: Vale, no me fije ke utilizabas OpenGL ;)
x otro lado, si qieres qe funcione tenga o no la gente la libreria, o compilas en estatico, o adjuntas la dll de la libreria.
pensaba qe eso de no adjutar las librerias se hacia solo en linux.. no imagino a un usuario windoze diciendo, ah! me faltan las sdl, voy a recompilarlas :D
¿Qué más da que la gente tenga o no OpenIL? Preocupate tu de adjuntarlo con el .exe o de indicar una descarga. O sino a lincar en estático.
Wenas. xDDD menudo jaleo monte. No, no os preocupeis, el problema que tenia ya esta resuelto. Estaba usando tga sin comprimir, y por eso me ocupaban una burrada. Ahora utilizo su compresion RLE, he ajustado la funcion de cargarTGA y ahora funciona de maravilla con un peso relativamente pequeño.
Pero gracias a todos ^_^