RendererBackpack.java 文件源码

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

项目:WearableBackpacks 作者:
private static void renderEnchanted(IBackpack backpack, BlockModelRenderer renderer,
                                    float ticks, boolean renderStraps) {

    Minecraft mc = Minecraft.getMinecraft();
    float glintStrength = WearableBackpacks.CONFIG.cosmetic.enchantEffectOpacity.get().floatValue();
    if (glintStrength <= 0) return;
    float glintScale   = 1.5F;
    float animProgress = ticks / 10;

    int color = IntermodUtils.getRuneColor(backpack.getStack());
    float r = (color >> 16 & 0xFF) / 255.0F * glintStrength;
    float g = (color >>  8 & 0xFF) / 255.0F * glintStrength;
    float b = (color       & 0xFF) / 255.0F * glintStrength;

    mc.getTextureManager().bindTexture(ENCHANTED_ITEM_GLINT);
    mc.entityRenderer.setupFogColor(true);

    GlStateManager.disableLighting();
    GlStateManager.depthMask(false);
    GlStateManager.depthFunc(GL11.GL_EQUAL);
    GlStateManager.enableBlend();
    GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_COLOR, GlStateManager.DestFactor.ONE);

    for (int i = 0; i < 2; ++i) {
        GlStateManager.matrixMode(GL11.GL_TEXTURE);
        GlStateManager.loadIdentity();
        GlStateManager.scale(glintScale, glintScale, glintScale);
        GlStateManager.rotate(30.0F - i * 60.0F, 0.0F, 0.0F, 1.0F);
        GlStateManager.translate(0.0F, animProgress * (0.001F + i * 0.003F) * 20.0F, 0.0F);
        GlStateManager.matrixMode(GL11.GL_MODELVIEW);
        renderModel(backpack, renderer, ticks, renderStraps, r, g, b, true);
    }

    GlStateManager.matrixMode(GL11.GL_TEXTURE);
    GlStateManager.loadIdentity();
    GlStateManager.matrixMode(GL11.GL_MODELVIEW);

    GlStateManager.blendFunc(GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO);
    GlStateManager.disableBlend();
    GlStateManager.depthFunc(GL11.GL_LEQUAL);
    GlStateManager.depthMask(true);
    GlStateManager.enableLighting();

    mc.entityRenderer.setupFogColor(false);

}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号