java类net.minecraft.client.renderer.EntityRenderer的实例源码

ClientProxy.java 文件源码 项目:Corruption 阅读 22 收藏 0 点赞 0 评论 0
@Override
public void enableGrayscaleShader() {
    if (OpenGlHelper.shadersSupported) {
        Minecraft mc = Minecraft.getMinecraft();
        EntityRenderer entityRenderer = mc.entityRenderer;
        if (entityRenderer.theShaderGroup != null) {
            entityRenderer.theShaderGroup.deleteShaderGroup();
        }

        try {
            entityRenderer.theShaderGroup = new ShaderGroup(mc.getTextureManager(), mc.getResourceManager(), mc.getFramebuffer(), this.shader);
            entityRenderer.theShaderGroup.createBindFramebuffers(mc.displayWidth, mc.displayHeight);
        } catch (IOException ioexception) {
            Corruption.logger.warn("Failed to load shader: ", ioexception);
        }
    }
}
ColourBlindCorruption.java 文件源码 项目:Corruption 阅读 18 收藏 0 点赞 0 评论 0
@Override
public void onUpdate(EntityPlayer player, Side side) {
    if (side.isServer()) {
        this.playerCount.add(player.getCommandSenderName());
    }
    else if(side.isClient() && FMLClientHandler.instance().getClientPlayerEntity().getCommandSenderName().equals(player)) {
        curTick++;
        if(curTick == 10){
            curTick = 0;
            if (OpenGlHelper.shadersSupported) {
                EntityRenderer entityRenderer = Minecraft.getMinecraft().entityRenderer;
                if(entityRenderer.theShaderGroup.getShaderGroupName() != new ResourceLocation("corruption", "grayscale.json").toString()){
                    Corruption.proxy.enableGrayscaleShader();
                }
            }
        }
    }
}
WorldLightingHandler.java 文件源码 项目:TechnicBlocks 阅读 15 收藏 0 点赞 0 评论 0
@Override
public void preDrawFace(IRenderContext renderContext, ForgeDirection dir, boolean internal, float startX, float startY, float endX, float endY, RenderBlocks blocks, Tessellator tessellator, int rotations) {
    int multiplierValue = renderContext.getColorMultiplier();

    float colorR = (float)(multiplierValue >> 16 & 255) / 255.0F;
    float colorG = (float)(multiplierValue >> 8 & 255) / 255.0F;
    float colorB = (float)(multiplierValue & 255) / 255.0F;

    if (EntityRenderer.anaglyphEnable)
    {
        float tempR = (colorR * 30.0F + colorG * 59.0F + colorB * 11.0F) / 100.0F;
        float tempG = (colorR * 30.0F + colorG * 70.0F) / 100.0F;
        float tempB = (colorR * 30.0F + colorB * 70.0F) / 100.0F;
        colorR = tempR;
        colorG = tempG;
        colorB = tempB;
    }

    if (Minecraft.isAmbientOcclusionEnabled() && renderContext.getLightValue() == 0)
        this.ambientOcclusionPreDraw(renderContext, dir, internal, blocks, tessellator, startX, startY, endX, endY, colorR, colorG, colorB, rotations);
    else
        this.colorMultiplierPreDraw(renderContext, dir, internal, blocks, tessellator, colorR, colorG, colorB);
}
RenderHelper.java 文件源码 项目:GardenCollection 阅读 30 收藏 0 点赞 0 评论 0
public static void calculateBaseColor (float[] target, int color) {
    float r = (float)(color >> 16 & 255) / 255f;
    float g = (float)(color >> 8 & 255) / 255f;
    float b = (float)(color & 255) / 255f;

    if (EntityRenderer.anaglyphEnable) {
        float gray = (r * 30f + g * 59f + b * 11f) / 100f;
        float rg = (r * 30f + g * 70f) / 100f;
        float rb = (r * 30f + b * 70f) / 100f;

        r = gray;
        g = rg;
        b = rb;
    }

    target[0] = r;
    target[1] = g;
    target[2] = b;
}
HeavyChainRenderer.java 文件源码 项目:GardenCollection 阅读 14 收藏 0 点赞 0 评论 0
private void renderCrossedSquares (RenderBlocks renderer, Block block, int x, int y, int z)
{
    Tessellator tessellator = Tessellator.instance;
    tessellator.setBrightness(block.getMixedBrightnessForBlock(renderer.blockAccess, x, y, z));
    int l = block.colorMultiplier(renderer.blockAccess, x, y, z);
    float f = (float)(l >> 16 & 255) / 255.0F;
    float f1 = (float)(l >> 8 & 255) / 255.0F;
    float f2 = (float)(l & 255) / 255.0F;

    if (EntityRenderer.anaglyphEnable)
    {
        float f3 = (f * 30.0F + f1 * 59.0F + f2 * 11.0F) / 100.0F;
        float f4 = (f * 30.0F + f1 * 70.0F) / 100.0F;
        float f5 = (f * 30.0F + f2 * 70.0F) / 100.0F;
        f = f3;
        f1 = f4;
        f2 = f5;
    }

    tessellator.setColorOpaque_F(f, f1, f2);

    IIcon iicon = renderer.getBlockIconFromSideAndMetadata(block, 0, renderer.blockAccess.getBlockMetadata(x, y, z));
    drawCrossedSquares(renderer, iicon, x, y, z, 1.0F);
}
RenderBlocks.java 文件源码 项目:RuneCraftery 阅读 23 收藏 0 点赞 0 评论 0
public boolean func_85096_a(BlockAnvil p_85096_1_, int p_85096_2_, int p_85096_3_, int p_85096_4_, int p_85096_5_) {
   Tessellator var6 = Tessellator.field_78398_a;
   var6.func_78380_c(p_85096_1_.func_71874_e(this.field_78669_a, p_85096_2_, p_85096_3_, p_85096_4_));
   float var7 = 1.0F;
   int var8 = p_85096_1_.func_71920_b(this.field_78669_a, p_85096_2_, p_85096_3_, p_85096_4_);
   float var9 = (float)(var8 >> 16 & 255) / 255.0F;
   float var10 = (float)(var8 >> 8 & 255) / 255.0F;
   float var11 = (float)(var8 & 255) / 255.0F;
   if(EntityRenderer.field_78517_a) {
      float var12 = (var9 * 30.0F + var10 * 59.0F + var11 * 11.0F) / 100.0F;
      float var13 = (var9 * 30.0F + var10 * 70.0F) / 100.0F;
      float var14 = (var9 * 30.0F + var11 * 70.0F) / 100.0F;
      var9 = var12;
      var10 = var13;
      var11 = var14;
   }

   var6.func_78386_a(var7 * var9, var7 * var10, var7 * var11);
   return this.func_82776_a(p_85096_1_, p_85096_2_, p_85096_3_, p_85096_4_, p_85096_5_, false);
}
RenderBlocks.java 文件源码 项目:RuneCraftery 阅读 23 收藏 0 点赞 0 评论 0
public boolean func_78570_q(Block p_78570_1_, int p_78570_2_, int p_78570_3_, int p_78570_4_) {
   int var5 = p_78570_1_.func_71920_b(this.field_78669_a, p_78570_2_, p_78570_3_, p_78570_4_);
   float var6 = (float)(var5 >> 16 & 255) / 255.0F;
   float var7 = (float)(var5 >> 8 & 255) / 255.0F;
   float var8 = (float)(var5 & 255) / 255.0F;
   if(EntityRenderer.field_78517_a) {
      float var9 = (var6 * 30.0F + var7 * 59.0F + var8 * 11.0F) / 100.0F;
      float var10 = (var6 * 30.0F + var7 * 70.0F) / 100.0F;
      float var11 = (var6 * 30.0F + var8 * 70.0F) / 100.0F;
      var6 = var9;
      var7 = var10;
      var8 = var11;
   }

   return Minecraft.func_71379_u() && Block.field_71984_q[p_78570_1_.field_71990_ca] == 0?(this.field_98189_n?this.func_102027_b(p_78570_1_, p_78570_2_, p_78570_3_, p_78570_4_, var6, var7, var8):this.func_78578_a(p_78570_1_, p_78570_2_, p_78570_3_, p_78570_4_, var6, var7, var8)):this.func_78609_c(p_78570_1_, p_78570_2_, p_78570_3_, p_78570_4_, var6, var7, var8);
}
RenderBlocks.java 文件源码 项目:RuneCraftery 阅读 26 收藏 0 点赞 0 评论 0
public boolean func_78584_s(Block p_78584_1_, int p_78584_2_, int p_78584_3_, int p_78584_4_) {
   int var5 = p_78584_1_.func_71920_b(this.field_78669_a, p_78584_2_, p_78584_3_, p_78584_4_);
   float var6 = (float)(var5 >> 16 & 255) / 255.0F;
   float var7 = (float)(var5 >> 8 & 255) / 255.0F;
   float var8 = (float)(var5 & 255) / 255.0F;
   if(EntityRenderer.field_78517_a) {
      float var9 = (var6 * 30.0F + var7 * 59.0F + var8 * 11.0F) / 100.0F;
      float var10 = (var6 * 30.0F + var7 * 70.0F) / 100.0F;
      float var11 = (var6 * 30.0F + var8 * 70.0F) / 100.0F;
      var6 = var9;
      var7 = var10;
      var8 = var11;
   }

   return this.func_78569_d(p_78584_1_, p_78584_2_, p_78584_3_, p_78584_4_, var6, var7, var8);
}
RenderBlocks.java 文件源码 项目:RuneCraftery 阅读 25 收藏 0 点赞 0 评论 0
public boolean func_94172_a(BlockHopper p_94172_1_, int p_94172_2_, int p_94172_3_, int p_94172_4_) {
   Tessellator var5 = Tessellator.field_78398_a;
   var5.func_78380_c(p_94172_1_.func_71874_e(this.field_78669_a, p_94172_2_, p_94172_3_, p_94172_4_));
   float var6 = 1.0F;
   int var7 = p_94172_1_.func_71920_b(this.field_78669_a, p_94172_2_, p_94172_3_, p_94172_4_);
   float var8 = (float)(var7 >> 16 & 255) / 255.0F;
   float var9 = (float)(var7 >> 8 & 255) / 255.0F;
   float var10 = (float)(var7 & 255) / 255.0F;
   if(EntityRenderer.field_78517_a) {
      float var11 = (var8 * 30.0F + var9 * 59.0F + var10 * 11.0F) / 100.0F;
      float var12 = (var8 * 30.0F + var9 * 70.0F) / 100.0F;
      float var13 = (var8 * 30.0F + var10 * 70.0F) / 100.0F;
      var8 = var11;
      var9 = var12;
      var10 = var13;
   }

   var5.func_78386_a(var6 * var8, var6 * var9, var6 * var10);
   return this.func_96447_a(p_94172_1_, p_94172_2_, p_94172_3_, p_94172_4_, this.field_78669_a.func_72805_g(p_94172_2_, p_94172_3_, p_94172_4_), false);
}
SaplingRenderHandler.java 文件源码 项目:ForestryLegacy 阅读 18 收藏 0 点赞 0 评论 0
protected boolean renderCrossedSquares(IAlleleTreeSpecies species, IBlockAccess world, Block block, int x, int y, int z) {

        Tessellator tess = Tessellator.instance;
        tess.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z));
        int colourMultiplier = block.colorMultiplier(world, x, y, z);
        float r = (colourMultiplier >> 16 & 255) / 255.0F;
        float g = (colourMultiplier >> 8 & 255) / 255.0F;
        float b = (colourMultiplier & 255) / 255.0F;

        if (EntityRenderer.anaglyphEnable) {

            r = (r * 30.0F + g * 59.0F + b * 11.0F) / 100.0F;
            g = (r * 30.0F + g * 70.0F) / 100.0F;
            b = (r * 30.0F + b * 70.0F) / 100.0F;
        }

        tess.setColorOpaque_F(r, g, b);
        drawCrossedSquares(world, block, x, y, z, x, y, z);
        return true;
    }


问题


面经


文章

微信
公众号

扫码关注公众号