加载纹理 - 使用 OpenGl、LWJGL 和 SlickUtil
Loading texture - using OpenGl, LWJGL and SlickUtil
我在尝试加载纹理时遇到此错误。关于为什么会发生这种情况的任何想法?或者自从我上次使用这些库以来方法是否发生了变化?
Exception in thread "main" java.lang.NoSuchMethodError: org.lwjgl.opengl.GL11.glGetInteger(ILjava/nio/IntBuffer;)V
at org.newdawn.slick.opengl.renderer.ImmediateModeOGLRenderer.glGetInteger(ImmediateModeOGLRenderer.java:194)
at org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:317)
at org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:254)
at org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:200)
at org.newdawn.slick.opengl.TextureLoader.getTexture(TextureLoader.java:64)
at org.newdawn.slick.opengl.TextureLoader.getTexture(TextureLoader.java:24)
at engine.Loader.loadTexture(Loader.java:39)
at game.Game.main(Game.java:51)
我加载纹理的代码是这样的。
public int loadTexture(String fileName){
Texture texture = null;
try {
texture = TextureLoader.getTexture("PNG", new FileInputStream("res/" + fileName + ".png"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
int textureID = texture.getTextureID();
textures.add(textureID);
return textureID;
}
Slick-Util 不兼容LWJGL 3,不确定是否继续。好像有version that works with it,不过没试过
LWJGL 开发人员建议使用包含的 STB 库来加载纹理,因为它仍在开发中,轻量级并且非常擅长加载简单文件。您可以查看 tests and the getting started guide 以了解如何使用它的示例。
我在尝试加载纹理时遇到此错误。关于为什么会发生这种情况的任何想法?或者自从我上次使用这些库以来方法是否发生了变化?
Exception in thread "main" java.lang.NoSuchMethodError: org.lwjgl.opengl.GL11.glGetInteger(ILjava/nio/IntBuffer;)V
at org.newdawn.slick.opengl.renderer.ImmediateModeOGLRenderer.glGetInteger(ImmediateModeOGLRenderer.java:194)
at org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:317)
at org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:254)
at org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:200)
at org.newdawn.slick.opengl.TextureLoader.getTexture(TextureLoader.java:64)
at org.newdawn.slick.opengl.TextureLoader.getTexture(TextureLoader.java:24)
at engine.Loader.loadTexture(Loader.java:39)
at game.Game.main(Game.java:51)
我加载纹理的代码是这样的。
public int loadTexture(String fileName){
Texture texture = null;
try {
texture = TextureLoader.getTexture("PNG", new FileInputStream("res/" + fileName + ".png"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
int textureID = texture.getTextureID();
textures.add(textureID);
return textureID;
}
Slick-Util 不兼容LWJGL 3,不确定是否继续。好像有version that works with it,不过没试过
LWJGL 开发人员建议使用包含的 STB 库来加载纹理,因为它仍在开发中,轻量级并且非常擅长加载简单文件。您可以查看 tests and the getting started guide 以了解如何使用它的示例。