]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/client/renderers/RenderHelper.java
54c648af74b3651df7632276c3c151d30f228f30
[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.Minecraft;
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, Minecraft.IS_RUNNING_ON_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         disableDepthTest();
35         GlStateManager.pushMatrix();
36         polygonModeFill();
37         GlStateManager.translated(offsetPoint.getX(), offsetPoint.getY() + 0.002D, offsetPoint.getZ());
38         GlStateManager.normal3f(0.0F, 1.0F, 0.0F);
39         GlStateManager.rotatef(0.0F, 0.0F, 1.0F, 0.0F);
40         GlStateManager.rotatef(90.0F, 1.0F, 0.0F, 0.0F);
41         GlStateManager.scalef(-0.0175F, -0.0175F, 0.0175F);
42         enableTexture();
43         enableBlend();
44         GlStateManager.blendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO);
45
46         depthMaskTrue();
47     }
48
49     public static void afterRenderFont() {
50         disableTexture();
51         disableBlend();
52         GlStateManager.popMatrix();
53         enableDepthTest();
54     }
55
56     public static void disableLighting() {
57         GlStateManager.disableLighting();
58     }
59
60     public static void disableDepthTest() {
61         GlStateManager.disableDepthTest();
62     }
63
64     public static void enableDepthTest() {
65         GlStateManager.enableDepthTest();
66     }
67
68     public static void disableFog() {
69         GlStateManager.disableFog();
70     }
71
72     public static void disableBlend() {
73         GlStateManager.disableBlend();
74     }
75
76     public static void enableBlend() {
77         GlStateManager.enableBlend();
78     }
79
80     public static void disableAlphaTest() {
81         GlStateManager.disableAlphaTest();
82     }
83
84     public static void enableAlphaTest() {
85         GlStateManager.enableAlphaTest();
86     }
87
88     public static void disableTexture() {
89         GlStateManager.disableTexture();
90     }
91
92     public static void enableTexture() {
93         GlStateManager.enableTexture();
94     }
95
96     public static void shadeModelSmooth() {
97         GlStateManager.shadeModel(GL11.GL_SMOOTH);
98     }
99
100     public static void shadeModelFlat() {
101         GlStateManager.shadeModel(GL11.GL_FLAT);
102     }
103
104     public static void enablePointSmooth() {
105         GL11.glEnable(GL11.GL_POINT_SMOOTH);
106     }
107
108     public static void lineWidth2() {
109         GlStateManager.lineWidth(2f);
110     }
111
112     public static void polygonModeLine() {
113         GlStateManager.polygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_LINE);
114     }
115
116     public static void polygonModeFill() {
117         GlStateManager.polygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_FILL);
118     }
119
120     public static void polygonOffsetMinusOne() {
121         GlStateManager.polygonOffset(-1.f, -1.f);
122     }
123
124     public static void enablePolygonOffsetLine() {
125         GlStateManager.enableLineOffset();
126     }
127
128     public static void depthMaskTrue() {
129         GlStateManager.depthMask(true);
130     }
131
132     public static void pointSize5() {
133         GL11.glPointSize(5);
134     }
135
136     public static void blendFuncGui() {
137         GlStateManager.blendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ZERO, GL11.GL_ONE);
138     }
139 }