1 INPUT mediump vec2 vTexCoord;
2 INPUT mediump vec2 vPosition;
3 INPUT mediump vec2 vRectSize;
4 INPUT mediump float vCornerRadius;
6 uniform sampler2D sTexture;
7 uniform lowp vec4 uColor;
8 uniform lowp vec3 mixColor;
9 uniform lowp float preMultipliedAlpha;
13 mediump float dist = length( max( abs( vPosition ), vRectSize ) - vRectSize ) - vCornerRadius;
14 mediump float opacity = 1.0 - smoothstep( -1.0, 1.0, dist );
16 OUT_COLOR = TEXTURE( sTexture, vTexCoord ) * uColor * vec4( mixColor, 1.0 );
17 OUT_COLOR.a *= opacity;
18 OUT_COLOR.rgb *= mix( 1.0, opacity, preMultipliedAlpha );