GLSL 内置函数
any()
只要布尔向量任一分量为真就返回真。
示例版本:GLSL ES 1.00 / WebGL 1示例阶段:片段
函数签名
bool any(bvec2 x)
bool any(bvec3 x)
bool any(bvec4 x)参数
- x
- 输入值或左侧向量
返回值
一个 bool:只有 x 的所有分量都为 false 时才为 false。
在线示例
修改右侧代码,左侧预览会实时更新。
any 做什么
只要布尔向量任一分量为真就返回真。
看懂预览
any(greaterThan(abs(vec2(x,y)),vec2(0.5))) 选中中央方块以外的区域。把界限提高为 vec2(0.75),中央未选中的方块会扩大。
核心调用
float(any(greaterThan(abs(vec2(x,y)),vec2(0.5))));
any 适合越界检测;全部条件成立应使用 all。
修改实验
把 greaterThan 的 vec2(0.5) 改为 vec2(0.25,0.75)。两个比较都不成立的中央区域会变成窄而高的矩形。