Hola, he estado buscando sobre el tema de los blend modes, pero siempre encuentro contenido en inglés(Obvio en temas así),
por la traducción no puedo entender bien como funcionan los modos de mezcla extendidos :-[ , quisiera que alguien de aquí me ayudara a comprender cómo funcionan y cómo utilizarlos, he estado buscando en el foro y no veo ninguna guía al respecto, ¿alguien que sepa se anima? ???
Pasame todo el texto en ingles, veré si te lo puedo traducir
Este es un resumen.
Cuando se dibuja en GM se tienen dos partes; el destino, que es en donde se va a dibujar (ya sea una surface o directamente en la pantalla), que puede tener algo dibujado previamente, y la fuente, que es lo que se va a dibujar (ya sea un bitmap o una primitiva).
Cada pixel está compuesto de 4 canales (RGBA), de 8 bits cada uno, y tienen valores de 0 a 255, pero al usar "mezclas" se manejan como números con punto flotante de 0 a 1.
Los 4 canales de cada pixel se multiplican por el factor indicado en el "modo de mezcla"; el primer argumento multiplica los pixeles de destino y el segundo multiplica los pixeles fuente, después los dos resultados se suman y se almacenan en el buffer de destino (surface o pantalla).
Los canales se manejan como números de 0 a 1 para que las multiplicaciones generen números en el mismo rango.
Veamos como ejemplo el modo normal, que se establece de esta forma:
[gml]
draw_set_blend_mode_ext( bm_src_alpha, bm_inv_src_alpha );
[/gml]
Al dibujar un sprite sus pixeles se multiplican por su valor de transparencia; si un pixel es completamente opaco se multiplica por 1 y su color se conserva, si un pixel es transparente se multiplica por un valor menor a 1 y su color se atenúa. El destino se multiplica por el inverso de la transparencia del sprite; si se dibuja un pixel completamente opaco el pixel de destino se multiplica por 0, con lo que se descarta el color de destino y sólo se conserva el color del sprite, y si se dibuja un pixel transparente el color de destino se multiplica por un valor mayor a 0, entonces los 2 pixeles se combinan.
Clamud, muchas gracias, resolviste mis dudas :D
Aquí una explicación algo más detallada:
http://www.comunidadgm.org/preguntas-y-respuestas/draw_blend_mode_ext/msg89030/#msg89030 (http://www.comunidadgm.org/preguntas-y-respuestas/draw_blend_mode_ext/msg89030/#msg89030)
P.D: estaba mal por allí, el blend mode aditivo es (bm_src_alpha, bm_one)...