]> git.tdb.fi Git - libs/gl.git/blob - shaderlib/unlit.glsl
Adjust uniform organization for UnlitMaterial
[libs/gl.git] / shaderlib / unlit.glsl
1 import msp_interface;
2 import common;
3
4 struct UnlitMaterialParameters
5 {
6         vec4 color;
7 };
8
9 uniform UnlitMaterial
10 {
11         UnlitMaterialParameters unlit_material;
12 };
13
14 uniform sampler2D color_tex;
15
16 layout(constant_id=auto) const bool use_texture = false;
17 layout(constant_id=auto) const bool use_vertex_color = false;
18 layout(constant_id=auto) const bool use_fog = false;
19
20 #pragma MSP stage(fragment)
21 virtual vec4 get_color()
22 {
23         vec4 result = unlit_material.color;
24         if(use_texture)
25                 result *= texture(color_tex, texcoord.xy);
26         if(use_vertex_color)
27                 result *= color;
28         return result;
29 }
30
31 void main()
32 {
33         vec4 color = get_color();
34         if(use_fog)
35                 color.rgb = apply_fog(color.rgb);
36         frag_color = color;
37 }