BlockModelRenderer.java 文件源码

java
阅读 25 收藏 0 点赞 0 评论 0

项目:Backmemed 作者:
private void renderQuadsFlat(IBlockAccess p_renderQuadsFlat_1_, IBlockState p_renderQuadsFlat_2_, BlockPos p_renderQuadsFlat_3_, int p_renderQuadsFlat_4_, boolean p_renderQuadsFlat_5_, VertexBuffer p_renderQuadsFlat_6_, List<BakedQuad> p_renderQuadsFlat_7_, RenderEnv p_renderQuadsFlat_8_)
{
    BitSet bitset = p_renderQuadsFlat_8_.getBoundsFlags();
    Vec3d vec3d = p_renderQuadsFlat_2_.func_191059_e(p_renderQuadsFlat_1_, p_renderQuadsFlat_3_);
    double d0 = (double)p_renderQuadsFlat_3_.getX() + vec3d.xCoord;
    double d1 = (double)p_renderQuadsFlat_3_.getY() + vec3d.yCoord;
    double d2 = (double)p_renderQuadsFlat_3_.getZ() + vec3d.zCoord;
    int i = 0;

    for (int j = p_renderQuadsFlat_7_.size(); i < j; ++i)
    {
        BakedQuad bakedquad = (BakedQuad)p_renderQuadsFlat_7_.get(i);

        if (p_renderQuadsFlat_5_)
        {
            this.fillQuadBounds(p_renderQuadsFlat_2_, bakedquad.getVertexData(), bakedquad.getFace(), (float[])null, bitset);
            BlockPos blockpos = bitset.get(0) ? p_renderQuadsFlat_3_.offset(bakedquad.getFace()) : p_renderQuadsFlat_3_;
            p_renderQuadsFlat_4_ = p_renderQuadsFlat_2_.getPackedLightmapCoords(p_renderQuadsFlat_1_, blockpos);
        }

        if (p_renderQuadsFlat_6_.isMultiTexture())
        {
            p_renderQuadsFlat_6_.addVertexData(bakedquad.getVertexDataSingle());
            p_renderQuadsFlat_6_.putSprite(bakedquad.getSprite());
        }
        else
        {
            p_renderQuadsFlat_6_.addVertexData(bakedquad.getVertexData());
        }

        p_renderQuadsFlat_6_.putBrightness4(p_renderQuadsFlat_4_, p_renderQuadsFlat_4_, p_renderQuadsFlat_4_, p_renderQuadsFlat_4_);
        int l = CustomColors.getColorMultiplier(bakedquad, p_renderQuadsFlat_2_, p_renderQuadsFlat_1_, p_renderQuadsFlat_3_, p_renderQuadsFlat_8_);

        if (!bakedquad.hasTintIndex() && l == -1)
        {
            if (bakedquad.shouldApplyDiffuseLighting())
            {
                float f4 = FaceBakery.getFaceBrightness(bakedquad.getFace());
                p_renderQuadsFlat_6_.putColorMultiplier(f4, f4, f4, 4);
                p_renderQuadsFlat_6_.putColorMultiplier(f4, f4, f4, 3);
                p_renderQuadsFlat_6_.putColorMultiplier(f4, f4, f4, 2);
                p_renderQuadsFlat_6_.putColorMultiplier(f4, f4, f4, 1);
            }
        }
        else
        {
            int k = l;

            if (l == -1)
            {
                k = this.blockColors.colorMultiplier(p_renderQuadsFlat_2_, p_renderQuadsFlat_1_, p_renderQuadsFlat_3_, bakedquad.getTintIndex());
            }

            if (EntityRenderer.anaglyphEnable)
            {
                k = TextureUtil.anaglyphColor(k);
            }

            float f = (float)(k >> 16 & 255) / 255.0F;
            float f1 = (float)(k >> 8 & 255) / 255.0F;
            float f2 = (float)(k & 255) / 255.0F;

            if (bakedquad.shouldApplyDiffuseLighting())
            {
                float f3 = FaceBakery.getFaceBrightness(bakedquad.getFace());
                f *= f3;
                f1 *= f3;
                f2 *= f3;
            }

            p_renderQuadsFlat_6_.putColorMultiplier(f, f1, f2, 4);
            p_renderQuadsFlat_6_.putColorMultiplier(f, f1, f2, 3);
            p_renderQuadsFlat_6_.putColorMultiplier(f, f1, f2, 2);
            p_renderQuadsFlat_6_.putColorMultiplier(f, f1, f2, 1);
        }

        p_renderQuadsFlat_6_.putPosition(d0, d1, d2);
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号