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