透明度演算法

2021-05-24 13:05:06 字數 730 閱讀 6720

方法一:

首先,要能取得上層與下層顏色的 rgb三基色,然後用

r,g,b 為最後取得的顏色值;r1,g1,b1是上層的顏色值;r2,g2,b2是下層顏色值

r = r1/2 + r2/2;

g = g1/2 + g2/2;

b = b1/2 + b2/2;

以上為50%透明。若要使用不同的透明度用以下演算法(alpha=透明度):

(50%以下)

r = r1 - r1/alpha + r2/alpha;

g = g1 - g1/alpha + g2/alpha;

b = b1 - b1/alpha + b2/alpha;

(50%以上)

r = r1/alpha + r2 - r2/alpha;

g = g1/alpha + g2 - g2/alpha;

b = b1/alpha + b2 - b2/alpha;

方法二:

targetbmp[x,y].red := (bmp1[x,y].red*alpha) + (bmp2[x,y].red*(1-alpha));

targetbmp[x,y].green := (bmp1[x,y].green*alpha) + (bmp2[x,y].green*(1-alpha));

targetbmp[x,y].blue := (bmp1[x,y].blue*alpha) + (bmp2[x,y].blue*(1-alpha));

透明度測試

shader custom testshader cutoff alpha cutoff range 0,1 0.5 subshader pass cgprogram pragma vertex vert pragma fragment frag include lighting.cginc fix...

初探透明度

透明度實現方式 在unity中實現透明度效果有兩種方案,一種是透明度測試,一種是透明度混合。透明度測試實現方式 既是片元的透明度和透明度閾值進行比較,小於這個透明度閾值的片元會直接被捨棄掉,不會做任何處理,相當於該片元透明。而大於這個透明度閾值的則會按照不透明的方式進行處理。實現 如下 shader...

透明度問題

實現透明的三種方法 1 css3的opacity 不透明 取值是在0 1 表示完全透明,1表示完全不透明 2 rgba red,green,blue,alpha alpha的取值0 1 3 ie專屬濾鏡filter alpha opacity x x的取值從0到100,例如 filter alpha...