shader代码
#ifdef GL_ES
precision lowp float;
#endif
uniform sampler2D u_texture;
uniform sampler2D u_mask;
uniform float factor;
uniform float width;
uniform float offset;
uniform vec3 color;
varying vec4 v_fragmentColor;
varying vec2 v_texCoord;
const float SQRT_2 = 1.414f;
void main()
{
vec4 texColor = texture2D(u_texture, v_texCoord);
float distance = abs(v_texCoord[0]+v_texCoord[1]-offset)/SQRT_2;
distance = 1.0f-(1.0f/width)*distance;
distance = max(distance, 0.0f);
vec4 sample = vec4(0.0f,0.0f,0.0f,0.0f);
sample.rgb = color * distance;
sample.a = distance;