Transparencia

Started by Raziel, February 08, 2013, 03:30:57 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Raziel

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?

Erkosone

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 ;)

Raziel

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 ;)

Erkosone

De nada hombre me alegro que te haya servido.

DCelso

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)



Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

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?
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

#6
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.




Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

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...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

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
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

 ;D. Tú me hiciste recordar. Y también el estar más metido en el fpg editó ahora.  ;)
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

DCelso

Al final del texto puse la respuesta rápida q querías no?. Viste?
Por otro lado. Sigue el Bug?
Quieres que lo mire?
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

no, ya lo he solucionado... gracias... :)

si, hablamos de lo mismo... :)
Download Lastest BennuGD Release: http://www.bennugd.org/node/2