From 4828dd781882324bd455c199bbf6ad625886a96b Mon Sep 17 00:00:00 2001 From: Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> Date: Mon, 13 Nov 2023 20:11:18 -0500 Subject: Refactor RenderHelper --- .../utils/render/SkyblockerRenderLayers.java | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/main/java/de/hysky/skyblocker/utils/render/SkyblockerRenderLayers.java (limited to 'src/main/java/de/hysky/skyblocker/utils/render/SkyblockerRenderLayers.java') diff --git a/src/main/java/de/hysky/skyblocker/utils/render/SkyblockerRenderLayers.java b/src/main/java/de/hysky/skyblocker/utils/render/SkyblockerRenderLayers.java new file mode 100644 index 00000000..ee113cc4 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/utils/render/SkyblockerRenderLayers.java @@ -0,0 +1,36 @@ +package de.hysky.skyblocker.utils.render; + +import com.mojang.blaze3d.systems.RenderSystem; + +import net.minecraft.client.render.RenderLayer; +import net.minecraft.client.render.RenderLayer.MultiPhase; +import net.minecraft.client.render.RenderLayer.MultiPhaseParameters; +import net.minecraft.client.render.RenderPhase; +import net.minecraft.client.render.RenderPhase.Cull; +import net.minecraft.client.render.RenderPhase.DepthTest; +import net.minecraft.client.render.RenderPhase.Transparency; +import net.minecraft.client.render.VertexFormat.DrawMode; +import net.minecraft.client.render.VertexFormats; + +public class SkyblockerRenderLayers { + private static final Transparency DEFAULT_TRANSPARENCY = new Transparency("default_transparency", () -> { + RenderSystem.enableBlend(); + RenderSystem.defaultBlendFunc(); + }, RenderSystem::disableBlend); + + public static final MultiPhase FILLED = RenderLayer.of("filled", VertexFormats.POSITION_COLOR, DrawMode.TRIANGLE_STRIP, RenderLayer.CUTOUT_BUFFER_SIZE, false, true, MultiPhaseParameters.builder() + .program(RenderPhase.COLOR_PROGRAM) + .cull(Cull.DISABLE_CULLING) + .layering(RenderPhase.POLYGON_OFFSET_LAYERING) + .transparency(DEFAULT_TRANSPARENCY) + .depthTest(DepthTest.LEQUAL_DEPTH_TEST) + .build(false)); + + public static final MultiPhase FILLED_THROUGH_WALLS = RenderLayer.of("filled_through_walls", VertexFormats.POSITION_COLOR, DrawMode.TRIANGLE_STRIP, RenderLayer.CUTOUT_BUFFER_SIZE, false, true, MultiPhaseParameters.builder() + .program(RenderPhase.COLOR_PROGRAM) + .cull(Cull.DISABLE_CULLING) + .layering(RenderPhase.POLYGON_OFFSET_LAYERING) + .transparency(DEFAULT_TRANSPARENCY) + .depthTest(DepthTest.ALWAYS_DEPTH_TEST) + .build(false)); +} -- cgit