混合是实现物体透明度的一种技术,由alpha决定,1.0时完全不透明,0.0时完全透明,当低于某个阈值时应该丢弃片段
采用GL_BLEND进行混合,公式color1a+color2(1-a)
使用glBlendFunc函数来使用因子
GL_ZERO | 因子等于0 |
|---|---|
GL_ONE | 因子等于1 |
GL_SRC_COLOR | 因子等于源颜色向量ˉCsource |
GL_ONE_MINUS_SRC_COLOR | 因子等于1−ˉCsource |
GL_DST_COLOR | 因子等于目标颜色向量ˉCdestination |
GL_ONE_MINUS_DST_COLOR | 因子等于1−ˉCdestination |
GL_SRC_ALPHA | 因子等于ˉCsource的alpha分量 |
GL_ONE_MINUS_SRC_ALPHA | 因子等于1− ˉCsource的alpha分量 |
GL_DST_ALPHA | 因子等于ˉCdestination的alpha分量 |
GL_ONE_MINUS_DST_ALPHA | 因子等于1− ˉCdestination的alpha分量 |
GL_CONSTANT_COLOR | 因子等于常数颜色向量ˉCconstant |
GL_ONE_MINUS_CONSTANT_COLOR | 因子等于1−ˉCconstant |
GL_CONSTANT_ALPHA | 因子等于ˉCconstant的alpha分量 |
GL_ONE_MINUS_CONSTANT_ALPHA | 因子等于1− ˉCconstant的alpha分量 |
关于顺序,先绘制所有的不透明物体,然后根据z值对透明物体进行排序,由远到近绘制所有透明物体