6.1 混合 6.1.1 源因子和目标因子 假定源和目标混合因子分别为(Sr, Sg, Sb, Sa)和(Dr,Dg,Db,Da), 混合后的RGB值如下: (RsSr + RdDr, GsSg + GdDg, BsSb + BdDb, AsSa + AdDa) 最后,将该四元组的各个分量截取到[0,1]. 将源片元和目标象素合并起来的默认方式是,将它们的值相加. 选择源混合因子和目标混合因子的方式: 第一种方式是调用函数glBlendFunc(),并指定两个混合因子, 其中第一个参数为源RGBA的混合因子, 第二个参数为目标RGBA的混合因子. 第二种方法是调用glBlendFuncSeparate()并指定4个混合因子, 这样可以用不同的方式来混合RGB和alpha值. void glBlendFunc(GLenum srcfactor, GLenum destfactor); srcfactor指出如何计算源混合因子; destfactor指出如何计算目标混合因子. void glBlendFuncSeparate(GLenum srcRGB, GLenum destRGB, GLenum srcalpha, GLenum destalpha); 源混合因子和目标混合因子 常量: RGB混合因子 alpha混合因子 GL_ZERO: (0, 0, 0) 0 GL_ONE: (1, 1, 1) 1 GL_DST_COLOR: (Rd, Gd, Bd) GL_SRC_COLOR: (Rs, Gs, Bs) A GL_ONE_MINUS_DST_COLOR: (1, 1, 1) - (Rd, Gd, Bd) GL_ONE_MINUS_SRC_COLOR: (1, 1, 1) - (Rs, Gs, Bs) 1 - A GL_SRC_ALPHA: (As,As,As,As) GL_ONE_MINUS_SRC_ALPHA: (1, 1, 1, 1) - (As,As,As,As) GL_DST_ALPHA: (Ad, Ad, Ad, Ad) GL_ONE_MINUS_DST_ALPHA: (1, 1, 1, 1) - (Ad, Ad, Ad, Ad) GL_SRC_ALPHA_STATURATE: (f, f, f,...