Fix tile entity renderers turning other stuff transparent (yay no push/popAttrib .-.)

This commit is contained in:
Florian Nücke 2016-05-27 18:00:24 +02:00
parent 080240846e
commit 3a99e30f40
20 changed files with 35 additions and 7 deletions

View File

@ -102,6 +102,7 @@ object HighlightRenderer {
} }
t.draw() t.draw()
RenderState.disableBlend()
RenderState.popAttrib() RenderState.popAttrib()
GlStateManager.popMatrix() GlStateManager.popMatrix()
} }

View File

@ -112,6 +112,7 @@ abstract class TextureFontRenderer {
GlStateManager.bindTexture(0) GlStateManager.bindTexture(0)
GlStateManager.depthMask(true) GlStateManager.depthMask(true)
GlStateManager.color(1, 1, 1) GlStateManager.color(1, 1, 1)
RenderState.disableBlend()
RenderState.popAttrib() RenderState.popAttrib()
GlStateManager.popMatrix() GlStateManager.popMatrix()

View File

@ -65,6 +65,7 @@ object AssemblerRenderer extends TileEntitySpecialRenderer[Assembler] {
GlStateManager.rotate(90, 0, 1, 0) GlStateManager.rotate(90, 0, 1, 0)
} }
RenderState.disableBlend()
RenderState.enableEntityLighting() RenderState.enableEntityLighting()
GlStateManager.popMatrix() GlStateManager.popMatrix()

View File

@ -4,6 +4,7 @@ import li.cil.oc.client.Textures
import li.cil.oc.common.tileentity.Case import li.cil.oc.common.tileentity.Case
import li.cil.oc.util.RenderState import li.cil.oc.util.RenderState
import net.minecraft.client.renderer.GlStateManager import net.minecraft.client.renderer.GlStateManager
import net.minecraft.client.renderer.RenderHelper
import net.minecraft.client.renderer.Tessellator import net.minecraft.client.renderer.Tessellator
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer
import net.minecraft.client.renderer.vertex.DefaultVertexFormats import net.minecraft.client.renderer.vertex.DefaultVertexFormats
@ -45,6 +46,7 @@ object CaseRenderer extends TileEntitySpecialRenderer[Case] {
renderFrontOverlay(Textures.Block.CaseFrontError) renderFrontOverlay(Textures.Block.CaseFrontError)
} }
RenderState.disableBlend()
RenderState.enableEntityLighting() RenderState.enableEntityLighting()
GlStateManager.popMatrix() GlStateManager.popMatrix()

View File

@ -72,6 +72,7 @@ object ChargerRenderer extends TileEntitySpecialRenderer[Charger] {
t.draw() t.draw()
RenderState.disableBlend()
RenderState.enableEntityLighting() RenderState.enableEntityLighting()
GlStateManager.popMatrix() GlStateManager.popMatrix()

View File

@ -64,6 +64,7 @@ object DisassemblerRenderer extends TileEntitySpecialRenderer[tileentity.Disasse
t.draw() t.draw()
RenderState.disableBlend()
RenderState.enableEntityLighting() RenderState.enableEntityLighting()
GlStateManager.popMatrix() GlStateManager.popMatrix()

View File

@ -73,6 +73,7 @@ object DiskDriveRenderer extends TileEntitySpecialRenderer[DiskDrive] {
t.draw() t.draw()
RenderState.disableBlend()
RenderState.enableEntityLighting() RenderState.enableEntityLighting()
} }

View File

@ -40,6 +40,7 @@ object GeolyzerRenderer extends TileEntitySpecialRenderer[Geolyzer] {
t.draw() t.draw()
RenderState.disableBlend()
RenderState.enableEntityLighting() RenderState.enableEntityLighting()
GlStateManager.popMatrix() GlStateManager.popMatrix()

View File

@ -151,6 +151,8 @@ object HologramRenderer extends TileEntitySpecialRenderer[Hologram] with Callabl
GlStateManager.depthFunc(GL11.GL_LEQUAL) GlStateManager.depthFunc(GL11.GL_LEQUAL)
GlStateManager.popMatrix() GlStateManager.popMatrix()
RenderState.disableBlend()
RenderState.popAttrib() RenderState.popAttrib()
GL11.glPopClientAttrib() GL11.glPopClientAttrib()

View File

@ -54,6 +54,7 @@ object MicrocontrollerRenderer extends TileEntitySpecialRenderer[Microcontroller
t.draw() t.draw()
RenderState.disableBlend()
RenderState.enableEntityLighting() RenderState.enableEntityLighting()
GlStateManager.popMatrix() GlStateManager.popMatrix()

View File

@ -80,6 +80,7 @@ object NetSplitterRenderer extends TileEntitySpecialRenderer[tileentity.NetSplit
t.draw() t.draw()
RenderState.disableBlend()
RenderState.enableEntityLighting() RenderState.enableEntityLighting()
GlStateManager.popMatrix() GlStateManager.popMatrix()

View File

@ -65,6 +65,7 @@ object PowerDistributorRenderer extends TileEntitySpecialRenderer[tileentity.Pow
t.draw() t.draw()
RenderState.disableBlend()
RenderState.enableEntityLighting() RenderState.enableEntityLighting()
GlStateManager.popMatrix() GlStateManager.popMatrix()

View File

@ -25,16 +25,12 @@ object PrinterRenderer extends TileEntitySpecialRenderer[Printer] {
GlStateManager.rotate((System.currentTimeMillis() % 20000) / 20000f * 360, 0, 1, 0) GlStateManager.rotate((System.currentTimeMillis() % 20000) / 20000f * 360, 0, 1, 0)
GlStateManager.scale(0.75, 0.75, 0.75) GlStateManager.scale(0.75, 0.75, 0.75)
RenderHelper.enableStandardItemLighting()
val brightness = printer.world.getCombinedLight(printer.getPos, 0) val brightness = printer.world.getCombinedLight(printer.getPos, 0)
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, brightness % 65536, brightness / 65536) OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, brightness % 65536, brightness / 65536)
Textures.Block.bind() Textures.Block.bind()
Minecraft.getMinecraft.getRenderItem.renderItem(stack, ItemCameraTransforms.TransformType.FIXED) Minecraft.getMinecraft.getRenderItem.renderItem(stack, ItemCameraTransforms.TransformType.FIXED)
RenderHelper.disableStandardItemLighting()
GlStateManager.popMatrix() GlStateManager.popMatrix()
RenderState.popAttrib() RenderState.popAttrib()
} }

View File

@ -62,6 +62,7 @@ object RaidRenderer extends TileEntitySpecialRenderer[Raid] {
t.draw() t.draw()
RenderState.disableBlend()
RenderState.enableEntityLighting() RenderState.enableEntityLighting()
GlStateManager.popMatrix() GlStateManager.popMatrix()

View File

@ -489,7 +489,7 @@ object RobotRenderer extends TileEntitySpecialRenderer[tileentity.RobotProxy] {
GlStateManager.depthMask(true) GlStateManager.depthMask(true)
GlStateManager.enableLighting() GlStateManager.enableLighting()
GlStateManager.disableBlend() RenderState.disableBlend()
GlStateManager.popMatrix() GlStateManager.popMatrix()
} }

View File

@ -89,6 +89,7 @@ object ScreenRenderer extends TileEntitySpecialRenderer[Screen] {
draw() draw()
} }
RenderState.disableBlend()
RenderState.enableEntityLighting() RenderState.enableEntityLighting()
GlStateManager.color(1, 1, 1, 1) // #1648 GlStateManager.color(1, 1, 1, 1) // #1648

View File

@ -56,6 +56,7 @@ class SwitchRenderer[T <: tileentity.traits.SwitchLike] extends TileEntitySpecia
t.draw() t.draw()
RenderState.disableBlend()
RenderState.enableEntityLighting() RenderState.enableEntityLighting()
GlStateManager.popMatrix() GlStateManager.popMatrix()

View File

@ -66,6 +66,7 @@ object TransposerRenderer extends TileEntitySpecialRenderer[tileentity.Transpose
t.draw() t.draw()
RenderState.disableBlend()
RenderState.enableEntityLighting() RenderState.enableEntityLighting()
GlStateManager.popMatrix() GlStateManager.popMatrix()

View File

@ -61,6 +61,7 @@ object RackMountableRenderHandler {
e.renderOverlayFromAtlas(Textures.Block.RackDiskDriveActivity) e.renderOverlayFromAtlas(Textures.Block.RackDiskDriveActivity)
RenderState.disableBlend()
RenderState.enableEntityLighting() RenderState.enableEntityLighting()
} }
} }
@ -82,6 +83,7 @@ object RackMountableRenderHandler {
e.renderOverlayFromAtlas(Textures.Block.RackServerNetworkActivity) e.renderOverlayFromAtlas(Textures.Block.RackServerNetworkActivity)
} }
RenderState.disableBlend()
RenderState.enableEntityLighting() RenderState.enableEntityLighting()
} }
else if (e.data != null && TerminalServer == api.Items.get(e.rack.getStackInSlot(e.mountable))) { else if (e.data != null && TerminalServer == api.Items.get(e.rack.getStackInSlot(e.mountable))) {
@ -98,6 +100,7 @@ object RackMountableRenderHandler {
e.renderOverlayFromAtlas(Textures.Block.RackTerminalServerPresence, u0, u1) e.renderOverlayFromAtlas(Textures.Block.RackTerminalServerPresence, u0, u1)
} }
RenderState.disableBlend()
RenderState.enableEntityLighting() RenderState.enableEntityLighting()
} }
} }

View File

@ -47,12 +47,18 @@ object RenderState {
def disableEntityLighting() { def disableEntityLighting() {
Minecraft.getMinecraft.entityRenderer.disableLightmap() Minecraft.getMinecraft.entityRenderer.disableLightmap()
RenderHelper.disableStandardItemLighting() GlStateManager.disableLighting()
GlStateManager.disableLight(0)
GlStateManager.disableLight(1)
GlStateManager.disableColorMaterial()
} }
def enableEntityLighting() { def enableEntityLighting() {
Minecraft.getMinecraft.entityRenderer.enableLightmap() Minecraft.getMinecraft.entityRenderer.enableLightmap()
RenderHelper.enableStandardItemLighting() GlStateManager.enableLighting()
GlStateManager.enableLight(0)
GlStateManager.enableLight(1)
GlStateManager.enableColorMaterial()
} }
def makeItBlend() { def makeItBlend() {
@ -61,6 +67,11 @@ object RenderState {
GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA) GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA)
} }
def disableBlend() {
GlStateManager.disableBlend()
GL11.glDisable(GL11.GL_BLEND)
}
def setBlendAlpha(alpha: Float) = { def setBlendAlpha(alpha: Float) = {
GlStateManager.color(1, 1, 1, alpha) GlStateManager.color(1, 1, 1, alpha)
GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE) GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE)