log
log
计算自然对数 (ln(x)),用于非线性地压缩高数值范围或拉伸低数值区域的细节。
核心优势
其核心优势在于能将跨度极大的数值(如 HDR 颜色)映射到更易处理的范围,同时放大低数值区域的差异,非常适合用于色调映射和增强暗部细节。
常见用途
高动态范围 (HDR) 色调映射
增强纹理的暗部细节
调整光照衰减曲线
程序化图案生成
如何调整
效果由输入值 `x` 决定。由于对数函数在 `x` 接近 0 时增长极快,在 `x` 变大时增长减缓,因此它能有效“提亮”输入中的暗部区域,同时“压缩”亮部区域,防止过曝,常用于色调映射。
代码示例
1// 通过对数函数提亮暗部,同时压缩亮部
2// 加 1.0 是为了避免 log(0) 的情况
3const tonemappedColor = log( hdrColor.add( 1.0 ) );