Mon image est 1280x800 et ma taille d'écran est 1280x800. Il devrait dessiner parfaitement. Je crée un quadruple de la taille de l'écran et je règle la texture pour l'adapter au quadruple. Mais en ce moment, il dessine une texture carrée dans mon coin supérieur gauche de mon écran qui est hors échelle et pas assez grande.
Je ne sais pas pourquoi cela ne fonctionne pas, j'ai essayé d'écrire la taille de la texture plus grande lors du dessin et cela semble fonctionner en quelque sorte, mais je ne sais pas pourquoi cela n'a pas fonctionné lors du dessin sur un 1280x800 quad.
Comment créer un quad en plein écran?
Voici comment je le fais actuellement:
Voici mon OPENGL et mon code de configuration d'affichage:
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);
Voici mon code pour dessiner le quad texturé:
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();