- " vec4 back = texture2D(background, gl_TexCoord[1].st).bgra; \n" \r
- " fore.rgb = get_blend_color(back.rgb, fore.rgb); \n"\r
- " \n" \r
- " switch(keyer) \n"\r
- " { \n"\r
- " case 0: return fore + (1.0-fore.a)*back; // linear \n"\r
- " case 1: return fore + back; // additive \n"\r
+ " vec4 back = texture2D(background, gl_TexCoord[1].st).bgra; \n"\r
+ " if(blend_mode != 0) \n"\r
+ " fore.rgb = get_blend_color(back.rgb/(back.a+0.0000001), fore.rgb/(fore.a+0.0000001))*fore.a;\n"\r
+ " switch(keyer) \n" \r
+ " { \n" \r
+ " case 1: return fore + back; // additive \n"\r
+ " default: return fore + (1.0-fore.a)*back; // linear \n"\r