【问题标题】:OpenGL ES 1.1 - texture and alpha and color keyOpenGL ES 1.1 - 纹理和 alpha 和颜色键
【发布时间】:2013-12-23 23:54:06
【问题描述】:

使用 OpenGL ES 1.1。

我正在生成的图片稍后会进行颜色键控。它将一种颜色(洋红色)替换为其他颜色。

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

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

我最常用的 hack 手动调整了纹理数据,强制 alpha 通道为最小值或最大值,并对实际颜色值进行预乘,这主要是可行的。

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

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

【问题讨论】:

    标签: opengl-es


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2012-04-19
      • 2012-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-11
      • 1970-01-01
      相关资源
      最近更新 更多