uniform int texture_Count; uniform sampler2D Textures [16]; uniform float Fade [16]; uniform bool texture_Applies [16]; vec4 apply_Texturing (vec2 Coords) { vec4 Color = vec4 (0); for (int i = 0; i < texture_Count; ++i) { if (texture_Applies [i]) { Color.rgb += texture (Textures [i], Coords).rgb * texture (Textures [i], Coords).a * (1.0 - Fade [i]); // Color.a += texture (Textures [i], Coords).a * (1.0 - Fade [1]); Color.a = max (Color.a, texture (Textures [i],Coords).a * (1.0 - Fade [i])); // Color.a = max (Color.a, // texture (Textures [i],Coords).a); } } return Color; }