Texture texture = loadTexture("main_menu/bg");
texture.bind();
glBegin(GL_QUADS);
glTexCoord2f(0, 0);
glVertex2i(1, 1);
glTexCoord2f(0, 1);
glVertex2i(1, 720);
glTexCoord2f(1, 1);
glVertex2i(1280, 720);
glTexCoord2f(1, 0);
glVertex2i(1280, 1);
glEnd();
我将 LWJGL 库与 slick2D 一起使用。我正在用上述方式渲染纹理,但纹理的位置不正确。我有 1280x720 全屏窗口,我在窗口上渲染背景纹理,但纹理在 X 轴减少到窗口的 2/3,在 Y 轴减少到窗口的 3/4。
我正在添加 openGL 的设置,所以这里是:
WINDOW_WIDTH = 1280;
WINDOW_HEIGHT = 720;
glEnable(GL_TEXTURE_2D);
glDisable(GL_DEPTH_TEST);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, WINDOW_WIDTH, WINDOW_HEIGHT, 0, -1, 1);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glViewport(0, 0, WINDOW_WIDTH, WINDOW_HEIGHT);
这是加载纹理的方法:
private Texture loadTexture(String key) {
try {
return TextureLoader.getTexture("PNG", new FileInputStream(
new File("res/" + key + ".png")));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}