0
点赞
收藏
分享

微信扫一扫

混合模式 遇到了Premultiplied Alpha


Premultiplied Alpha

这是什么东西 说一个图片 一个点的颜色最后在屏幕上只有RGB了,a呢。对 就是这个问题

如果要生成一个图片 那这个点最终RGBA是什么,究竟该用什么公式去计算?

上面两个图片 中间半透明 别处镂空,宽高一样,拼成下面那个

混合模式 遇到了Premultiplied Alpha_图形学


L左边 R右边

两部分

Alpha

如果用源图片自己的A,按上面的图片,左边为0的地方,L就不考虑R这个位置A不为0,直接A=0,

正中间相交那部分

直接A保留L的A

LA=0.8 RA=0.2

0.8

LA=0.2,RA=0.8

0.2

如果用 L.A * L.A + (1 - L.A) * R.A
LA=0.8 RA=0.2
0.64+0.04= 0.68
LA=0.2,RA=0.8
0.04+0.64=0.68

如果用 L.A * 1 + (1 - L.A) * R.A
LA=0.8 RA=0.2
0.8+0.04= 0.84
LA=0.2,RA=0.8
0.2+0.64=0.84

两个公式出来的A不一样啊不一样,这里用谁才是对的
然后这个是算了A,但问题是这个A是写在图片的A通道啊 卧槽 渲染的时候 A不还被取出来参与一次计算才会显示到屏幕上,这可太头大了,所以计算的时候,RGB是要考虑这个A的

RGB
一个半透明图片 RGB的颜色,该是啥

​​详细推导​​ 看完这个,感觉清晰了

然后Premultiplied Alpha,​​详细介绍​

混合模式 遇到了Premultiplied Alpha_图形学_02


然后这个开了之后,blend模式也要修改,alpha已经乘进去RGB了,要separate设置


举报

相关推荐

0 条评论