mx_contrast
mx_contrast
围绕一个中心点,以编程方式调整输入值(颜色或浮点数)的对比度,即扩大或压缩其色调范围。
核心优势
允许在着色器中对视觉对比度进行实时动态控制,无需更换纹理资产,极大地简化了美术工作流程,并能轻松实现交互式或动画式的视觉效果。
常见用途
作为后期处理效果,调整整个渲染场景的氛围,如增强戏剧感或营造褪色感。
增强纹理细节,使木纹、岩石或织物图案等“凸显”出来,显得更清晰。
锐化程序化噪声的输出,以创建更明确的黑白区域,用于生成遮罩或图案。
如何调整
主要通过 `amount` 和 `pivot` 参数进行调整。`amount` 大于 1 会增加对比度,0 到 1 之间会降低对比度(画面变“平”),负值会反转色调(底片效果)。`pivot`(默认为 0.5)设定了对比度变换的中心点,该点的值在变换中保持不变。
代码示例
1// 将基础颜色的对比度增强 2.5 倍,围绕中性灰(0.5)进行调整
2const contrastedColor = mx_contrast(baseColor, 2.5, 0.5);