/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.mojang.blaze3d.pipeline.RenderPipeline
 *  net.minecraft.class_1297
 */
package meteordevelopment.meteorclient.utils.render.postprocess;

import com.mojang.blaze3d.pipeline.RenderPipeline;
import meteordevelopment.meteorclient.MeteorClient;
import meteordevelopment.meteorclient.mixininterface.IWorldRenderer;
import meteordevelopment.meteorclient.utils.render.CustomOutlineVertexConsumerProvider;
import meteordevelopment.meteorclient.utils.render.postprocess.PostProcessShader;
import net.minecraft.class_1297;

public abstract class EntityShader
extends PostProcessShader {
    public final CustomOutlineVertexConsumerProvider vertexConsumerProvider = new CustomOutlineVertexConsumerProvider();

    protected EntityShader(RenderPipeline pipeline) {
        super(pipeline);
    }

    public abstract boolean shouldDraw(class_1297 var1);

    @Override
    protected void preDraw() {
        ((IWorldRenderer)MeteorClient.mc.field_1769).meteor$pushEntityOutlineFramebuffer(this.framebuffer);
    }

    @Override
    protected void postDraw() {
        ((IWorldRenderer)MeteorClient.mc.field_1769).meteor$popEntityOutlineFramebuffer();
    }

    public void submitVertices() {
        this.submitVertices(this.vertexConsumerProvider::draw);
    }
}

