本文整理汇总了Java中net.minecraft.client.renderer.GlStateManager.glTexEnv方法的典型用法代码示例。如果您正苦于以下问题:Java GlStateManager.glTexEnv方法的具体用法?Java GlStateManager.glTexEnv怎么用?Java GlStateManager.glTexEnv使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类net.minecraft.client.renderer.GlStateManager
的用法示例。
在下文中一共展示了GlStateManager.glTexEnv方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: setBrightness
import net.minecraft.client.renderer.GlStateManager; //导入方法依赖的package包/类
protected boolean setBrightness(T entitylivingbaseIn, float partialTicks, boolean combineTextures)
{
float f = entitylivingbaseIn.getBrightness(partialTicks);
int i = this.getColorMultiplier(entitylivingbaseIn, f, partialTicks);
boolean flag = (i >> 24 & 255) > 0;
boolean flag1 = entitylivingbaseIn.hurtTime > 0 || entitylivingbaseIn.deathTime > 0;
if (!flag && !flag1)
{
return false;
}
else if (!flag && !combineTextures)
{
return false;
}
else
{
GlStateManager.setActiveTexture(OpenGlHelper.defaultTexUnit);
GlStateManager.enableTexture2D();
GlStateManager.glTexEnvi(8960, 8704, OpenGlHelper.GL_COMBINE);
GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_COMBINE_RGB, 8448);
GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE0_RGB, OpenGlHelper.defaultTexUnit);
GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE1_RGB, OpenGlHelper.GL_PRIMARY_COLOR);
GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND0_RGB, 768);
GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND1_RGB, 768);
GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_COMBINE_ALPHA, 7681);
GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE0_ALPHA, OpenGlHelper.defaultTexUnit);
GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND0_ALPHA, 770);
GlStateManager.setActiveTexture(OpenGlHelper.lightmapTexUnit);
GlStateManager.enableTexture2D();
GlStateManager.glTexEnvi(8960, 8704, OpenGlHelper.GL_COMBINE);
GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_COMBINE_RGB, OpenGlHelper.GL_INTERPOLATE);
GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE0_RGB, OpenGlHelper.GL_CONSTANT);
GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE1_RGB, OpenGlHelper.GL_PREVIOUS);
GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE2_RGB, OpenGlHelper.GL_CONSTANT);
GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND0_RGB, 768);
GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND1_RGB, 768);
GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND2_RGB, 770);
GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_COMBINE_ALPHA, 7681);
GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE0_ALPHA, OpenGlHelper.GL_PREVIOUS);
GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND0_ALPHA, 770);
this.brightnessBuffer.position(0);
if (flag1)
{
this.brightnessBuffer.put(1.0F);
this.brightnessBuffer.put(0.0F);
this.brightnessBuffer.put(0.0F);
this.brightnessBuffer.put(0.3F);
}
else
{
float f1 = (float)(i >> 24 & 255) / 255.0F;
float f2 = (float)(i >> 16 & 255) / 255.0F;
float f3 = (float)(i >> 8 & 255) / 255.0F;
float f4 = (float)(i & 255) / 255.0F;
this.brightnessBuffer.put(f2);
this.brightnessBuffer.put(f3);
this.brightnessBuffer.put(f4);
this.brightnessBuffer.put(1.0F - f1);
}
this.brightnessBuffer.flip();
GlStateManager.glTexEnv(8960, 8705, this.brightnessBuffer);
GlStateManager.setActiveTexture(OpenGlHelper.GL_TEXTURE2);
GlStateManager.enableTexture2D();
GlStateManager.bindTexture(TEXTURE_BRIGHTNESS.getGlTextureId());
GlStateManager.glTexEnvi(8960, 8704, OpenGlHelper.GL_COMBINE);
GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_COMBINE_RGB, 8448);
GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE0_RGB, OpenGlHelper.GL_PREVIOUS);
GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE1_RGB, OpenGlHelper.lightmapTexUnit);
GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND0_RGB, 768);
GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND1_RGB, 768);
GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_COMBINE_ALPHA, 7681);
GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE0_ALPHA, OpenGlHelper.GL_PREVIOUS);
GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND0_ALPHA, 770);
GlStateManager.setActiveTexture(OpenGlHelper.defaultTexUnit);
return true;
}
}