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