4-3混合

72 阅读1分钟

混合是实现物体透明度的一种技术,由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值对透明物体进行排序,由远到近绘制所有透明物体