1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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));
}
|