From 993e67a2e49fafd0e9fd8965c553f5a8ecaa85a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Tue, 7 Jan 2014 14:10:28 +0100 Subject: [PATCH] manual background rendering for screens instead of using the tessellator since that seems to have caused crashes on certain graphics cards with certain drivers (see #31) --- .../renderer/MonospaceFontRenderer.scala | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/li/cil/oc/client/renderer/MonospaceFontRenderer.scala b/li/cil/oc/client/renderer/MonospaceFontRenderer.scala index d4cce67b1..f4e81aace 100644 --- a/li/cil/oc/client/renderer/MonospaceFontRenderer.scala +++ b/li/cil/oc/client/renderer/MonospaceFontRenderer.scala @@ -135,14 +135,17 @@ object MonospaceFontRenderer { private val bgv2 = 256.0 / 256.0 private def draw(color: Int, offset: Int, width: Int) = if (color != 0 && width > 0) { - val t = Tessellator.instance - t.startDrawingQuads() - t.setColorOpaque_I(color) - t.addVertexWithUV(charWidth * offset, charHeight, 0, bgu1, bgv2) - t.addVertexWithUV(charWidth * (offset + width), charHeight, 0, bgu2, bgv2) - t.addVertexWithUV(charWidth * (offset + width), 0, 0, bgu2, bgv1) - t.addVertexWithUV(charWidth * offset, 0, 0, bgu1, bgv1) - t.draw() + GL11.glBegin(GL11.GL_QUADS) + GL11.glColor3ub(((color >> 16) & 0xFF).toByte, ((color >> 8) & 0xFF).toByte, (color & 0xFF).toByte) + GL11.glTexCoord2d(bgu1, bgv2) + GL11.glVertex3d(charWidth * offset, charHeight, 0) + GL11.glTexCoord2d(bgu2, bgv2) + GL11.glVertex3d(charWidth * (offset + width), charHeight, 0) + GL11.glTexCoord2d(bgu2, bgv1) + GL11.glVertex3d(charWidth * (offset + width), 0, 0) + GL11.glTexCoord2d(bgu1, bgv1) + GL11.glVertex3d(charWidth * offset, 0, 0) + GL11.glEnd() } private def flush() = if (listBuffer.position > 0) {