Premultiplied Alpha

Premultiplied Alpha
alpha预乘,与通常颜色表示方法(r,g,b,a)的差别在与它表示为(ar,ag,ab,a)。为什么要这么做呢?因为在颜色混合时,预乘的效果比分开表示更好。比如(1,1,1,1)与(0,0,0,0)混合后,(0.5,0.5,0.5,0.5)在分开表示方法时,这表示一个灰色。而预乘表示一个半透的白色。
而分开表示方法到预乘的转换,首先是纹理的颜色值进行转换(r,g,b,a)->(ar,ag,ab,a);再次是混合因子的转换(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)->(GL_ONE, GL_ONE_MINUS_SRC_ALPHA)

你可能感兴趣的:(游戏引擎)