Java tutorial
/** * This class was created by <Vazkii>. It's distributed as * part of the Botania Mod. Get the Source Code in github: * https://github.com/Vazkii/Botania * * Botania is Open Source and distributed under a * Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License * (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB) * * File Created @ [Jul 2, 2014, 12:12:45 AM (GMT)] */ package vazkii.b_baubles.client.fx; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.Tessellator; import net.minecraft.profiler.Profiler; import org.lwjgl.opengl.GL11; public final class ParticleRenderDispatcher { public static int wispFxCount = 0; public static int depthIgnoringWispFxCount = 0; public static int sparkleFxCount = 0; public static int fakeSparkleFxCount = 0; public static int lightningCount = 0; // Called from LightningHandler.onRenderWorldLast since that was // already registered. /shrug public static void dispatch() { Tessellator tessellator = Tessellator.instance; boolean isLightingEnabled = GL11.glGetBoolean(GL11.GL_LIGHTING); Profiler profiler = Minecraft.getMinecraft().mcProfiler; GL11.glDepthMask(false); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); GL11.glAlphaFunc(GL11.GL_GREATER, 0.003921569F); if (isLightingEnabled) GL11.glDisable(GL11.GL_LIGHTING); profiler.startSection("sparkle"); FXSparkle.dispatchQueuedRenders(tessellator); profiler.endStartSection("wisp"); FXWisp.dispatchQueuedRenders(tessellator); profiler.endSection(); if (isLightingEnabled) GL11.glEnable(GL11.GL_LIGHTING); GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); GL11.glDisable(GL11.GL_BLEND); GL11.glDepthMask(true); } }