Shader特效——“Point in Box”的实现 【GLSL】
2016-08-27 22:45
489 查看
参考自:stackoverflow
效果图:
GLSL代码:
相关延伸 C/C++ 语言代码
判断一个点是否在给定的凸四边形内
判断点是否在三角形中
判断凹凸四边形
判断平面四点能否构成四边形
效果图:
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++ 语言代码
判断一个点是否在给定的凸四边形内
判断点是否在三角形中
判断凹凸四边形
判断平面四点能否构成四边形
相关文章推荐
- Shader特效——“翻页”的实现 【GLSL】
- Shader特效——“帧动画效果”的实现 【GLSL】
- Shader特效——“马赛克”的实现【GLSL】
- Shader特效——实现“闪电”【GLSL】
- Shader特效——“Kuwahara Filter”的实现 【OpenCV】【GLSL】
- Shader特效——“Distance Estimation 距离估计”的实现 【GLSL】
- Shader特效——“Barrel Blur”的实现 【GLSL】
- Shader特效——实现简单的“FishEye”【GLSL】
- Shader特效——实现“火苗”【GLSL】
- Shader特效——“Bilateral Filter”的实现 【GLSL】
- Shader特效——“Sephia等效果”的实现 【GLSL】
- Shader特效——“雪花飞舞 ”的实现 【GLSL】
- Shader特效——“Median Filter效果”的实现 【GLSL】
- Shader特效——实现“抗锯齿的黑白格”并原理解析【GLSL】
- Shader特效——“Gamma校正”的实现 【GLSL】
- Shader特效——“Simple RayTrace”的实现 【GLSL】
- Shader特效——“Simple 3D Raymarch”的实现 【GLSL】
- Shader特效——“旋转粒子”的实现【GLSL】
- Shader特效——“水彩画”的实现【GLSL】
- Shader特效——"Floyd Steinberg 抖动” 的实现 【OpenCV】【GLSL】