blendDodge
blendDodge
复现 Photoshop 中的“颜色减淡”混合模式,通过降低对比度来非线性地提亮基色,常用于创造强烈的发光或高光“溢出”效果。
核心优势
安全地封装了“颜色减淡”的算法,内置了对除以零风险的防范,避免了手动实现时可能导致的渲染“花屏”问题,为开发者提供了稳定可靠且富有艺术表现力的提亮工具。
常见用途
合成镜头光晕或辉光,使强光源产生刺眼、能量溢出的感觉。
制作火焰、爆炸、能量束等视觉特效,使其核心部分显得极度炽热。
为卡通或风格化材质添加程序化的高光层。
通过与自身混合来锐化纹理,极大地提升亮部细节和对比度。
如何调整
效果对 `blend` 输入的亮度极为敏感。`blend` 为纯黑色时无效果;随着 `blend` 颜色变亮,对 `base` 颜色的提亮效果会急剧增强;当 `blend` 为纯白色时,输出结果将被强制钳位为纯白色,产生“烧焦”感。这非常适合用动态噪声纹理作为 `blend` 来模拟流动的能量光效。
代码示例
1// 在角色表面创建流动的能量护盾效果
2const shieldEffect = blendDodge( characterColor, scrollingNoise );