Original Post
I have problem with using 2 texture unit and a light. Light doesnt affect them anymore. Changing GL_COMBINE by something else will work fine but the texture wont blend together. All triangles now act like they were facing the light. gl.glClientActiveTexture( GL.GL_TEXTURE0 ); gl.glActiveTexture( GL.GL_TEXTURE0 ); gl.glEnable(GL.GL_TEXTURE_2D); gl.glBindTexture(GL.GL_TEXTURE_2D, 1 ); gl.glTexEnvi(GL.GL_TEXTURE_ENV,GL.GL_TEXTURE_ENV_MODE,GL.GL_COMBINE); gl.glTexEnvi(GL.GL_TEXTURE_ENV,GL.GL_COMBINE_RGB,GL.GL_INTERPOLATE); gl.glTexEnvi(GL.GL_TEXTURE_ENV,GL.GL_SOURCE0_RGB,GL.GL_TEXTURE0); gl.glTexEnvi(GL.GL_TEXTURE_ENV,GL.GL_OPERAND0_RGB,GL.GL_SRC_COLOR); gl.glTexEnvi(GL.GL_TEXTURE_ENV,GL.GL_SOURCE1_RGB,GL.GL_TEXTURE); gl.glTexEnvi(GL.GL_TEXTURE_ENV,GL.GL_OPERAND1_RGB,GL.GL_SRC_COLOR); gl.glTexEnvi(GL.GL_TEXTURE_ENV,GL.GL_SOURCE2_RGB,GL.GL_TEXTURE); gl.glTexEnvi(GL.GL_TEXTURE_ENV,GL.GL_OPERAND2_RGB,GL.GL_SRC_ALPHA); gl.glTexCoordPointer( 2, GL.GL_FLOAT, 0, textureArray ); gl.glEnableClientState( GL.GL_TEXTURE_COORD_ARRAY ); //Switch on the Texture Unit 1, switch on texture mapping on this TU gl.glClientActiveTexture( GL.GL_TEXTURE1 ); gl.glActiveTexture( GL.GL_TEXTURE1 );//alpha - interpolate between PREVIOUS and base, depending on alpha gl.glEnable(GL.GL_TEXTURE_2D); gl.glBindTexture(GL.GL_TEXTURE_2D, 1 ); gl.glTexEnvi(GL.GL_TEXTURE_ENV,GL.GL_TEXTURE_ENV_MODE,GL.GL_COMBINE); gl.glTexEnvi(GL.GL_TEXTURE_ENV,GL.GL_COMBINE_RGB,GL.GL_INTERPOLATE); gl.glTexEnvi(GL.GL_TEXTURE_ENV,GL.GL_SOURCE0_RGB,GL.GL_PREVIOUS); gl.glTexEnvi(GL.GL_TEXTURE_ENV,GL.GL_OPERAND0_RGB,GL.GL_SRC_COLOR); gl.glTexEnvi(GL.GL_TEXTURE_ENV,GL.GL_SOURCE1_RGB,GL.GL_TEXTURE); gl.glTexEnvi(GL.GL_TEXTURE_ENV,GL.GL_OPERAND1_RGB,GL.GL_SRC_COLOR); gl.glTexEnvi(GL.GL_TEXTURE_ENV,GL.GL_SOURCE2_RGB,GL.GL_TEXTURE); gl.glTexEnvi(GL.GL_TEXTURE_ENV,GL.GL_OPERAND2_RGB,GL.GL_SRC_ALPHA);