OpenGL ES 1.1 - 纹理和alpha和颜色键

时间:2013-12-23 23:54:07

标签: opengl-es

使用OpenGL ES 1.1。

我正在生成的图片正在进行彩色键控。它用其他东西替换一种颜色(洋红色)。

所以我用那种颜色清理背景,画在它上面,一切都很好。

然而,具有alpha通道的纹理会导致一些并发症。我实际上只想使用最大或最小的alpha,并显示背景或显示混合的图像,比如黑色。

我主要工作的黑客手动调整纹理数据,将alpha通道强制为min或max,并对实际颜色值进行预乘,这大部分都有效。

但是,当纹理大小发生变化时,我会进行一些过滤,一些洋红色经过。

所以: 1)是否有一些glBlendFunc和glTexEnv组合器函数的组合可以让我停止手动编辑纹理?
或者,失败了.... 2)绘制纹理时,我应该使用哪些参数,以便在缩放时将alpha保持为0或1?

1 个答案:

答案 0 :(得分:1)

使用 alpha测试而不是混合。使用glAlphaFunc选择比较函数和参考值。使用glEnable(GL_ALPHA_TEST)启用(并在渲染过程中不再需要时禁用)。