2013-12-23 68 views
0

使用OpenGL ES 1.1。OpenGL ES 1.1 - 纹理和alpha和颜色键

我正在生成的图片在后面的颜色键上。它用别的东西代替了一种颜色(洋红色)。

所以我用这种颜色清理背景,在它的顶部绘制,并且一切都很好。

但是,带有alpha通道的纹理会导致一些并发症。我实际上只想使用最大或最小alpha值,并显示背景或显示与黑色混合的图像。

我主要工作的黑客手动调整纹理数据强制Alpha通道为最小值或最大值,并对实际颜色值进行预乘操作,而这主要起作用。

但是,当纹理尺寸发生变化时,我会稍微过滤一些洋红色。

因此: 1)是否有一些glBlendFunc和glTexEnv组合函数的组合,让我停止手动编辑纹理?
或者失败...... 2)绘制纹理时,我应该使用什么参数来保持alpha在0或1时的缩放比例?

回答

1

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