2016-04-01 2 views
0

Ich habe dies in meiner Hauptschleife:Make glutMouseFunc() zuerst als die glutDisplayFunc() aufgerufen wird in C++ OpenGL

init(); 
glutDisplayFunc(display); 
glutReshapeFunc(reshape); 
glutMouseFunc(mouse); 
glutKeyboardFunc(keyboard); 
glutMainLoop(); 

Was ich versuche ist ein OpenGL-Programm zu tun, die Klicks auf der Maus stützt zum Aktualisieren der Werte bestimmter Variablen im Programm und zum Anzeigen der Ergebnisse anderer Funktionen, die auf diesen beruhen. Wenn OpenGL jedoch einen Mausklick erkennt, geht es zunächst zur Anzeigefunktion, aktualisiert die Zeichenfläche und wechselt dann in die Mausfunktion. Gibt es eine Möglichkeit, dies zu ändern?

+1

OpenGL tut nichts da. OpenGL zeichnet einfach Dinge. Sie haben es hier mit GLUT zu tun. Auch das ist nicht ** Ihre Hauptschleife. Die Hauptschleife befindet sich irgendwo in GLUT und Sie geben sie durch Aufruf von 'glutMainLoop' ein. Die Reihenfolge der "Überlauf ... Func" -Aufrufe spielt keine Rolle. – datenwolf

Antwort

0

Am Ende der mouse Anruf glutPostRedisplay(), die display wieder aufgerufen werden.

Verwandte Themen