]> git.tdb.fi Git - libs/gl.git/blobdiff - shaderlib/unlit.glsl
Move environment map handling to its own shader file
[libs/gl.git] / shaderlib / unlit.glsl
index 85275558b399346b8b1a89758b80ac52ea9d3458..29cfd3f2cf0257874b40c0a0901e5ca9157bb9da 100644 (file)
@@ -6,16 +6,18 @@ struct UnlitMaterialParameters
        vec4 color;
 };
 
-uniform UnlitMaterial
+layout(set=1) uniform UnlitMaterial
 {
        UnlitMaterialParameters unlit_material;
+       float alpha_cutoff;
 };
 
-uniform sampler2D color_tex;
+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;
+layout(constant_id=auto) const bool use_alpha_cutoff = false;
 
 #pragma MSP stage(fragment)
 virtual vec4 get_color()
@@ -31,6 +33,9 @@ virtual vec4 get_color()
 void main()
 {
        vec4 color = get_color();
+       if(use_alpha_cutoff && color.a<alpha_cutoff)
+               discard;
+
        if(use_fog)
                color.rgb = apply_fog(color.rgb);
        frag_color = color;