飛機大戰新增子彈的時候,子彈總是有背景的黑色,可以採用顏色混合的方法解決。
在子彈初始化的時候 :
ccblendfunc cbl = ;
this->setblendfunc(cbl);
ccblendfunc 有兩個引數,第乙個引數代表源(也就是子彈)的顏色,第二個引數代表目標(也就是地圖背景)的顏色。
1. glblendfunc(gl_one, gl_zero);則表示完全使用源顏色,完全不使用目標顏色,因此畫面效果和不使用混合的時候一致,也就是沒有設定混合時候的預設情況;
2. glblendfunc(gl_zero, gl_one);則表示完全不使用源顏色,因此無論你想畫什麼,最後都不會被畫上去。效果和沒有新增子彈一樣;
3. glblendfunc(gl_src_alpha, gl_one);則表示源顏色乘以自身的alpha 值,目標顏色採用原顏色,這樣一來,源顏色的alpha值越大,則產生的新顏色中源顏色所佔比例就越大,而目標顏色所佔比例則減 小。
關於顏色混合
ccsprite有乙個ccblendfunc型別的blendfunc 結構體成員,可以用來設定描繪時的顏色混合方案。ccblendfunc包含了乙個src和乙個dst,分別表示目標和源的運算因子。如果我們對乙個sprite使用setblendfunc方法,如 spritesetblendfunc c...
opengl顏色混合
注源顏色是當前顏色,目標顏色是背景顏色。顏色混合公式 混合之後的rgb顏色分量 影象的rgb顏色分量 alpha值 背景的rgb顏色分量 1 alpha值 開啟顏色混合步驟 1,glblendfunc gl src alpha,gl one 開啟混合 gldisable gl depth test ...
OpenGL顏色混合 glBlendFunc
混合是什麼呢?混合就是把兩種顏色混在一起。具體一點,就是把某一畫素位置原來的顏色和將要畫上去的顏色,通過某種方式混在一起,從而實現特殊的效果。假設我們需要繪製這樣乙個場景 透過紅色的玻璃去看綠色的物體,那麼可以先繪製綠色的物體,再繪製紅色玻璃。在繪製紅色玻璃的時候,利用 混合 功能,把將要繪製上去的...