From 741a90c6bd8ef87e035a008d970de405b2f22daa Mon Sep 17 00:00:00 2001 From: iChun Date: Tue, 11 Mar 2014 06:40:37 +0800 Subject: [PATCH] Fixes stencil bits not existing in Minecraft's framebuffer causing stencil test to not work. --- .../client/shader/Framebuffer.java.patch | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 patches/minecraft/net/minecraft/client/shader/Framebuffer.java.patch diff --git a/patches/minecraft/net/minecraft/client/shader/Framebuffer.java.patch b/patches/minecraft/net/minecraft/client/shader/Framebuffer.java.patch new file mode 100644 index 0000000000..44ce33ebbd --- /dev/null +++ b/patches/minecraft/net/minecraft/client/shader/Framebuffer.java.patch @@ -0,0 +1,21 @@ +--- ../src-base/minecraft/net/minecraft/client/shader/Framebuffer.java ++++ ../src-work/minecraft/net/minecraft/client/shader/Framebuffer.java +@@ -6,6 +6,7 @@ + import net.minecraft.client.renderer.OpenGlHelper; + import net.minecraft.client.renderer.Tessellator; + import net.minecraft.client.renderer.texture.TextureUtil; ++import net.minecraftforge.client.MinecraftForgeClient; + import org.lwjgl.opengl.EXTFramebufferObject; + import org.lwjgl.opengl.GL11; + +@@ -118,8 +119,8 @@ + if (this.useDepth) + { + EXTFramebufferObject.glBindRenderbufferEXT(36161, this.depthBuffer); +- EXTFramebufferObject.glRenderbufferStorageEXT(36161, 33190, this.framebufferTextureWidth, this.framebufferTextureHeight); +- EXTFramebufferObject.glFramebufferRenderbufferEXT(36160, 36096, 36161, this.depthBuffer); ++ EXTFramebufferObject.glRenderbufferStorageEXT(36161, MinecraftForgeClient.getStencilBits() > 0 ? 35056 /* ARBFramebufferObject.GL_DEPTH24_STENCIL8 */ : 33190, this.framebufferTextureWidth, this.framebufferTextureHeight); ++ EXTFramebufferObject.glFramebufferRenderbufferEXT(36160, MinecraftForgeClient.getStencilBits() > 0 ? 33306 /* ARBFramebufferObject.GL_DEPTH_STENCIL_ATTACHMENT */ : 36096, 36161, this.depthBuffer); + } + + this.framebufferClear();