aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/utils/render/SkyblockerRenderLayers.java
diff options
context:
space:
mode:
authorAaron <51387595+AzureAaron@users.noreply.github.com>2023-11-13 21:33:01 -0500
committerGitHub <noreply@github.com>2023-11-13 21:33:01 -0500
commit41cc6598899c0ec3b906c75f6be6805be315e100 (patch)
tree09272777eeccc55c9f28e3c64b4d0aea61b92bf3 /src/main/java/de/hysky/skyblocker/utils/render/SkyblockerRenderLayers.java
parent7fd8afe2f92f2407fca51328cf8f4a2c75c716f9 (diff)
parent736db8f1b0076ebe639bf0c1590e86d05191f01f (diff)
downloadSkyblocker-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.java36
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));
+}