在Frank D Lunas DirectX11一书中,第356页,第9.5.4节,他有一个等式
(rs, gs, bs) * (as, as, as) + (rd, gd, bd) * (1-as, 1-as, 1-as)
= as(rd, gd, bd) + (1-as)(rs, gs, bs)
其中*是分量乘法。
(r,g,b)是指颜色。
答案 0 :(得分:3)
这看起来不正确。它应该是:
as*(rs, gs, bs) + (1-as)(rd, gd, bd)
我假设这是使用源alpha的透明操作。
答案 1 :(得分:2)
(rs, gs, bs) * (as, as, as) + (rd, gd, bd) * (1-as, 1-as, 1-as)
展开组件智能乘法
(as*rs, as*gs, as*bs) + ((1-as)*rd, (1-as)*gd, (1-as)*bd)
分比化
as(rs, gs, bs) + (1-as)(rd, gd, bd)
我认为这一定是书中的错误。
答案 2 :(得分:0)
正如你所写,我认为这个等式是错误的。由于*
表示组件乘法:
(rs, gs, bs) * (as, as, as) = as(rs, gs, bs)
(rd, gd, bd) * (1-as, 1-as, 1-as) = (1-as)(rd, gd, bd)
所以:
(rs, gs, bs) * (as, as, as) + (rd, gd, bd) * (1-as, 1-as, 1-as)
= as(rs, gs, bs) + (1-as)(rd, gd, bd)
答案 3 :(得分:0)
看起来书中有一个错误。
(rs, gs, bs) * (as, as, as) + (rd, gd, bd) * (1-as, 1-as, 1-as)
= (rs*as, gs*as, bs*as) + (rd*(1-as), gd*(1-as), bd*(1-as))
= as(rd, gd, bd) + (1-as)(rs, gs, bs)
答案 4 :(得分:0)
可能是因为分量乘法(a,b,c)*(d,d,d)与行向量(a,b,c)上的简单标量乘法相同* d?
http://www.wolframalpha.com/input/?i=%28a%2Cb%2Cc%29%28d%2Cd%2Cd%29 http://www.wolframalpha.com/input/?i=%28a%2Cb%2Cc%29+d
猜猜