Hallo Leute!
Sorry dass ich wieder ein Topic eröffne, be idem es um Surfaces und Alphatransparenzen geht.
Also volgendes:
Ich habe 2 Surfaces. 1 davon ist die normale surfaces mit bildern (sur_main) und die zweite Surface ist die alphamaske.
Nun, wie schaffe ich es (per Blendmode) die Alphamaske von der Bild-Surface abzuziehen? (Sodass je nach Heillichkeitsstärke eine höhere transparenz gebildet wird?)
Hier mal code den ich benutze:
Ich habe jeden erdenklichen Blendmode versucht. Hat jemand eine Ahnung wie das funktionieren könnte?
Ich weiss dass es noch die "_get_alpha_from_" funktionen gibt, aber die darf ich aus mehreren technischen gründen nicht benutzen.
Sorry dass ich wieder ein Topic eröffne, be idem es um Surfaces und Alphatransparenzen geht.
Also volgendes:
Ich habe 2 Surfaces. 1 davon ist die normale surfaces mit bildern (sur_main) und die zweite Surface ist die alphamaske.
Nun, wie schaffe ich es (per Blendmode) die Alphamaske von der Bild-Surface abzuziehen? (Sodass je nach Heillichkeitsstärke eine höhere transparenz gebildet wird?)
Hier mal code den ich benutze:
GML-Quellcode
- surface_set_target(sur_draw); //dritte surface auf die das fertige Alphabild gezeichnet wird
- draw_clear_alpha(c_white,0); //leere Surface
- draw_surface(sur_main,0,0);//Zeichne Bild
- draw_set_blend_mode_ext(bm_dest_color,bm_src_alpha); //Blend Mode der die alphamaske von der Bildsurface "abziehen" soll.)
- draw_surface(sur_alpha,0,0); //zeichne die alphamaske
- draw_set_blend_mode(bm_normal);//setze blendmode zurück
- surface_reset_target();
Ich habe jeden erdenklichen Blendmode versucht. Hat jemand eine Ahnung wie das funktionieren könnte?
Ich weiss dass es noch die "_get_alpha_from_" funktionen gibt, aber die darf ich aus mehreren technischen gründen nicht benutzen.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von LEWA ()