我正在尝试模拟 Adobe Photoshop 的混合模式 - 变暗。
我了解基本的 Darken 原则:Darken(a,b) = min(a,b)。例如:
Darken( (.2, .3, .8), (.5, .1, .4) ) = (.2, .1, .4) // (r, g, b)
但我有它的透明度。在 Photoshop 中,Darken 是这样工作的:
Darken( (0, 1, 0, .5), (0, 0, 0, .5) ) = (0, .3, 0, .75) // (r, g, b, a)
在黑色上加深绿色是绿色。我明白了,输出 alpha 以经典方式计算:ao = aa + ab * (1-aa)。你知道其他值是如何计算的吗?
顺便提一句。变暗模式是可交换的。