在opengl中动态改变纹理的不透明度?

时间:2013-02-13 13:34:10

标签: android opengl-es

我是opengl的新手,不知道如何处理不透明度。我有两个重叠的图层,我将两个图层都绘制到屏幕上。我想淡出前景中的那个转换为背景图像。有没有办法做到这一点?这是我的绘制方法。

public void draw(GL10 gl10) {
    gl10.glDisable(GL10.GL_BLEND);
    gl10.glEnable(GL10.GL_BLEND);
    gl10.glBlendFunc(GL10.GL_TRUE, GL10.GL_ONE_MINUS_SRC_ALPHA);
    gl10.glClearColor(0F, 0F, 0F, 0);
    gl10.glBindTexture(GL10.GL_TEXTURE_2D, this.mTextureId);
    this.layer1.draw(gl10); // i want to transition from this layer
            this.layer2.draw(gl10); // to this layer by changing opacity
            }

我甚至不知道我正确地提出了我的问题。希望你明白:)

1 个答案:

答案 0 :(得分:0)

这取决于您用于此转换的方法。我有一个类似于动画视图的情况。关于你的不透明度问题,你不能使用

View v;
int i = 0; /*Values from 0 to 1, float cast might be needed for intermediate values*/
v.setAlpha(i);
this.layer2.setAlpha(i);

或类似的东西,这不适用于您的情况吗?