Seitenverhältnis-Stretching in OpenGL
Ich habe Probleme mit dem Vollbildmodus. Ich kann mein Fenster auf 800x600 einstellen, aber wenn ich diese Auflösung im Vollbildmodus verwende, wird sie gedehnt. Ich gehe davon aus, dass dies auf eine Änderung des Seitenverhältnisses zurückzuführen ist. Wie kann ich das beheben?
Bearbeiten Sie # 1
Hier ist ein Screenshot von dem, was ich sehe.
Links: 800 x 600
Rechts: 1366 x 768
Bearbeiten Sie # 2
Meine initGraphics-Funktion wird bei jeder Größenänderung des Fensters (WM_SIZE) aufgerufen.
void initGraphics(int width, int height) {
float aspect = (float)width / (float)height;
glViewport(0, 0, width, height);
glEnable(GL_TEXTURE_2D);
glEnable(GL_BLEND); //Enable alpha blending
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glClearColor(0.0, 0.0, 0.0, 1.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0, width, height * aspect, 0.0);
glMatrixMode(GL_MODELVIEW);
}