混合像素算法相关的API有以下几种
1、混合像素的设定
有效 glEnable(GL_BLEND)
无效 glDisable(GL_BLEND)
默认的设置是无效
2、混合像素计算方法
glBlendFunc(srcRGBA, dstRGBA);
srcRGBA :描画源的混合系数
dstRGBA: 描画目的的混合系数
glBlendFuncSeparate(srcRGB, srcAlpha, dstRGB, dstAlpha);
srcRGB :描画源RGB的混合系数
srcAlpha :描画源alpha的混合系数
dstRGB: 描画目RGB的混合系数
dstAlpha:描画目的的混合系数
3、混合系数的范围
GL_ZERO, (0)
GL_ONE, (1)
GL_SRC_COLOR,(Rs, Gs, Bs,As)
GL_ONE_MINUS_SRC_COLOR, (1-Rs, 1-Gs, 1-Bs, 1-As)
GL_SRC_ALPHA,(As)
GL_ONE_MINUS_SRC_ALPHA,(1-As)
GL_DST_COLOR,(Rd, Gd, Bd, Ad)
GL_ONE_MINUS_DST_COLOR,(1-Rd, 1-Gd, 1-Bd, 1-Ad)
GL_CONSTANT_COLOR, (Rc, Gc, Bc, Ac)
GL_ONE_MINUS_CONSTANT_COLOR,(1-Rc, 1-Gc, 1-Bc, 1-Ac)
GL_CONSTANT_ALPHA,(Ac, Ac, Ac, Ac)
GL_ONE_MINUS_CONSTANT_ALPHA (1-Ac,1-Ac,1-Ac, 1-Ac, )
GL_SRC_ALPHA_SATURATE; (min(As, 1-As), 1)
4、使用方法
blend有效的时候
glEnable(GL_BLEND);