您的位置:首页 > 运维架构

Shader特效——“Point in Box”的实现 【GLSL】

2016-08-27 22:45 489 查看
参考自: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.5), vec2(1, 1));

gl_FragColor = t * color;
}


相关延伸 C/C++ 语言代码

判断一个点是否在给定的凸四边形内

判断点是否在三角形中

判断凹凸四边形

判断平面四点能否构成四边形
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  OpenGL