glut wenn fenster geschlossen, anwendung beenden.
-
Und was genau tust du in deinem atexit handler?
-
nichts, denn hab ich eigentlich rausgenommen, der tut gar nichts
-
Das ist dann äußerst merkwürdig. Läuft deine Anwendung tatsächlich weiter oder bleibt einfach nur das Konsolenfenster offen?
-
naja, visual basic sagt, dass die anwendung noch läuft, und taskmanager zeigt den prozess weiterhin an
-
sorry visual studio sagt...
-
Und wo genau hängt das Programm? Drück eben einfach mal in VS auf Pause...
-
es hängt in der Render scene, hier ist die aus dem beilstpierlprojekt dass ich zum testen nehm
void renderScene(void) { if (deltaMove) computePos(deltaMove); // Clear Color and Depth Buffers glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Reset transformations glLoadIdentity(); // Set the camera gluLookAt( x, 1.0f, z, x+lx, 1.0f, z+lz, 0.0f, 1.0f, 0.0f); // Draw ground glColor3f(0.9f, 0.9f, 0.9f); glBegin(GL_QUADS); glVertex3f(-100.0f, 0.0f, -100.0f); glVertex3f(-100.0f, 0.0f, 100.0f); glVertex3f( 100.0f, 0.0f, 100.0f); glVertex3f( 100.0f, 0.0f, -100.0f); glEnd(); // Draw 36 SnowMen for(int i = -3; i < 3; i++) for(int j=-3; j < 3; j++) { glPushMatrix(); glTranslatef(i*10.0,0,j * 10.0); drawSnowMan(); glPopMatrix(); } glutSwapBuffers(); }
-
Sehr merkwürdig. Das bedeutet wohl dass GLUT einfach weiterläuft obwohl das Fenster geschlossen wurde. Ich verwend zwar GLUT nicht, aber das sollte es afaik nicht tun, außer man sagt ihm irgendwie explizit dass es das tun soll (falls das geht)...
-
okay, ich mach jetzt mal den pc aus, hoffentlich kann mir morgrn jmnd helfen.
-
Gibt es bei glut eine Möglichkeit Events abzufragen (bei SDL gibt es ein QUIT event) ?
-
Ja gibt es. Aber afaik sollte das Beenden beim Schließen des Fensters das Defaultverhalten von GLUT sein...
-
Steig am besten auf freeglut rum. Da hast du alle gleichen Befehle wie bei glut aber kannst noch z.B. noch glutLeaveMainLoop() benutzen
-
Ja ich würde auch zu freeglut oder GLFW raten. Beide leider immer noch alles andere als toll, aber was besseres kenn ich leider nicht. Wenn jemand was besseres kennt: Immer nur her damit.
-
naja ich verwende glut nur weil bei freeglut der vollbildmodus nicht möglich ist, bei dem wiederum keine Texturen angezeigt werden, aber vielleicht habt ihr recht ich probiers dann später aus, und meld mich am nachmittag wieder.
vermutlich hab ich so ne Hobbiebastler mod von glut erwischt.
-
Dann liegt der Fehler aber vermutlich eher bei dir! Ich kann ohne Probleme bei freeglut in den Vollbildmodus schalten (glutFullScreen()).
Probier mal bitte auch einfach nur dein Projekt als release zu compilen, dann aber nicht direkt ausführen sondern am besten Visual schließen und dann so die *.exe zu starten! Dann schließ mal das OpenGL Fenster und sag mir ob die Konsole immer noch da bleibt
-
ja sie is noch da, aber jetzt versuch ich mal freeglut
-
danke jungs, jetzt klappts supi, aber ihr werdet leider vielleicht nächstens mit einer frage über freegglut vollbild konfrontiert.
-
vielleicht kannst dus mir gleich sagen:
wie komm ich wieder aus dem fullscreen raus?hat sich erledigt
-
Nur der zur Sicherheit, du nimmst "glutLeaveFullScreen()", ja?
Gibt nämlich auch einen anderen Weg aber der ist nicht so gut.
-
danke, ich habs jetzt mit glutReshapeWindow gemacht, aber klar, deine idee is besser danke.