Android 使用多重纹理和GL_线时,OpenGL会发生冲突

Android 使用多重纹理和GL_线时,OpenGL会发生冲突,android,opengl-es,Android,Opengl Es,我有一个场景,其中我想使用多重纹理绘制一些对象。我还想只使用gl.gldrawArray(GL10.gl_线)绘制一些对象 但是,每当我在屏幕上添加应用了两种纹理的对象时,所有使用GL_线或纯色的对象都会褪色 我尝试将所有对象使用相同的绘制方法放在一起(希望在简化过程中不会造成更多混乱) 我在Model.java中处理多重纹理,这里有相关部分: // Texture 1 gl.glClientActiveTexture(GL10.GL_TEXTURE0); gl.glActiveTexture(

我有一个场景,其中我想使用多重纹理绘制一些对象。我还想只使用gl.gldrawArray(GL10.gl_线)绘制一些对象

但是,每当我在屏幕上添加应用了两种纹理的对象时,所有使用GL_线或纯色的对象都会褪色

我尝试将所有对象使用相同的绘制方法放在一起(希望在简化过程中不会造成更多混乱)

我在Model.java中处理多重纹理,这里有相关部分:

// Texture 1
gl.glClientActiveTexture(GL10.GL_TEXTURE0);
gl.glActiveTexture(GL10.GL_TEXTURE0);
gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
gl.glBindTexture(GL10.GL_TEXTURE_2D, mTexture[0]);
gl.glTexEnvf(GL10.GL_TEXTURE_ENV, GL10.GL_TEXTURE_ENV_MODE, GL10.GL_MODULATE);
gl.glTexCoordPointer(2, GL10.GL_FLOAT, 0, mTexCoordBuffer1);
gl.glEnable(GL10.GL_TEXTURE_2D);

// Texture 2
gl.glClientActiveTexture(GL10.GL_TEXTURE1);
gl.glActiveTexture(GL10.GL_TEXTURE1);
gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
gl.glBindTexture(GL10.GL_TEXTURE_2D, mTexture[1]);
gl.glTexEnvf(GL10.GL_TEXTURE_ENV, GL10.GL_TEXTURE_ENV_MODE, GL10.GL_DECAL);
gl.glTexCoordPointer(2, GL10.GL_FLOAT, 0, mTexCoordBuffer2);
gl.glEnable(GL10.GL_TEXTURE_2D);
任何帮助都将不胜感激

注意:如果没有多重纹理对象,三角形1和4上的轮廓是实心的。这是我希望轮廓显示的方式。

注意:对于多纹理对象(三角形3),三角形1和4上的轮廓将褪色。

找到了一个解决方案,我认为这是不相关的

我不明白为什么,但我需要打电话:

gl.glActiveTexture(GL10.GL_TEXTURE0);
在纹理2块之后