如何在OpenGL ES 1.1(iPhone)中以编程方式淡化纹理对象

Pew*_*oft 6 opengl iphone textures alpha fade

我已经在iPhone上使用OpenGL ES 1.1已经10个月了,在那个时候有一个看似简单的任务我无法做到:以编程方式淡化纹理对象.为了简单起见:我可以在代码控 我想在场景中淡入淡出,而不是简单的彩色背景.到目前为止,我必须做的唯一技术是创建一个纹理,其上有纹理的多个预褪色副本.(呸)

例如,我无法使用Apple的GLSprite示例代码作为起点.它已经使用具有自己的alpha纹理纹理四边形.我想淡入淡出那个物体.

Nik*_*uhe 15

也许我没有让你正确,但对我来说这似乎微不足道,我一直在成功地做我的应用程序.要走的路是:

  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.在GL_TEXTURE_ENV_MODE必须设置为GL_MODULATE,但这是默认的.