bitOr
bitOr
执行按位“或”(|)运算,用于安全地组合或“开启”单个整数内的多个状态标志。
核心优势
提供了合并状态标志的正确原子方法,允许在着色器内部直接动态组合复杂状态,而不会干扰现有标志。它是位掩码技术中的“构建者”。
常见用途
在着色器中根据多个条件动态构建一个总的材质标志
在计算着色器中为状态值添加新属性(如:为细胞添加“感染”状态)
合并不同的渲染层级掩码
累积多个输入状态(如游戏按键)到一个状态字中
如何调整
此节点组合两个整数输入,其输出是代表输入标志并集的另一个整数。调整输入会改变结果整数中哪些位是“开启”状态。这个输出值通常被 `bitAnd` 节点使用,以控制哪种视觉效果的组合(例如贴图、扭曲)被激活。
代码示例
1// 根据条件计算出独立的标志值
2const textureFlag = mul( enableTexture, FLAG_TEXTURE );
3const distortionFlag = mul( enableDistortion, FLAG_DISTORTION );
4
5// 使用 bitOr 将它们合并成一个总的标志整数
6const finalFlags = bitOr( textureFlag, distortionFlag );