GLSL 内置函数
not()
逐分量取反布尔向量。
示例版本:GLSL ES 1.00 / WebGL 1示例阶段:片段
函数签名
bvec2 not(bvec2 x)
bvec3 not(bvec3 x)
bvec4 not(bvec4 x)参数
- x
- 输入值或左侧向量
返回值
长度不变的布尔向量,每个 true 变为 false,每个 false 变为 true。
在线示例
修改右侧代码,左侧预览会实时更新。
not 做什么
逐分量取反布尔向量。
看懂预览
not(lessThan(vec2(x,y),vec2(0.0))).x 把左半边判定翻成右半边。把 lessThan 的界限设为 vec2(0.5),取反后的分界会向右移动。
核心调用
float(not(lessThan(vec2(x,y),vec2(0.0))).x);
标量逻辑取反用 !;not 接受布尔向量。
修改实验
把 not 的输入改为 bvec2(true,false),保留 .x。第一个分量取反后会处处为 false;若取 .y,则会处处为 true。