3 layout( location = 0 ) in vec2 vTexCoord;
5 layout( set = 1, binding = 0, std140 ) uniform FragData
11 float preMultipliedAlpha;
14 layout( set = 1, binding = 1 ) uniform sampler2D sTexture;
15 layout( set = 1, binding = 2 ) uniform sampler2D sStyle;
17 layout( location = 0 ) out vec4 fragColor;
21 return vec4( mixColor * mix( 1.0, opacity, preMultipliedAlpha ), opacity );
26 vec2 texCoord = clamp( mix( uAtlasRect.xy, uAtlasRect.zw, vTexCoord ), uAtlasRect.xy, uAtlasRect.zw );
27 vec4 textTexture = texture( sTexture, texCoord );
28 vec4 styleTexture = texture( sStyle, texCoord );
29 textTexture.rgb *= mix( 1.0, textTexture.a, preMultipliedAlpha );
31 // Draw the text as overlay above the style
32 fragColor = ( textTexture + styleTexture * ( 1.0 - textTexture.a ) ) * uColor * visualMixColor();