]> git.tdb.fi Git - libs/gl.git/blobdiff - shaderlib/unlit.glsl
Check the flat qualifier from the correct member
[libs/gl.git] / shaderlib / unlit.glsl
index 57be8b1ba1acc571b7d0dbbbdcd691a1d1a7dd96..a7d75c3248a59150e9cd70fa749ce05df975eb16 100644 (file)
@@ -1,19 +1,29 @@
 import msp_interface;
 import common;
 
-uniform sampler2D texture;
-uniform vec4 tint;
+struct UnlitMaterialParameters
+{
+       vec4 color;
+};
+
+layout(set=1) uniform UnlitMaterial
+{
+       UnlitMaterialParameters unlit_material;
+       AlphaCutoffParams alpha_cutoff;
+};
+
+layout(set=1) uniform sampler2D color_tex;
 
 layout(constant_id=auto) const bool use_texture = false;
 layout(constant_id=auto) const bool use_vertex_color = false;
 layout(constant_id=auto) const bool use_fog = false;
 
 #pragma MSP stage(fragment)
-vec4 get_color()
+virtual vec4 get_color()
 {
-       vec4 result = tint;
+       vec4 result = unlit_material.color;
        if(use_texture)
-               result *= texture(texture, texcoord.xy);
+               result *= texture(color_tex, texcoord.xy);
        if(use_vertex_color)
                result *= color;
        return result;
@@ -22,6 +32,8 @@ vec4 get_color()
 void main()
 {
        vec4 color = get_color();
+       color.a = apply_alpha_cutoff(color.a, alpha_cutoff);
+
        if(use_fog)
                color.rgb = apply_fog(color.rgb);
        frag_color = color;