Melospliquen...
Cargo un png de 32 bits con transparencias, lo muestro sobre un fondo y va de poca madre.
Creo un fpg con esa imagen y lo guardo, y al cargarlo ¿tachan? canal alfa perdido completamente.
Me está volviendo loco, porque pixtudio tiene el mismisimo problema. Una de las grandes diferencias en 32 bits es usar transparencias y va y ¿no se puede hacer con fpgs de 32 bits?
He cargado el fpg, y está bien creado, guardado canal alfa y toa la pesca, fpg-editor lo ve perfectamente.
Además para que no os quejeis que es culpa de mi fpg-editor he creado el fpg en el mismo código bennu. :P
¿hay que poner algun comando especial a bennu para que pille correctamente el canal alfa en los fpgs?
import "mod_video"
import "mod_screen"
import "mod_map"
import "mod_key"
import "mod_proc"
global
int id_fpg;
int id_png;
begin
set_mode(800,600,32);
id_fpg = fpg_new();
id_png = png_load("esfera.png");
fpg_add(id_fpg,1,0,id_png);
fpg_save(id_fpg,"mifpg.fpg");
screen_put(0,png_load("fondo.png"));
esfera(200,300);
esfera2(400,300);
loop
if (key(_esc)) break; end
frame;
end
let_me_alone();
end
process esfera(x,y)
begin
graph = id_png;
loop
frame;
end
end
process esfera2(x,y)
begin
file = fpg_load("mifpg.fpg");
graph = 1;
loop
frame;
end
(http://forum.bennugd.org/index.php?action=dlattach;topic=4366.0;attach=3721)
(http://forum.bennugd.org/index.php?action=dlattach;topic=4366.0;attach=3719)
Acabo de probarlo en PixTudio y ahí funciona correctamente
(http://forum.bennugd.org/index.php?action=dlattach;topic=4366.0;attach=3723)
De hecho, en el BennuGD que está incluído en PixTudioPM también funciona correctamente...
(http://forum.bennugd.org/index.php?action=dlattach;topic=4366.0;attach=3725)
:o , es cosa de mi equipo o que, jarl. ¿que me pasa? será cosa de windows 8?
Vale, lo acabo de comprobar. Mi versión de BennuGD creo que ya incluye algunas modificaciones de Joseba y por eso no me aparecía el fallo.
He probado con BennuGD r335 y me ha ocurrido lo mismo que a ti.
jaja, te iba a decir eso mismo, que probases con la oficial. r335
Yo he probado con la tuya del pixtudiopm y va bien, pero es la versión del año la tana, pone 2002 al ejecutar el bgdi :D
a mi me ejecuta bien tu test, con la ultima pixtudio v1.4 beta2(de hoy)
parece que es de la ultima versión de bennugd. no se cual vendrá en el pack de linkernel,
¿ puedes poner bgdi a secas a ver si es del 6 de juio de este año?
SplinterGU. Pasa en la última versión, ¿has visto algo?
ya vi el fallo, esta en la bitmap_analyze, para 32 bits solo considera transparente el color 0 absoluto, si no hay un 0 absoluto el grafico es considerado NO_COLORKEY... y como vos estas usando fondo blanco con alpha 0, ahi esta el problema... ya lo tengo fixeado, pero no puedo generar el binario (linux) me esta fallando la libsdl1.2, creo que ubuntu se hace un berengenal cuando estan sdl2, sdl1.2, con sus versiones 32 y 64bits... no tengo tiempo de analizar ahora para poder compilarlo... pero modifica tu grafico y ya no tendras problemas, al menos un pixel negro con alpha 0, e ira todo de maravillas.
no me compila, ni linux ni windows, maldito ubuntu!
Oka, asias, puede esperar. sabiendo que ya está corregido. no pasa res.
Quote from: SplinterGU on October 26, 2016, 06:39:29 PM
ya vi el fallo, esta en la bitmap_analyze, para 32 bits solo considera transparente el color 0 absoluto, si no hay un 0 absoluto el grafico es considerado NO_COLORKEY... y como vos estas usando fondo blanco con alpha 0, ahi esta el problema... ya lo tengo fixeado, pero no puedo generar el binario (linux) me esta fallando la libsdl1.2, creo que ubuntu se hace un berengenal cuando estan sdl2, sdl1.2, con sus versiones 32 y 64bits... no tengo tiempo de analizar ahora para poder compilarlo... pero modifica tu grafico y ya no tendras problemas, al menos un pixel negro con alpha 0, e ira todo de maravillas.
Gracias, lo tendré en cuenta a la hora de pintar con photoshop, de dejare a 0 el RGB además del Alpha.
Quote from: alicesimu on October 26, 2016, 08:01:03 PM
Quote from: SplinterGU on October 26, 2016, 06:39:29 PM
ya vi el fallo, esta en la bitmap_analyze, para 32 bits solo considera transparente el color 0 absoluto, si no hay un 0 absoluto el grafico es considerado NO_COLORKEY... y como vos estas usando fondo blanco con alpha 0, ahi esta el problema... ya lo tengo fixeado, pero no puedo generar el binario (linux) me esta fallando la libsdl1.2, creo que ubuntu se hace un berengenal cuando estan sdl2, sdl1.2, con sus versiones 32 y 64bits... no tengo tiempo de analizar ahora para poder compilarlo... pero modifica tu grafico y ya no tendras problemas, al menos un pixel negro con alpha 0, e ira todo de maravillas.
Gracias, lo tendré en cuenta a la hora de pintar con photoshop, de dejare a 0 el RGB además del Alpha.
en uno de los ultimos cambios, mejore el sistema de eleccion del render, pero en la mejora meti un bug, y los mapas de 32bits requieren al menos 1 pixel completamente en 0 (RGBA = 0), tambien se podria hacer un put_pixel...
cuando pueda compilar subire las versiones corregidas.
splinter, cuidado, porque puede que sea otra cosa mas, en los .png no pasa. solo pasaba en los .fpg.
Comprueba con el cambio que el ejemplo que puse arriba adjunto va bien, que usa los dos formatos. ;)
Quote from: DCelso on October 27, 2016, 10:08:09 AM
splinter, cuidado, porque puede que sea otra cosa mas, en los .png no pasa. solo pasaba en los .fpg.
Comprueba con el cambio que el ejemplo que puse arriba adjunto va bien, que usa los dos formatos. ;)
vos probaste lo que yo te dije? es lo que digo, ya lo probe, agarra tu fpg, renombralo a .gz, descomprimilo, agarra con un editor hexadecimal, y al primer ff ff ff que encuentres pasalo a 00 00 00, salva y proba cargar ese fpg.
te lo adjunto aca
Si te entendí.
Pero..
¿Realmente crees que eso explica que funcione en los .png y en los .fpg no?
Además en las antiguas versiones de bennu se usaba siempre bien el canal alfa de los .fpg, independientemente del color que tuviera el pixel rgb.
en .png va bien.
y los colores semitransparentes qué, si alfa es distinto de 0 y menor que 255. Tampoco va, fijate que mi bola es roja semitransparente, dejas ver lo de detrás del rojo dependiendo de la intensidad del valor alpha.
repito
Quote from: SplinterGU on October 26, 2016, 06:39:29 PM
ya vi el fallo, esta en la bitmap_analyze, para 32 bits solo considera transparente el color 0 absoluto, si no hay un 0 absoluto el grafico es considerado NO_COLORKEY... y como vos estas usando fondo blanco con alpha 0, ahi esta el problema... ya lo tengo fixeado, pero no puedo generar el binario (linux) me esta fallando la libsdl1.2, creo que ubuntu se hace un berengenal cuando estan sdl2, sdl1.2, con sus versiones 32 y 64bits... no tengo tiempo de analizar ahora para poder compilarlo... pero modifica tu grafico y ya no tendras problemas, al menos un pixel negro con alpha 0, e ira todo de maravillas.
esa es la explicacion, claro, en los png no pasa porque hace otro analisis menos profundo del grafico(http://forum.bennugd.org/data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABs0lEQVQ4jY2SP4viQBiHX0UQWz/AXb+VX8Iu/YqFhdhcd5BKEOTKC9jJFYrFgo3FIjYiCRauhTCQDMp4bJFklzCuLJLOWNj8rpDMJt7u7Q08xQzze953/hAR0el4QJLw8KR4fXkE/Wtch01zjP6gmxLsd9uPJafjAf1BF82WjmZLR61eRa1eVfNmS4cMxP8JksGk6FPB6XjAii1Qq1fBBYMMBL79+InvDIrbB0CzIpSmQHF0RnF0vkiTFxZX7A+6MOzwU0FxdEZKYJpj1fp1eO5KzF0JzYreF/iekzr77QMUhh2q1zDsUIULPQl6fXkEFww53cWKLWCaY3DBVMuaFWHuSsT7fM/5W5DTXYUMBGQgUJoCpelFst9tcc84DDuE7znQrAiFnrwIkuGY/W6rBIYdQgYC7RmHZkXwPQf3jL8JiCglISLKVCaqzfhZfc9RcMFwc/eMfGd9EWQbS+R0F9nGEtnGEpnKBJnKJFWxPNygPNygPePggqE942nBdTjG9xyUhxvVcqEnsWILrNjiTfCRJN9ZI99Zp8LxWsy73ztTmYCI6ObuGV/7Tym+/PqtICL6A7F/dNYyWabFAAAAAElFTkSuQmCC)
:D , vaaale. admitiré que no se leer, como pixel. :-[
no problem... :)
¿splinter, pudiste compilar ya bennu?
no tuve tiempo, perdon... lo hare en estos dias, necesito hacerme un tiempo...