diff --git a/3-mid/opengl/assets/shader/texturing-frag.snippet b/3-mid/opengl/assets/shader/texturing-frag.snippet index ad26965..e972c64 100644 --- a/3-mid/opengl/assets/shader/texturing-frag.snippet +++ b/3-mid/opengl/assets/shader/texturing-frag.snippet @@ -1,26 +1,33 @@ uniform int texture_Count; -uniform sampler2D Textures [16]; -uniform float Fade [16]; +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) { - Color.rgb += texture (Textures [i], Coords).rgb - * texture (Textures [i], Coords).a - * (1.0 - Fade [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 += 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 * (1.0 - Fade [i])); -// Color.a = max (Color.a, -// texture (Textures [i],Coords).a); +// Color.a = max (Color.a, +// texture (Textures [i],Coords).a); + } } + return Color; }