我有一个场景,我想在其中使用多纹理绘制一些对象。我还想只使用 gl.glDrawArrays(GL10.GL_LINES...
但是,每当我在屏幕上添加应用了两种纹理的对象时,所有使用 GL_LINES 或纯色的对象都会褪色。
我尝试制作一个简单的演示,其中所有对象都使用相同的绘制方法(希望我在尝试简化时没有造成更多混乱)。
我在 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 上的轮廓会变淡。