OpenGL 混合

混合

OpenGL渲染時會把顏⾊值存在顏⾊緩存區中,每一個片斷的深度值也是放在深度緩衝區。當深度緩衝區被關閉時,新的顏色將簡單的覆蓋原來顏色緩存區存在的顏色值,當深度緩衝區再次打開時,新 的顏⾊片斷只是當它們比原來的值更接近鄰近的裁剪平面纔會替換原來的顏色片斷。緩存

glEnable(GL_BlEND);
複製代碼

組合顏色

⽬標顏色:已經存儲在顏色緩存區的顏色值 源顏色:做爲當前渲染命令結果進入顏色緩存區的顏色值bash

當混合功能被啓動時,源顏色和目標顏色的組合方式是混合方程式控制的。在默認狀況下,混合方程式以下所示:函數

Cf = (Cs * S) + (Cd * D);

Cf :最終計算參數的顏色 
Cs : 源顏色
Cd :目標顏色 
S:源合因子 
D:目標混合因子
複製代碼

混合因子

設置混合因子,須要用到glBlendFun函數:spa

glBlendFunc(GLenum S,GLenum D);
S:源混合因⼦
D:目標混合因⼦
複製代碼

表中R、G、B、A 分別表明 紅、綠、藍、alpha。 表中下標S、D,分別表明源、目標 表中C 表明常量顏色(默認⿊⾊)3d

摘自邏輯教育code

相關文章
相關標籤/搜索