18 lines
434 B
GLSL
18 lines
434 B
GLSL
uniform sampler2D tex;
|
|
uniform vec2 size;
|
|
uniform float border;
|
|
|
|
|
|
void main()
|
|
{
|
|
vec2 p = gl_TexCoord[0].xy;
|
|
|
|
vec2 realP = p * size;
|
|
|
|
float alphaX = smoothstep(0.0, border, realP.x) - smoothstep(size.x - border, size.x, realP.x);
|
|
float alphaY = smoothstep(0.0, border, realP.y) - smoothstep(size.y - border, size.y, realP.y);
|
|
|
|
float alpha = alphaX * alphaY;
|
|
|
|
gl_FragColor = vec4(gl_Color.rgb, alpha) * texture2D(tex, p);
|
|
} |