opengl: Ändere den Ursprung in die obere linke Ecke
Ich habe Probleme, den openGL-Ursprung in der oberen linken Ecke der Ansicht festzulegen. Also mache ich in meinem Fenster-Resize-Handler etwas wie:
// ox and oy are some offsets and width and height are the
// required viewport width and height
glViewport(ox, oy, width, height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, width, 0, height, -1, 1);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
Dies behält den Ursprung unten links und ich kann meine Textur rendern als:
glBegin(GL_QUADS);
glTexCoord2f(0, 0); glVertex2f(0, 0);
glTexCoord2f(1, 0); glVertex2f(width, 0);
glTexCoord2f(1, 1); glVertex2f(width, height);
glTexCoord2f(0, 1); glVertex2f(0, height);
glEnd();
Soweit ich die Seiten hier lesen kann, muss ich zum Umdrehen des Ursprungs einfach den glOrtho-Aufruf durch @ ersetze
glOrtho(0, width, height, 0, -1, 1);
Wenn Sie dies jedoch tun und den obigen Rendercode verwenden, wird meine Textur nicht mehr gerendert, und es wird nur ein leerer Bildschirm angezeigt.