gpt4 book ai didi

rendering - 解释预乘 alpha 的工作原理

转载 作者:行者123 更新时间:2023-12-05 09:21:23 25 4
gpt4 key购买 nike

有人可以解释为什么使用预乘 alpha(和修正的混合函数)渲染看起来与“正常”alpha 不同,而从数学上讲,它们是相同的吗?

我查看了这篇文章以了解预乘 alpha:

http://blogs.msdn.com/b/shawnhar/archive/2009/11/06/premultiplied-alpha.aspx

作者也说了最后的计算是一样的:

“查看传统 alpha 与预乘 alpha 的混合方程式。如果将此颜色格式转换代入预乘混合函数,您将获得传统混合函数,因此无论哪种方式都会产生相同的最终结果。不同之处在于预乘alpha 应用 (source.rgb * source.a) 计算作为预处理,而不是在混合硬件内部。”

我错过了什么吗?为什么结果不同呢?

内生

最佳答案

区别在于过滤。

想象一下,您有一个只有两个像素的纹理,并且您正好在两个像素之间的中间对其进行采样。还假设线性过滤。

Schematically:
R|G|B|A + R|G|B|A = R|G|B|A
non-premultiplied:
1|0|0|1 + 0|1|0|0 = 0.5|0.5|0|0.5
premultiplied:
1|0|0|1 + 0|0|0|0 = 0.5|0|0|0.5

注意绿色 channel 的区别。过滤预乘 alpha 会产生正确的结果。

请注意,所有这些都与混合无关。

关于rendering - 解释预乘 alpha 的工作原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32889512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com