gain
gain
通过一个增益参数 `k`,将输入值(通常在0-1范围)映射到一个S形曲线上,以直观地调整对比度。
核心优势
它将复杂的、需要手动编写的分段S形曲线函数封装成一个简单调用,并提供了一个直观的参数 `k` 来控制对比度,同时能保持输入值的黑、白、中灰点不变,非常适合艺术调整。
常见用途
增强程序化纹理(如噪音)的对比度,使其边缘更锐利。
调整地形高度图,创造更具戏剧性或更平缓的地貌。
为动画过渡(如擦除效果)添加缓动(慢-快-慢)效果。
艺术化地控制光照衰减曲线。
如何调整
主要通过调整 `k` 参数来控制。`k=1` 时无效果(线性);`k > 1` 会增强对比度,使S形曲线变陡峭,中间调被推向两极;`k < 1` 会降低对比度,使曲线变平缓,画面变“灰”。将 `k` 连接到 `timer` 节点可以创建对比度动态“呼吸”的效果。
代码示例
1// 使用 gain 增强一个噪音纹理的对比度,使其边缘更锐利
2const sharpNoise = gain( perlinNoise( uv() ), 2.5 );