La mia immagine è 1280x800 e la dimensione dello schermo è 1280x800. Dovrebbe disegnare perfettamente. Sto creando un quad delle dimensioni dello schermo e sto impostando la trama per adattarla al quad. Ma in questo momento disegna una trama quadrata nell'angolo in alto a sinistra dello schermo che è fuori scala e non abbastanza grande.
Non so perché non funziona, ho provato a scrivere la dimensione della trama più grande durante il disegno e sembra funzionare in qualche modo, ma non so perché non ha funzionato quando si disegna su un Quad 1280x800.
Come faccio a creare un quad a schermo intero?
Ecco come lo sto attualmente facendo:
Questo è il mio OPENGL e il codice di configurazione del display:
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);
Questo è il mio codice per disegnare il quad testurizzato:
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();