diff options
| author | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2023-11-13 21:33:01 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-13 21:33:01 -0500 |
| commit | 41cc6598899c0ec3b906c75f6be6805be315e100 (patch) | |
| tree | 09272777eeccc55c9f28e3c64b4d0aea61b92bf3 /src/main/java/de/hysky/skyblocker/utils/render/SkyblockerRenderLayers.java | |
| parent | 7fd8afe2f92f2407fca51328cf8f4a2c75c716f9 (diff) | |
| parent | 736db8f1b0076ebe639bf0c1590e86d05191f01f (diff) | |
| download | Skyblocker-41cc6598899c0ec3b906c75f6be6805be315e100.tar.gz Skyblocker-41cc6598899c0ec3b906c75f6be6805be315e100.tar.bz2 Skyblocker-41cc6598899c0ec3b906c75f6be6805be315e100.zip | |
Merge pull request #415 from AzureAaron/batched-rendering
Batched Rendering + Future Sodium Compat
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/utils/render/SkyblockerRenderLayers.java')
| -rw-r--r-- | src/main/java/de/hysky/skyblocker/utils/render/SkyblockerRenderLayers.java | 36 |
1 files changed, 36 insertions, 0 deletions
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)); +} |
