diff --git a/src/main/kotlin/gg/essential/universal/render/ManagedGlState.kt b/src/main/kotlin/gg/essential/universal/render/ManagedGlState.kt index 27d5bf9..eb62b2a 100644 --- a/src/main/kotlin/gg/essential/universal/render/ManagedGlState.kt +++ b/src/main/kotlin/gg/essential/universal/render/ManagedGlState.kt @@ -23,6 +23,7 @@ internal class ManagedGlState( var polygonOffset: Boolean, var polygonOffsetFactor: Float, var polygonOffsetUnits: Float, + var shadeModel: Int, var alphaTest: Boolean, var alphaTestFunc: Int, var alphaTestRef: Float, @@ -40,6 +41,7 @@ internal class ManagedGlState( polygonOffset = other.polygonOffset, polygonOffsetFactor = other.polygonOffsetFactor, polygonOffsetUnits = other.polygonOffsetUnits, + shadeModel = other.shadeModel, alphaTest = other.alphaTest, alphaTestFunc = other.alphaTestFunc, alphaTestRef = other.alphaTestRef, @@ -160,6 +162,10 @@ internal class ManagedGlState( //#if MC>=11700 //$$ @Suppress("UNUSED_VARIABLE") val unused = org //#else + if (curr.shadeModel != shadeModel) { + curr.shadeModel = shadeModel + GlStateManager.shadeModel(shadeModel) + } if (curr.alphaTest != alphaTest) { curr.alphaTest = alphaTest //#if MC==11602 @@ -212,10 +218,12 @@ internal class ManagedGlState( polygonOffsetFactor = GL11.glGetFloat(GL11.GL_POLYGON_OFFSET_FACTOR), polygonOffsetUnits = GL11.glGetFloat(GL11.GL_POLYGON_OFFSET_UNITS), //#if MC>=11700 + //$$ shadeModel = 0, //$$ alphaTest = false, //$$ alphaTestFunc = 0, //$$ alphaTestRef = 0f, //#else + shadeModel = GL11.glGetInteger(GL11.GL_SHADE_MODEL), alphaTest = GL11.glGetBoolean(GL11.GL_ALPHA_TEST), alphaTestFunc = GL11.glGetInteger(GL11.GL_ALPHA_TEST_FUNC), alphaTestRef = GL11.glGetFloat(GL11.GL_ALPHA_TEST_REF), diff --git a/src/main/kotlin/gg/essential/universal/render/URenderPipeline.kt b/src/main/kotlin/gg/essential/universal/render/URenderPipeline.kt index 72ea41c..369705a 100644 --- a/src/main/kotlin/gg/essential/universal/render/URenderPipeline.kt +++ b/src/main/kotlin/gg/essential/universal/render/URenderPipeline.kt @@ -465,6 +465,7 @@ class URenderPipeline private constructor( polygonOffset = polygonOffset.first != 0f || polygonOffset.second != 0f, polygonOffsetFactor = polygonOffset.first, polygonOffsetUnits = polygonOffset.second, + shadeModel = GL11.GL_SMOOTH, alphaTest = true, alphaTestFunc = GL11.GL_ALWAYS, alphaTestRef = 0f,