参考自:stackoverflow
效果图:
GLSL代码:
uniform sampler2D texUnit;
float insideBox(vec2 v, vec2 bottomLeft, vec2 topRight)
{
// 如果在矩形内的话,s应该为(1., 1.),即函数返回值应该为 1
vec2 s = step(bottomLeft, v) - step(topRight, v);
return s.x * s.y;
}
void main()
{
vec4 color = vec4(.6, .3, .5, 1.);
vec2 texCoord = gl_FragCoord.xy/vec2(512., 512.);
float t = insideBox(texCoord, vec2(0.5, 0.