紅色三角形在下,綠色三角形在上
比如玻璃,假設玻璃是綠色的,那麼我們還可以看到下面的一層.即將兩種顏色混合了
glblendfunc (gl_src_alpha, gl_one_minus_src_alpha);
如下效果
綠色三角形可以看到紅色部分.
這裡稱底下的紅色三角形的顏色為目標顏色(下層),綠色為源顏色(上層)
呼叫glenable(gl_blend)開始混合功能,gldisable(gl_blend)關閉混合功能
之後使用glblendfunc 函式,選擇混合選項
好比畫家將兩種顏色混合了,但並非是透明的
這個選項用glblendfunc函式來完成
glblendfunc(gl_one, gl_one);
完整的示例,來自紅寶石書
#include#include
static int leftfirst = gl_true;
/* initialize alpha blending function.
*/static void init(void)
static void drawleft********(void)
static void drawright********(void)
void display(void)
else
glflush();
}void reshape(int w, int h)
void keyboard(unsigned char key, int x, int y)
}/* main loop
* open window with initial window size, title bar,
* rgba display mode, and handle input events.
*/int main(int argc, char** argv)
opengl顏色混合
注源顏色是當前顏色,目標顏色是背景顏色。顏色混合公式 混合之後的rgb顏色分量 影象的rgb顏色分量 alpha值 背景的rgb顏色分量 1 alpha值 開啟顏色混合步驟 1,glblendfunc gl src alpha,gl one 開啟混合 gldisable gl depth test ...
OpenGL顏色混合 glBlendFunc
混合是什麼呢?混合就是把兩種顏色混在一起。具體一點,就是把某一畫素位置原來的顏色和將要畫上去的顏色,通過某種方式混在一起,從而實現特殊的效果。假設我們需要繪製這樣乙個場景 透過紅色的玻璃去看綠色的物體,那麼可以先繪製綠色的物體,再繪製紅色玻璃。在繪製紅色玻璃的時候,利用 混合 功能,把將要繪製上去的...
OpenGL實現顏色混合
在opengl中,我們兩個物體如果疊在一起,想看到他們混合後的顏色就可以利用它所提供的api glblendfunc 下面用數學公式來表達一下這個運算方式。假設源顏色的四個分量 指紅色,綠色,藍色,alpha值 是 rs,gs,bs,as 目標顏色的四個分量是 rd,gd,bd,ad 又設源因子為 ...