[Vulkan] Builtin shaders and shaders offline compilation script
[platform/core/uifw/dali-core.git] / dali / graphics / vulkan / shaders / mesh-visual-shader.frag
1 #version 430
2
3 layout(location=0) in vec2 vTexCoord;
4 layout(location=1) in vec3 vIllumination;
5 layout(location=2) in float vSpecular;
6
7 layout( set = 0, binding = 1, std140 ) uniform FragData
8 {
9     vec4 uColor;
10     vec3 mixColor;
11     float opacity;
12     float preMultipliedAlpha;
13 };
14
15 layout( set = 0, binding = 2 ) uniform sampler2D sDiffuse;
16
17 layout( location = 0 ) out vec4 fragColor;
18
19 vec4 visualMixColor()
20 {
21     return vec4( mixColor * mix( 1.0, opacity, preMultipliedAlpha ), opacity );
22 }
23
24 void main()
25 {
26     vec4 texture = texture( sDiffuse, vTexCoord );
27     vec4 visualMixColor = visualMixColor();
28     fragColor = vec4( vIllumination.rgb * texture.rgb * uColor.rgb * visualMixColor.rgb + vSpecular * 0.3, texture.a * uColor.a * visualMixColor.a );
29 }