原文鏈接:https://www.cnblogs.com/nanwei/p/7281789.html
Alpha Blending 即Alpha混合
Blending 就是處理透明度的姥卢,處理光柵化最后階段坡倔,顯示在屏幕上的顏色
1 Blend Off 關(guān)閉alpha混合
2 混合公式:Blend SrcFactor DstFactor
SrcFactor 混合源系數(shù) Shader當(dāng)前計(jì)算點(diǎn)的顏色的混合系數(shù)
DstFactor 混合目標(biāo)系數(shù) 當(dāng)前點(diǎn)之前累積的顏色的混合系數(shù)
最終顏色 = (Shader計(jì)算出的點(diǎn)顏色值 * 源系數(shù))+(點(diǎn)累積顏色 * 目標(biāo)系數(shù))
3 常用的混合系數(shù)
one 1(僅顯示RBG值)
zero 0(不參與混合宙址,為(0,0,0,0))
ScrColor 源的RGB值
ScrAlpha 源的alpha值
DstColor 目標(biāo)的RGB值
DstAlpha 目標(biāo)的alpha值
OneMinusSrcColor 1減源RGB值
OneMinusScrAlpha 1減源alpha值
OneMinusDstColor 1減目標(biāo)RGB值
OneMinusDstAlpha 1減目標(biāo)alpha值
4 幾種混合方式案例
Blend zero one 僅顯示目標(biāo)的RGB 無(wú)透明通道處理(alpha為1)
Blend one zero 僅顯示源的RGB 無(wú)透明通道處理(alpha為1)
Blend one one 目標(biāo)和源的RGB值相加,無(wú)透明通道處理(alpha為1)
Blend ScrAlpha zero 僅顯示源的顏色(處理透明通道)唠摹,完全透明的地方顯示(0,0,0,1)
Blend ScrAlpha OneMinusScrAlpha 源RGB * alpha + 目標(biāo)RGB * (1 - alpha)
5 顏色計(jì)算規(guī)則
(注: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)