bool
bool
将数值输入(整数或浮点数)转换为布尔值(true/false)。转换规则为:0 转换为 false,任何非零值转换为 true。
核心优势
保障类型安全,确保传递给条件节点(如 IfNode)的输入是正确的布尔类型,从而避免着色器编译错误。它能清晰地表达将一个数值用作“逻辑开关”的编程意图,提高代码可读性。
常见用途
为条件节点(IfNode)提供判断条件
根据一个 uniform 变量(0.0 或 1.0)动态开启或关闭某种效果
从连续的程序化图案(如噪波、正弦波)中生成高对比度的二值蒙版
作为调试工具,可视化某个计算结果是否为零
如何调整
它在视觉上扮演一个“数字断路器”的角色,只有“通”(true) 和“断”(false) 两种状态。调整其输入值,只要从 0 变为任何非零值(或反之),就会导致一个瞬时的、硬性的视觉切换,例如颜色从蓝突变为红,而不会有任何平滑的过渡。它能将平滑的函数(如正弦波)变成不连续的、硬边缘的图案。
代码示例
1// 将一个可控数值 (如 uniform) 转换为布尔条件
2const isSwitchedOn = myControlValue.bool();
3
4// 如果条件为真,显示红色;否则,显示蓝色
5const finalColor = If( isSwitchedOn, color('red'), color('blue') );