Allgemeines zu OpenGLUT callback functions

  • Themenstarter Themenstarter Lumakrieger
  • Beginndatum Beginndatum
L

Lumakrieger

Hi,

ich habe mal ein paar Fragen zu den callback functions in den OpenGL addons GLUT als auch in freeglut. Dazu mal ein Ausschnitt aus meiner main-function:

Code:
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
    glutInitWindowSize(screen_width,screen_height);
    glutInitWindowPosition(0,0);
    glutCreateWindow("titel!");
    glutDisplayFunc(display);
    glutIdleFunc(display);
    glutReshapeFunc (resize);
// Punkt 1:
    glutKeyboardFunc (keyboard);
    glutSpecialFunc (keyboard_s);
    init();
    glutMainLoop();

Wenn ich jetzt den A Knopf auf meiner Tastatur drücke, geht er dann direkt in die zuständige callback function oder geht er im Programm weiter bis er mal wieder bei Punkt 1 vorbei kommt und sagt dann der callback function bescheid: Hey, es wurd eben A gedrückt!

Desweiteren würde es mich mal interessieren, ob ich mit meiner Vermutung korrekt liege, dass in der keyboard callback function nicht auf globale Variablen zugegriffen werden kann. Weil wenn ich z.B. mit der F Taste meine globale Variable fullscreen auf 1 setze, dann scheint sie in der main function nicht auf 1 gesetzt zu bleiben, da sie sonst ja einen Wechsel in den Fullscreen Modus eingeleitet hätte. Und ich hab auch schon geguckt, dass es korrekt ablaufen würde, wäre sie denn auf 1. Ich doch, dass ich mit GLUT ein Programm schreiben kann, in dem Keyboard Eingaben des Nutzers auch größeren Einfluss haben können, als nur Standard OpenGL/GLUT Funktionen auszulösen :(

Da ich jetzt erst freeglut ausprobieren möchte, wäre es schön, wenn mir jemand hier auch gleich sagen könnte, ob es dort anders abläuft oder genauso komisch ist xD

Vielen Dank im Voraus!
 
Zurück