Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在opengl中动态更改纹理的不透明度?_Android_Opengl Es - Fatal编程技术网

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

Android 在opengl中动态更改纹理的不透明度?,android,opengl-es,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);

我是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
            }

我甚至不知道我的问题是否正确。希望您能理解:)

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

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);

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

顺便说一句,“cange”是标题;-)所有层都包含从单个纹理渲染的精灵。我的方法中不支持alpha。我所做的只是复制纹理。