Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: Raziel on February 08, 2013, 03:30:57 AM

Title: Transparencia
Post by: Raziel on February 08, 2013, 03:30:57 AM
Tengo un problema. En el tutorial del laberinto del manual de Bennu me piden dos gráficos. Correto. Los he visualizado sin problemas en la pantalla. El conflicto de todo esto es que, el cuadrado negro que contiene el dibujo de la flecha, tapa el dibujo del laberinto. En pocas palabras, no puedo lograr el negro transparente con los editores de imágenes. ¿Alguna sugerencia?
Title: Re:Transparencia
Post by: Erkosone on February 08, 2013, 05:23:53 AM
No se si te entiendo bien pero..


Existen gráficos que sobreentendemos "eraticamente" que son de 32 bits, estos son los archivos de imagen en formato PNG, ten mucho cuidado cuando generes un archive de imagen para juegos en formato Png pues la transparencia será el canal alpha del gráfico.


Mi recomendación es que abras esa imagen que te da problemas con el programa gratuito 'y excelente' GIMP y hagas lo siguiente:


1 - si la imagen no tiene canal alpha lo añades.
2 - selecciona las zonas negras que te dan el conflicto con la barita mágica del programa.
3 - pulsa la tecla "suprimir" para eliminarlas.
4 - ahora serán transparentes y buenas para tu juego.


Haber si esto te sirve ;)
Title: Re:Transparencia
Post by: Raziel on February 08, 2013, 02:11:41 PM
Quote from: Erkosone on February 08, 2013, 05:23:53 AM
No se si te entiendo bien pero..


Existen gráficos que sobreentendemos "eraticamente" que son de 32 bits, estos son los archivos de imagen en formato PNG, ten mucho cuidado cuando generes un archive de imagen para juegos en formato Png pues la transparencia será el canal alpha del gráfico.


Mi recomendación es que abras esa imagen que te da problemas con el programa gratuito 'y excelente' GIMP y hagas lo siguiente:


1 - si la imagen no tiene canal alpha lo añades.
2 - selecciona las zonas negras que te dan el conflicto con la barita mágica del programa.
3 - pulsa la tecla "suprimir" para eliminarlas.
4 - ahora serán transparentes y buenas para tu juego.


Haber si esto te sirve ;)

Amigo, me solucionaste el problema. ¡Que gran software es Gimp! Desde ya, muchas gracias ;)
Title: Re:Transparencia
Post by: Erkosone on February 08, 2013, 03:18:06 PM
De nada hombre me alegro que te haya servido.
Title: Re:Transparencia
Post by: DCelso on February 08, 2013, 05:15:51 PM
Quote from: Erkosone on February 08, 2013, 05:23:53 AM
No se si te entiendo bien pero..


Existen gráficos que sobreentendemos "eraticamente" que son de 32 bits, estos son los archivos de imagen en formato PNG, ten mucho cuidado cuando generes un archive de imagen para juegos en formato Png pues la transparencia será el canal alpha del gráfico.


Mi recomendación es que abras esa imagen que te da problemas con el programa gratuito 'y excelente' GIMP y hagas lo siguiente:


1 - si la imagen no tiene canal alpha lo añades.
2 - selecciona las zonas negras que te dan el conflicto con la barita mágica del programa.
3 - pulsa la tecla "suprimir" para eliminarlas.
4 - ahora serán transparentes y buenas para tu juego.


Haber si esto te sirve ;)

Esta solución solo te vale para modos de 32 bits.
o modos menores a 32 bits en los que uses imágenes de 32 bits.

Si usas 16 bits puros y duros, o imágenes en 16 bits (o 24 bits, equivalentes a 16 bits pero de mayor precisión) el negro puro (0,0,0) será representado por transparente por lo que no tendrás problemas.

Si usas imágenes de 8 bits,el color que bennu usará como transparente será el primer color de tu paleta de colores, (y normalmente suele ponerse como primer color el negro puro para que coincida con las imágenes de 16 bits, aunque podrías usar cualquier otro color como el primero de tu paleta que bennu lo traducirá por transparente)



Title: Re:Transparencia
Post by: SplinterGU on February 08, 2013, 05:50:38 PM
DCelso, si no me equivoco, vos habias hecho el parche para que el color transparente en cualquier png se tome del alpha (si este existia).

O lo hice yo? o lo soñe?
Title: Re:Transparencia
Post by: DCelso on February 08, 2013, 06:17:13 PM
depende de a lo que llames alfa. Según entiendo yo, el canal alfa es un canal adicional al rgb, y normalmente era de 8 bits. (ahora en imágenes de 64 bits por pixel es de 16 :D).

Antes de los canales alfa existían técnicas para mostrar o no mostrar un pixel. la más común, al principio de los principios era el de máscara, que era un array secuencia de bits de ancho X alto, indicando true o false, para mostrar o no mostrar el pixel.
La otra, menos comun, pero también usada mucho, era la selección de un color como transparente, que muchos le llamaban color de máscara (mal dicho asi, porque era simula una máscara pero sin usar el array de booleanos :D, como diferencia, en el array de booleanos puede haber pixeles con diferentes colores que no se mostrarian por tener máscara a true( por lo que sería similar a canales alpha de 1 bit :D, pero el concepto alfa apareció/o se empezó a usar despues) ).
En la cabecera de los .png de 8 bits puedes elegir qué color de tu paleta va a ser el transparente (básicamente es decir qué indice quieres que no se pinte, tipo lo que hace bennu con el 0, pero aquí se puede elegir) a esos es a los que les dí soporte en bennu, lo que hice fue detectar ese color en la cabecera y pasarlo a 0 que es el que necesita bennu ( si mal no recuerdo eh.)

También recuerdo que dimos soporte a un formato raro ( desconocido por mi hasta ese momento) que tienen los pngs. que es una imagen de 16 bits por pixel, en el que los 8 primeros bits son para el color y los 8 siguentes para la transparencia, sorprendido me quedé porque eso quiere decir imágenes de 8 bits con canal alfa :D. pues a esos formatos también le hicimos un parche para que los soportase bennu en 32 bits (claro)

NOTA: hoy en día podriamos decir que una máscara es parecido a un canal alfa, pero en vez de estar detrás de cada componentente RGB, está a parte, ya sea en una cabezera de formato, o después de los datos de color de la imagen.


bueno en resumen a tu pregunta, si alfa para ti es igual a máscara, entonces sí, tienes razón. :D.




Title: Re:Transparencia
Post by: SplinterGU on February 08, 2013, 08:59:24 PM
quise decir color transparente... el alpha en un mapa con alphas es individual de cada pixel... yo me refiero al color transparente... que dicho de paso, solo esta si habilitas el canal alpha en los mapas... (por lo menos el gimp asi funciona, si no me estoy equivocando)

mas alla de todo, no era la intencion que escribas una biblia... el alpha a nivel pixel es el alpha, y el color transparente es el color transparente, en un mapa normal o de bennugd el transparente es el color 0,0,0,0, o 0 absoluto... pero si mal no recuerdo, hay un parche en la carga del png, que si esta definido el color transparente lo busca en todo el mapa y lo reemplaza por 0 absoluto, sea cual sea este.

sigo sin entender por que tan larga explicacion si lo que dije/pregunte era simple... como sea, creo que no has respondido lo que pregunte o yo me perdi en una respuesta tan larga... en fin...
Title: Re:Transparencia
Post by: SplinterGU on February 08, 2013, 09:06:00 PM
ah bien, ahora veo que si recuerdas... la ultima vez que te pregunte por un bug en esa parte del codigo no recordabas que lo habias hecho tu... xD
Title: Re:Transparencia
Post by: DCelso on February 08, 2013, 11:11:31 PM
 ;D. Tú me hiciste recordar. Y también el estar más metido en el fpg editó ahora.  ;)
Title: Re:Transparencia
Post by: DCelso on February 08, 2013, 11:13:29 PM
Al final del texto puse la respuesta rápida q querías no?. Viste?
Por otro lado. Sigue el Bug?
Quieres que lo mire?
Title: Re:Transparencia
Post by: SplinterGU on February 09, 2013, 04:16:05 AM
no, ya lo he solucionado... gracias... :)

si, hablamos de lo mismo... :)