public void drawSelf(<span style="color:#cc0000;">int textureId0,int textureId1</span>){ MatrixState.pushMatrix(); MatrixState.scale(SPIRIT_SCALE,SPIRIT_SCALE,SPIRIT_SCALE); MatrixState.rotate(90, 1, 0, 0); loadPart[0].drawSelf(textureId1); loadPart[1].drawSelf(textureId0); loadPart[2].drawSelf(textureId1); MatrixState.popMatrix(); }
public void drawSelf(<strong><span style="color:#ff0000;">int texId</span></strong>) { GLES20.glUseProgram(mProgram); GLES20.glUniformMatrix4fv(muMVPMatrixHandle, 1, false, MatrixState.getFinalMatrix(), 0); GLES20.glUniformMatrix4fv(muMMatrixHandle, 1, false, MatrixState.getMMatrix(), 0); GLES20.glUniform3fv(muLightLocationHandle, 1, MatrixState.lightPositionFB); GLES20.glUniform3fv(muCameraHandle, 1, MatrixState.cameraFB); GLES20.glVertexAttribPointer(maPositionHandle, 3, GLES20.GL_FLOAT, false, 3 * 4, mVertexBuffer); GLES20.glVertexAttribPointer(maNormalHandle, 3, GLES20.GL_FLOAT, false, 3*4, mNormalBuffer); GLES20.glEnableVertexAttribArray(maPositionHandle); GLES20.glEnableVertexAttribArray(maNormalHandle); switch(flag){ case 0: GLES20.glVertexAttribPointer(maTexCoorHandle, 2, GLES20.GL_FLOAT, false, 2 * 4, mTexCoorBuffer); GLES20.glEnableVertexAttribArray(maTexCoorHandle); GLES20.glActiveTexture(GLES20.GL_TEXTURE0); GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, texId); break; case 1: GLES20.glActiveTexture(GLES20.GL_TEXTURE_CUBE_MAP); GLES20.glBindTexture(GLES20.GL_TEXTURE_CUBE_MAP, texId); break; }