Unity3D-Shader-混合(Blend)

本文深入探讨了AlphaBlending(Alpha混合)技术,这是一种用于控制透明度的技术,常用于光栅化过程的最后阶段。文章详细解释了源颜色与目标颜色的概念,并提供了Blending操作的语法及多种属性设置,如SrcFactor和DstFactor,帮助读者理解如何通过不同的系数来调整最终颜色的合成。

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

转载自风宇冲博客

 

Alpha Blending,中文译作Alpha混合

Blending就是控制透明的。处于光栅化的最后阶段。

这里例如我们给一个模型贴一个材质,那么在某个点计算出来颜色值称为源,而该点之前累积的颜色值,叫目标。

 

语法

Blend Off     不混合

Blend SrcFactor DstFactor  SrcFactor是源系数,DstFactor是目标系数

最终颜色 = (Shader计算出的点颜色值 * 源系数)+(点累积颜色 * 目标系数)

 

属性(往SrcFactor,DstFactor 上填的值)

one                          1

zero                         0

SrcColor                         源的RGB值,例如(0.5,0.4,1)

SrcAlpha                         源的A值, 例如0.6

DstColor                   混合目标的RGB值例如(0.5,0.4,1)

DstAlpha                         混合目标的A值例如0.6

OneMinusSrcColor          (1,1,1) - SrcColor

OneMinusSrcAlpha          1- SrcAlpha

OneMinusDstColor          (1,1,1) - DstColor

OneMinusDstAlpha          1- DstAlpha

 

运算法则示例:

(注:r,g,b,a,x,y,z取值范围为[0,1])

 

(r,g,b) * a = (r*a , g*a , b*a)

(r,g,b) * (x,y,z) = (r*x , g*y , b*z)

(r,g,b) + (x,y,z) = (r+x , g+y , b+z)

(r,g,b) - (x,y,z)  = (r-x , g-y , b-z)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值