有人能否解释一下,为什么使用预乘 alpha(和更正的混合函数)进行渲染时,看起来与“正常”alpha不同,而从数学上讲,它们是相同的?
我查阅了这篇文章以了解预乘 alpha:http://blogs.msdn.com/b/shawnhar/archive/2009/11/06/premultiplied-alpha.aspx 作者还说最终计算结果相同:
“查看传统和预乘 alpha 的混合方程。如果将此颜色格式转换代入预乘混合函数中,则会得到传统混合函数,因此两种方式都会产生相同的最终结果。不同之处在于,预乘 alpha 将(源.rgb * 源.a)计算作为预处理,而不是在混合硬件内部执行。”
有什么遗漏吗?那么结果为什么不同呢?
我查阅了这篇文章以了解预乘 alpha:http://blogs.msdn.com/b/shawnhar/archive/2009/11/06/premultiplied-alpha.aspx 作者还说最终计算结果相同:
“查看传统和预乘 alpha 的混合方程。如果将此颜色格式转换代入预乘混合函数中,则会得到传统混合函数,因此两种方式都会产生相同的最终结果。不同之处在于,预乘 alpha 将(源.rgb * 源.a)计算作为预处理,而不是在混合硬件内部执行。”
有什么遗漏吗?那么结果为什么不同呢?