【问题标题】:OpenGL ES glClearColor at 0.5 turns white0.5 处的 OpenGL ES glClearColor 变为白色
【发布时间】:2011-04-27 16:39:48
【问题描述】:

我设置了glClearColor(0.5f, 0.5f, 0.5f, 1.0f),当它在绘制时,有那么一小会我可以看到一切正常,但它很快就完全变白了。我还注意到这种效果也发生在我的一个纹理上,它使用与背景相同的数字。它这样做的原因是什么,需要做什么才能使它只渲染颜色#7f7f7f,我希望这能解决我的纹理问题,这似乎在同样的效果下受到影响。

【问题讨论】:

  • 这是您唯一调用 glClearColor 的地方吗?
  • 是什么导致了淡出?随着时间的推移,某处某处导致“淡出”,原因是什么?
  • 会先渲染到纹理,可能会导致这种行为吗?
  • 也可能是混合功能造成的?

标签: android opengl-es android-ndk


【解决方案1】:

看起来这与混合功能有关。回到glBlendFunc(GL_COLOR_SRC, GL_ONE),或者在 glClearColor 之前的那些行,使它的行为方式与最初的方式相同(我正在玩混合功能)。如果我有时间,这可能会解决我的纹理问题。但是,仍然不确定是否首先渲染到纹理会对此有所贡献。

更新:这与混合函数有关,看起来渲染纹理确实会改变结果。在渲染到屏幕之前放置glBlendFunc(GL_ONE, GL_ZERO),它完全改变了它的外观。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多