Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用版本3.2或更高版本在LWJGL中显示文本_Java_Opengl_Lwjgl_Slick2d - Fatal编程技术网

Java 如何使用版本3.2或更高版本在LWJGL中显示文本

Java 如何使用版本3.2或更高版本在LWJGL中显示文本,java,opengl,lwjgl,slick2d,Java,Opengl,Lwjgl,Slick2d,我一直在使用来了解如何使用该库,并且我一直在使用以下内容设置LWJGL(根据): 说明如何绘制文本。然而,TrueTypeFont已被弃用,所以我将其替换为现在的标准UnicodeFont。我初始化并使用它,如下所示: UnicodeFont font = null; try { font = new UnicodeFont(Font.createFont(Font.TRUETYPE_FONT, new File("path/t

我一直在使用来了解如何使用该库,并且我一直在使用以下内容设置LWJGL(根据):

说明如何绘制文本。然而,TrueTypeFont已被弃用,所以我将其替换为现在的标准UnicodeFont。我初始化并使用它,如下所示:

UnicodeFont font = null;
try
{
    font = new UnicodeFont(Font.createFont(Font.TRUETYPE_FONT,
                              new File("path/to/font.ttf")).deriveFont(24)));
}
catch (FontFormatException | IOException e)
{
    e.printStackTrace();
}

while(true)
{
    glClear(GL_COLOR_BUFFER_BIT);
    font.drawString(50.0f, 50.0f, "Hi there.",
                           new Color(1.0f, 1.0f, 1.0f, 1.0f));
}
这将生成以下错误:

Exception in thread "main" java.lang.IllegalStateException: Function is not supported
at org.lwjgl.BufferChecks.checkFunctionAddress(BufferChecks.java:58)
at org.lwjgl.opengl.GL11.glColor4f(GL11.java:881)
at org.newdawn.slick.opengl.renderer.ImmediateModeOGLRenderer.glColor4f(ImmediateModeOGLRenderer.java:119)
at org.newdawn.slick.Color.bind(Color.java:180)
at org.newdawn.slick.TrueTypeFont.drawString(TrueTypeFont.java:367)
at org.newdawn.slick.TrueTypeFont.drawString(TrueTypeFont.java:359)

在调用拉绳的线处。如何修复此问题?

您正在创建一个OpenGL 3.2向前兼容的上下文,但字体渲染器显然正在使用即时模式渲染,该模式已从该版本的OpenGL中删除。创建兼容上下文或切换到其他呈现字体的方法

Exception in thread "main" java.lang.IllegalStateException: Function is not supported
at org.lwjgl.BufferChecks.checkFunctionAddress(BufferChecks.java:58)
at org.lwjgl.opengl.GL11.glColor4f(GL11.java:881)
at org.newdawn.slick.opengl.renderer.ImmediateModeOGLRenderer.glColor4f(ImmediateModeOGLRenderer.java:119)
at org.newdawn.slick.Color.bind(Color.java:180)
at org.newdawn.slick.TrueTypeFont.drawString(TrueTypeFont.java:367)
at org.newdawn.slick.TrueTypeFont.drawString(TrueTypeFont.java:359)