OpenGL Viewport Resize; nachher wird nichts mehr angezeigt!!



  • Ich bin gerade dabei, einen Model-Editor für meine Engine zu schreiben, da es mir zu mühsam ist, die Models von Hand zu schreiben. Anzeigen in einem Testdevice (Fullscreen) kann ich das ganze problemlos, aber im Editor funktioniert das nicht. Ich glaube es liegt an der ReSize-Function (wenn ich das Testdevice im Fenstermodus generiere und resize, wird auch nichts mehr angezeigt.), aber die ist genau gleich wie in den Nehe-Tutorials.

    glViewport(0, 0,
                       this->Width,
                       this->Height ? this->Height : 1);
    	    glMatrixMode(GL_PROJECTION);				
    	    glLoadIdentity();						
    	    gluPerspective(45.0f, static_cast<GLfloat>(this->Width) / static_cast<GLfloat>(this->Height), 1.0f, 150.0f);
    	    glMatrixMode(GL_MODELVIEW);					
    	    glLoadIdentity();
    

    Zum Zeitpunkt, wo die Funktion aufgerufen wird, ist mein Gl-Device aktiv, also sollten es keine Probleme geben. An was könnte es liegen? Hoffentlich hab ich nicht wieder etwas kleines übersehen 🙄 ...



  • Falls du keine GameLoop benutzt in der dauernd die Buffers geswappt werden( normalerweise bei einem Editor unüblich), kann es daran liegen dass du nach dem Resizen erstmal die Szene neu rendern musst ( und bei eingeschaltetem DoubleBuffering die Buffer zusätzlich swapst )

    P.S: Ich entschuldige mich für diese grauenhafte Eindeutschung englischer (Fach-)Begriffe, sorry! 😃



  • Nein, dass ist es nicht. Der "Fehler" tritt auch dann auf, wenn ich einen Loop habe. Trotzdem danke. Hat jemand eine andere Idee?



  • Ich kann es noch ein wenig eingrenzen: Sobald ich den gluPerspective-Aufruf rausnehme, wird alles angezeigt. Natürlich verzerrt, aber immerhin wird etwas angezeigt.



  • Zeichnest du alles auch mit einer z-Koordinate kleiner als camera.z - 1.0 ?


Anmelden zum Antworten