diff options
| author | RoseGoldIsntGay <yoavkau@gmail.com> | 2022-01-07 16:41:44 +0200 |
|---|---|---|
| committer | RoseGoldIsntGay <yoavkau@gmail.com> | 2022-01-07 16:41:44 +0200 |
| commit | f06690a35ed7040db0aed7cec1f8a392eeffa3e7 (patch) | |
| tree | 74adb90635b1101d7eedf17cc071b502a9febb46 /src/main/java/rosegoldaddons/utils/OutlineUtils.java | |
| parent | 19de3c3ee0582f25d8e127492d791f81a410b70a (diff) | |
| download | RGA-f06690a35ed7040db0aed7cec1f8a392eeffa3e7.tar.gz RGA-f06690a35ed7040db0aed7cec1f8a392eeffa3e7.tar.bz2 RGA-f06690a35ed7040db0aed7cec1f8a392eeffa3e7.zip | |
2.5.1-pre1
Diffstat (limited to 'src/main/java/rosegoldaddons/utils/OutlineUtils.java')
| -rw-r--r-- | src/main/java/rosegoldaddons/utils/OutlineUtils.java | 152 |
1 files changed, 0 insertions, 152 deletions
diff --git a/src/main/java/rosegoldaddons/utils/OutlineUtils.java b/src/main/java/rosegoldaddons/utils/OutlineUtils.java deleted file mode 100644 index 0b1bde2..0000000 --- a/src/main/java/rosegoldaddons/utils/OutlineUtils.java +++ /dev/null @@ -1,152 +0,0 @@ -package rosegoldaddons.utils; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.shader.Framebuffer; -import net.minecraft.entity.EntityLivingBase; -import org.lwjgl.opengl.EXTFramebufferObject; -import org.lwjgl.opengl.EXTPackedDepthStencil; -import rosegoldaddons.events.RenderLivingEntityEvent; - -import java.awt.*; - -import static org.lwjgl.opengl.GL11.*; - -public class OutlineUtils { - - public static void outlineESP(EntityLivingBase entity, float p_77036_2_, float p_77036_3_, float p_77036_4_, float p_77036_5_, float p_77036_6_, float scaleFactor, ModelBase modelBase, Color color) { - Minecraft mc = Minecraft.getMinecraft(); - boolean fancyGraphics = mc.gameSettings.fancyGraphics; - float gamma = mc.gameSettings.gammaSetting; - mc.gameSettings.fancyGraphics = false; - mc.gameSettings.gammaSetting = 100000F; - - GlStateManager.resetColor(); - setColor(color); - renderOne(2); - modelBase.render(entity, p_77036_2_, p_77036_3_, p_77036_4_, p_77036_5_, p_77036_6_, scaleFactor); - setColor(color); - renderTwo(); - modelBase.render(entity, p_77036_2_, p_77036_3_, p_77036_4_, p_77036_5_, p_77036_6_, scaleFactor); - setColor(color); - renderThree(); - modelBase.render(entity, p_77036_2_, p_77036_3_, p_77036_4_, p_77036_5_, p_77036_6_, scaleFactor); - setColor(color); - renderFour(color); - modelBase.render(entity, p_77036_2_, p_77036_3_, p_77036_4_, p_77036_5_, p_77036_6_, scaleFactor); - setColor(color); - renderFive(); - setColor(Color.WHITE); - - mc.gameSettings.fancyGraphics = fancyGraphics; - mc.gameSettings.gammaSetting = gamma; - } - - public static void outlineESP(RenderLivingEntityEvent event, Color color) { - Minecraft mc = Minecraft.getMinecraft(); - boolean fancyGraphics = mc.gameSettings.fancyGraphics; - float gamma = mc.gameSettings.gammaSetting; - mc.gameSettings.fancyGraphics = false; - mc.gameSettings.gammaSetting = 100000F; - - GlStateManager.resetColor(); - setColor(color); - renderOne(2); - event.modelBase.render(event.entity, event.p_77036_2_, event.p_77036_3_, event.p_77036_4_, event.p_77036_5_, event.p_77036_6_, event.scaleFactor); - setColor(color); - renderTwo(); - event.modelBase.render(event.entity, event.p_77036_2_, event.p_77036_3_, event.p_77036_4_, event.p_77036_5_, event.p_77036_6_, event.scaleFactor); - setColor(color); - renderThree(); - event.modelBase.render(event.entity, event.p_77036_2_, event.p_77036_3_, event.p_77036_4_, event.p_77036_5_, event.p_77036_6_, event.scaleFactor); - setColor(color); - renderFour(color); - event.modelBase.render(event.entity, event.p_77036_2_, event.p_77036_3_, event.p_77036_4_, event.p_77036_5_, event.p_77036_6_, event.scaleFactor); - setColor(color); - renderFive(); - setColor(Color.WHITE); - - mc.gameSettings.fancyGraphics = fancyGraphics; - mc.gameSettings.gammaSetting = gamma; - } - - public static void renderOne(final float lineWidth) { - checkSetupFBO(); - glPushAttrib(GL_ALL_ATTRIB_BITS); - glDisable(GL_ALPHA_TEST); - glDisable(GL_TEXTURE_2D); - glDisable(GL_LIGHTING); - glEnable(GL_BLEND); - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - glLineWidth(lineWidth); - glEnable(GL_LINE_SMOOTH); - glEnable(GL_STENCIL_TEST); - glClear(GL_STENCIL_BUFFER_BIT); - glClearStencil(0xF); - glStencilFunc(GL_NEVER, 1, 0xF); - glStencilOp(GL_REPLACE, GL_REPLACE, GL_REPLACE); - glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); - } - - public static void renderTwo() { - glStencilFunc(GL_NEVER, 0, 0xF); - glStencilOp(GL_REPLACE, GL_REPLACE, GL_REPLACE); - glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); - } - - public static void renderThree() { - glStencilFunc(GL_EQUAL, 1, 0xF); - glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP); - glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); - } - - public static void renderFour(final Color color) { - setColor(color); - glDepthMask(false); - glDisable(GL_DEPTH_TEST); - glEnable(GL_POLYGON_OFFSET_LINE); - glPolygonOffset(1.0F, -2000000F); - OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240.0F, 240.0F); - } - - public static void renderFive() { - glPolygonOffset(1.0F, 2000000F); - glDisable(GL_POLYGON_OFFSET_LINE); - glEnable(GL_DEPTH_TEST); - glDepthMask(true); - glDisable(GL_STENCIL_TEST); - glDisable(GL_LINE_SMOOTH); - glHint(GL_LINE_SMOOTH_HINT, GL_DONT_CARE); - glEnable(GL_BLEND); - glEnable(GL_LIGHTING); - glEnable(GL_TEXTURE_2D); - glEnable(GL_ALPHA_TEST); - glPopAttrib(); - } - - public static void setColor(final Color color) { - glColor4d(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, color.getAlpha() / 255F); - } - - public static void checkSetupFBO() { - final Framebuffer fbo = Minecraft.getMinecraft().getFramebuffer(); - if (fbo != null) { - if (fbo.depthBuffer > -1) { - setupFBO(fbo); - fbo.depthBuffer = -1; - } - } - } - - private static void setupFBO(final Framebuffer fbo) { - EXTFramebufferObject.glDeleteRenderbuffersEXT(fbo.depthBuffer); - final int stencil_depth_buffer_ID = EXTFramebufferObject.glGenRenderbuffersEXT(); - EXTFramebufferObject.glBindRenderbufferEXT(EXTFramebufferObject.GL_RENDERBUFFER_EXT, stencil_depth_buffer_ID); - EXTFramebufferObject.glRenderbufferStorageEXT(EXTFramebufferObject.GL_RENDERBUFFER_EXT, EXTPackedDepthStencil.GL_DEPTH_STENCIL_EXT, Minecraft.getMinecraft().displayWidth, Minecraft.getMinecraft().displayHeight); - EXTFramebufferObject.glFramebufferRenderbufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT, EXTFramebufferObject.GL_STENCIL_ATTACHMENT_EXT, EXTFramebufferObject.GL_RENDERBUFFER_EXT, stencil_depth_buffer_ID); - EXTFramebufferObject.glFramebufferRenderbufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT, EXTFramebufferObject.GL_DEPTH_ATTACHMENT_EXT, EXTFramebufferObject.GL_RENDERBUFFER_EXT, stencil_depth_buffer_ID); - } - -} |
