【发布时间】:2013-12-23 23:54:06
【问题描述】:
使用 OpenGL ES 1.1。
我正在生成的图片稍后会进行颜色键控。它将一种颜色(洋红色)替换为其他颜色。
所以我用那个颜色清理了背景,在上面画了,一切都很好。
但是,带有 Alpha 通道的纹理会导致一些复杂问题。我实际上只想使用最大或最小 alpha,并显示背景或显示与黑色混合的图像。
我最常用的 hack 手动调整了纹理数据,强制 alpha 通道为最小值或最大值,并对实际颜色值进行预乘,这主要是可行的。
但是,当纹理大小发生变化时,我会进行一些过滤,并且会出现一些洋红色。
所以:
1) 是否有一些 glBlendFunc 和 glTexEnv 组合器函数的组合可以让我停止手动编辑纹理?
或者,失败了......
2) 绘制纹理时应该使用哪些参数以在缩放时保持 alpha 为 0 或 1?
【问题讨论】:
标签: opengl-es