GLSL 内置函数

all()

布尔向量全部分量为真才返回真。

示例版本:GLSL ES 1.00 / WebGL 1示例阶段:片段

函数签名

bool all(bvec2 x)
bool all(bvec3 x)
bool all(bvec4 x)

参数

x
输入值或左侧向量

返回值

一个 bool:x 的所有分量都为 true 时才为 true,否则为 false。

在线示例

修改右侧代码,左侧预览会实时更新。

all 做什么

布尔向量全部分量为真才返回真。

看懂预览

橙色方块表示 lessThan(abs(vec2(x,y)),vec2(0.5)) 的两个条件都成立。把上限改为 vec2(0.25),方块的宽和高都会减半。

核心调用

float(all(lessThan(abs(vec2(x,y)),vec2(0.5))));

矩形内部要求 X 和 Y 同时满足,适合 all。

修改实验

把 lessThan 内的 vec2(0.5) 改成 vec2(0.75,0.25)。横纵轴分别采用新的界限,all 判定区域会成为宽而矮的矩形。

规范

GLSL ES 1.00 built-in functions, chapter 8

相关函数