2011-12-26 11 views
0

LWJGLとSlick-Libraryを使用して、JavaでOpenGL-Window上に文字列を表示しようとしています。LWJGLでSlickのUnicodefontを使用した描画文字列

これは私のソースコード

import static org.lwjgl.opengl.GL11.GL_COLOR_BUFFER_BIT; import static org.lwjgl.opengl.GL11.GL_DEPTH_BUFFER_BIT; import static org.lwjgl.opengl.GL11.glClear; import java.awt.Color; import java.awt.Font; import org.lwjgl.LWJGLException; import org.lwjgl.opengl.Display; import org.lwjgl.opengl.DisplayMode; import org.newdawn.slick.SlickException; import org.newdawn.slick.UnicodeFont; import org.newdawn.slick.font.effects.ColorEffect; public class test extends Thread { UnicodeFont font; public static void main(String arg[]) { Thread mainthread = new test(); mainthread.start(); } //Constructor public test() { } public void run() { try { Display.setDisplayMode(new DisplayMode(400,400)); Display.setVSyncEnabled(true); Display.create(); } catch (LWJGLException e) { e.printStackTrace(); //TODO Auto-generated catch block } try { font = new UnicodeFont("arial.ttf",1, false, false); } catch (SlickException e1) { e1.printStackTrace();// TODO Auto-generated catch block } font.addAsciiGlyphs(); font.addGlyphs(400, 600); font.getEffects().add(new ColorEffect(java.awt.Color.ORANGE)); try { font.loadGlyphs(); } catch (SlickException e) { e.printStackTrace();// TODO Auto-generated catch block } while(!Display.isCloseRequested()) { font.drawString(0.3f, 0.3f, "Testi"); Display.update(); } Display.destroy(); } }

であり、これが結果です:

http://i.stack.imgur.com/2hBnB.png

私はこれを引き起こす可能性が何も考えて、持っていません。 助けてください!

答えて

2

テキストを正しく表示するには、GL_TEXTURE_2DおよびGL_BLEND(glBlendFunc(GL_SRC_ALPHA、GL_ONE_MINUS_SRC_ALPHA)を使用)を有効にする必要があります。

関連する問題