max
max
返回两个或多个输入值中较大的一个。对于向量,它会逐分量进行比较。是实现“变亮”混合、确保数值下限和形状组合的基础工具。
核心优势
提供了比条件表达式 (`a > b ? a : b`) 更简洁、可读性更高且性能更好的方式来找出最大值。它支持两个以上参数和向量操作,极大地简化了光照计算与颜色混合的逻辑。
常见用途
确保数值下限(如光照计算)
实现“变亮”混合模式
程序化形状生成 (SDF)
如何调整
通过改变输入值来控制结果。例如,`max(noise, level)` 就像一个可调节的水位,只有噪波图中比 `level` 更亮的部分才能“浮现”出来,从而动态地过滤或提亮图像的暗部区域。
代码示例
1// 确保漫反射光照强度不小于 0
2const diffuse = max( dot( lightDir, normal ), 0.0 );