gpt4 book ai didi

iphone - 如何在 OpenGL ES 1.1 (iPhone) 中以编程方式对纹理对象进行 Alpha 淡入淡出

转载 作者:行者123 更新时间:2023-12-03 18:41:31 24 4
gpt4 key购买 nike

我在 iPhone 上使用 OpenGL ES 1.1 已有 10 个月了,在这段时间里,我无法完成一项看似简单的任务:以编程方式淡化纹理对象。为了简单起见:我如何在代码控制下对一个应用了纹理(带有 alpha)的简单 2D 三角形进行 alpha 淡入淡出。我想在场景上淡入/淡出它,而不是简单的彩色背景。到目前为止,我要做的唯一技术是创建一个纹理,其上有多个预褪色的纹理副本。 (恶心)

例如,我无法使用 Apple 的 GLSprite 示例代码作为起点来执行此操作。它已经使用具有自己的 Alpha 的纹理对四边形进行了纹理化。我想让该对象淡入淡出。

最佳答案

也许我没有理解你的意思,但对我来说这似乎微不足道,而且我已经在我的应用程序中成功做到了这一点。要走的路是:

  1. 启用纹理和您需要的一切
  2. 启用混合:glEnable(GL_BLEND)
  3. 选择混合模式glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA)
  4. 设置要混合的颜色:glColor4f(r * a, g * a , b * a, a)
  5. 绘制几何图形

混合函数适用于 porter-duff over使用预乘的颜色/纹理。 GL_TEXTURE_ENV_MODE 必须设置为 GL_MODULATE,但这是默认值。

关于iphone - 如何在 OpenGL ES 1.1 (iPhone) 中以编程方式对纹理对象进行 Alpha 淡入淡出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1572175/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com