Alpha混合和UIView背景颜色

当我用OpenGL绘制半透明纹理时,看起来像我将它们与EAGLView backgroundColor混合。

((EAGLView*)my_view).backgroundColor = [UIColor redColor];

不透明属性设置为YES。

现在图像看起来很红,当我变成黑色时,它变成灰色(与黑色混合),变成白色(即使是半透明的黑色)。 它会是什么?

我的混合功能设置是:src BFP_SRC_ALPHA,dest ONE_MINUS_SRC_ALPHA我也尝试过(可能类似预乘alpha):src ONE dest GL_ONE_MINUS_SRC_ALPHA - 它给出了很好的结果,但是在绘制半透明四元组(不是纹理)时出现问题。


问题出现在预乘alpha使用src ONE dest GL_ONE_MINUS_SRC_ALPHA,并且args必须与预乘alpha也glColor4f(r * a,g * a,b * a,a)

链接地址: http://www.djcxy.com/p/31837.html

上一篇: Alpha blending and UIView background color

下一篇: XNA Additive particles blending on background