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();
私は slick2D で LWJGL ライブラリを使用しています。上記の方法でテクスチャをレンダリングしていますが、テクスチャの位置が正しくありません。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;
}