]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/client/renderers/RenderHelper.java
c57de9a6ffe32d37e423bc875425c33502872626
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / client / renderers / RenderHelper.java
1 package com.irtimaled.bbor.client.renderers;
2
3 import com.irtimaled.bbor.client.config.ConfigManager;
4 import com.mojang.blaze3d.platform.GlStateManager;
5 import net.minecraft.client.MinecraftClient;
6 import org.lwjgl.opengl.GL11;
7
8 public class RenderHelper {
9     public static final int QUADS = GL11.GL_QUADS;
10     public static final int LINES = GL11.GL_LINES;
11     public static final int LINE_LOOP = GL11.GL_LINE_LOOP;
12     public static final int POINTS = GL11.GL_POINTS;
13
14     public static void beforeRender() {
15         enableBlend();
16         GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
17         lineWidth2();
18         disableTexture();
19         GlStateManager.disableCull();
20         enableDepthTest();
21
22         if (ConfigManager.alwaysVisible.get()) {
23             GlStateManager.clear(GL11.GL_DEPTH_BUFFER_BIT, MinecraftClient.IS_SYSTEM_MAC);
24         }
25     }
26
27     public static void afterRender() {
28         polygonModeFill();
29         GlStateManager.enableCull();
30         enableTexture();
31     }
32
33     public static void beforeRenderFont(OffsetPoint offsetPoint) {
34         GlStateManager.pushMatrix();
35         polygonModeFill();
36         GlStateManager.translated(offsetPoint.getX(), offsetPoint.getY() + 0.002D, offsetPoint.getZ());
37         GlStateManager.normal3f(0.0F, 1.0F, 0.0F);
38         GlStateManager.rotatef(0.0F, 0.0F, 1.0F, 0.0F);
39         GlStateManager.rotatef(90.0F, 1.0F, 0.0F, 0.0F);
40         GlStateManager.scalef(-0.0175F, -0.0175F, 0.0175F);
41         enableTexture();
42         enableBlend();
43         GlStateManager.blendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO);
44
45         depthMaskTrue();
46     }
47
48     public static void afterRenderFont() {
49         disableTexture();
50         disableBlend();
51         GlStateManager.popMatrix();
52         enableDepthTest();
53     }
54
55     public static void disableLighting() {
56         GlStateManager.disableLighting();
57     }
58
59     public static void disableDepthTest() {
60         GlStateManager.disableDepthTest();
61     }
62
63     public static void enableDepthTest() {
64         GlStateManager.enableDepthTest();
65     }
66
67     public static void disableFog() {
68         GlStateManager.disableFog();
69     }
70
71     public static void disableBlend() {
72         GlStateManager.disableBlend();
73     }
74
75     public static void enableBlend() {
76         GlStateManager.enableBlend();
77     }
78
79     public static void disableAlphaTest() {
80         GlStateManager.disableAlphaTest();
81     }
82
83     public static void enableAlphaTest() {
84         GlStateManager.enableAlphaTest();
85     }
86
87     public static void disableTexture() {
88         GlStateManager.disableTexture();
89     }
90
91     public static void enableTexture() {
92         GlStateManager.enableTexture();
93     }
94
95     public static void shadeModelSmooth() {
96         GlStateManager.shadeModel(GL11.GL_SMOOTH);
97     }
98
99     public static void shadeModelFlat() {
100         GlStateManager.shadeModel(GL11.GL_FLAT);
101     }
102
103     public static void enablePointSmooth() {
104         GL11.glEnable(GL11.GL_POINT_SMOOTH);
105     }
106
107     public static void lineWidth2() {
108         GlStateManager.lineWidth(2f);
109     }
110
111     public static void polygonModeLine() {
112         GlStateManager.polygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_LINE);
113     }
114
115     public static void polygonModeFill() {
116         GlStateManager.polygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_FILL);
117     }
118
119     public static void polygonOffsetMinusOne() {
120         GlStateManager.polygonOffset(-1.f, -1.f);
121     }
122
123     public static void enablePolygonOffsetLine() {
124         GlStateManager.enableLineOffset();
125     }
126
127     public static void depthMaskTrue() {
128         GlStateManager.depthMask(true);
129     }
130
131     public static void pointSize5() {
132         GL11.glPointSize(5);
133     }
134
135     public static void blendFuncGui() {
136         GlStateManager.blendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ZERO, GL11.GL_ONE);
137     }
138 }