0

我有一层用 1 个纹理进行动画处理

我有一个带有静态(非动画)透明图像的图层

如何将透明图像叠加在移动背景之上,以便两者都显示?

这必须发生在 opengl 中,因为我正在使用 LiveWallPaperService

4

1 回答 1

0

在禁用深度测试并使用您选择的混合模式的情况下绘制两个带纹理的四边形。

相关OpenGL程序:

  • glDisable(GL_DEPTH_TEST);
  • glDepthMask(GL_FALSE);
  • glEnable(GL_BLEND_MODE);
  • glBlendFunc(..., ...),有关值,请参阅文档。您可能希望 (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) 用于常规图片或 (GL_ONE, GL_ONE_MINUS_SRC_ALPHA) 用于预乘 alpha。我建议稍后再做。
于 2012-09-24T07:38:05.343 回答