blendOverlay
blendOverlay
复现 Photoshop 的“叠加”混合模式,根据叠加层的明暗来同时加深基色的暗部并提亮其亮部,从而极大地增强画面的对比度和细节质感。
核心优势
将复杂的条件判断逻辑(基于基色亮度)和两种混合算法封装为单个原子操作,极大地简化了着色器代码,并提供了与行业标准设计软件一致的、富有表现力的纹理增强工具。
常见用途
使用细节图(Grunge Map)为平坦表面添加划痕、污渍等丰富质感。
在后期处理中作为调色滤镜,增强画面对比度并赋予特定色调。
合成木纹或大理石纹理,使其图案与底色自然融合且对比强烈。
模拟斑驳的光影效果(Gobos),使光照更具层次感。
如何调整
`blend` 输入的 50% 灰色是“中性色”,对基色无任何影响。比 50% 灰色更暗的 `blend` 颜色会使基色变暗;更亮的则会使基色变亮。这使得它非常适合使用包含明、暗、灰区域的细节纹理来为材质添加质感,例如,用一张风化贴图,其深色锈迹部分会加深金属颜色,而浅色刮痕部分则会提亮它。
代码示例
1// 将风化纹理的“质感”叠加到金属基色上
2const weatheredMetal = blendOverlay( metalBaseColor, weatheringTexture );