Мое изображение 1280x800, а мой размер экрана 1280x800. Это должно нарисовать отлично. Я создаю четырехугольник размером с экран и настраиваю текстуру так, чтобы она соответствовала квадрату. Но сейчас он рисует квадратную текстуру в левом верхнем углу экрана, которая не в масштабе и недостаточно велика.
Я не знаю, почему это не работает, я пытался написать размер текстуры больше при рисовании, и кажется, что это работает, но я не знаю, почему это не работает при рисовании на 1280x800 квад.
Как мне создать полноэкранный квад?
Вот как я сейчас это делаю:
Это мой OPENGL и код настройки дисплея:
DisplayMode displayMode = null;
DisplayMode[] modes = Display.getAvailableDisplayModes();
for (int i = 0; i < modes.length; i++) {
if (modes[i].getWidth() == World.SCREEN_WIDTH && modes[i].getHeight() == World.SCREEN_HEIGHT && modes[i].isFullscreenCapable()) {
displayMode = modes[i];
}
}
Display.setDisplayMode(displayMode);
Display.setFullscreen(false);
Display.create();
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, World.SCREEN_WIDTH, World.SCREEN_HEIGHT, 0, 1, -1);
glMatrixMode(GL_MODELVIEW);
glEnable(GL_TEXTURE_2D);
Это мой код для рисования текстурированного четырехугольника:
background = TextureLoader.getTexture("PNG", new FileInputStream(new File("res/menu/background.png")));
glBindTexture(GL_TEXTURE_2D, background.getTextureID());
glPushMatrix();
glBegin(GL_QUADS);
glTexCoord2f(0, 0);
glVertex2f(0, 0); // Upper left
glTexCoord2f(1, 0);
glVertex2f(World.SCREEN_WIDTH, 0); // Upper right
glTexCoord2f(1, 1);
glVertex2f(World.SCREEN_WIDTH, World.SCREEN_HEIGHT); // Lower right
glTexCoord2f(0, 1);
glVertex2f(0, World.SCREEN_HEIGHT); // Lower left
glEnd();
glPopMatrix();