/** SET COLOR BLEND HERE*/GL11.glTexEnv(GL11.GL_TEXTURE_ENV, GL11.GL_TEXTURE_ENV_COLOR, FloatBuffer.wrap(new float[]{colorBlend[0], colorBlend[1], colorBlend[2], colorBlend[3]}));/** MODE IS COMBINE*/ GL11.glTexEnvi(GL11.GL_TEXTURE_ENV, GL11.GL_TEXTURE_ENV_MODE, GL13.GL_COMBINE);/** :::: part 1 :::: COLOR COMBINES WITH MODULATION BETWEEN TEX AND ENV_COLOR set above */ GL11.glTexEnvi(GL11.GL_TEXTURE_ENV, GL13.GL_COMBINE_RGB, GL11.GL_MODULATE);/** MODULATE COLOR */ GL11.glTexEnvi(GL11.GL_TEXTURE_ENV, GL13.GL_SOURCE0_RGB, GL11.GL_TEXTURE); GL11.glTexEnvi(GL11.GL_TEXTURE_ENV, GL13.GL_SOURCE1_RGB, GL13.GL_CONSTANT); GL11.glTexEnvi(GL11.GL_TEXTURE_ENV, GL13.GL_OPERAND1_RGB, GL11.GL_SRC_COLOR);/** :::: part 2 :::: ALPHA COMBINES WITH MODULATION BETWEEN TEX AND ENV_COLOR set above */ GL11.glTexEnvi(GL11.GL_TEXTURE_ENV, GL13.GL_COMBINE_ALPHA, GL11.GL_MODULATE);/** SOURCE0 must be TEXTURE ALPHA */ GL11.glTexEnvi(GL11.GL_TEXTURE_ENV, GL13.GL_SOURCE0_ALPHA, GL11.GL_TEXTURE);/** THEN SOURCE1 will explicitely use the COLOR-ALPHA VALUE */ GL11.glTexEnvi(GL11.GL_TEXTURE_ENV, GL13.GL_SOURCE1_ALPHA, GL13.GL_CONSTANT);/** THIS IS THE ALPHA-BLENDING THAT WILL USE THE SRC (WHICH IS SOURCE0) as DESTINATION */ GL11.glTexEnvi(GL11.GL_TEXTURE_ENV, GL13.GL_OPERAND1_ALPHA, GL11.GL_SRC_ALPHA);