【基础】Premultiplied Alpha Blending/Alpha预乘/透明图片黑边

本文介绍了Premultiplied Alpha Blending的概念,它通过预乘Alpha值改善了纹理过滤和Mipmap时的颜色混合问题。在半透明图片渲染中,这种技术能避免透明边缘出现黑边。在Unity中,可以通过设置Alpha Is Transparency选项来处理这个问题,它将不透明区域的RGB扩张以防止黑边的产生,尽管这不是真正的Alpha预乘。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Premultiplied Alpha Blending

参考1:GPUs prefer premultiplication
参考2:Alpha Blending: To Pre or Not To Pre
参考3:WEBGL, BLENDING, AND WHY YOU’RE PROBABLY DOING IT WRONG
对于普通的rgba图片,rgb通道表示颜色,Alpha通道表示不透明度。比如一个半透明的红色像素,其颜色应该为(1,0,0,0.5)。在渲染中我们使用SrcAlpha OneMinusSrcAlpha的Blend Mode来实现半透明。
简单来说,Premultiplied Alpha Blending就是将半透明图片的RGB通道值预乘以alpha,即上述的像素将变为(0.5,0,0,0.5)。这个做法相当于将Blend Mode中SrcAlpha的系数乘法提前,且这个过程是对纹理数据进行的,发生在纹理采样之前。相应地,将Blend Mode从SrcAlpha OneMinusSrcAlpha改为One OneMinusSrcAlpha。
初看这似乎对颜色计算的结果并不会产生影响,只

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值