glFlush

Aus DGL Wiki
Version vom 6. August 2004, 20:26 Uhr von Sascha Willems (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

glFlush


Name


glFlush - Erzwingt die Ausführung aller anstehenden OpenGL-Befehle in einem endlichen Zeitraum.


Delphi-Spezifikation


procedure glFlush


Beschreibung


Je nach OpenGL-Implementation kann es vorkommen dass bestimmte Befehle in verschiedenen Bereichen gepuffert werden, z.B. in Netzwerkpuffern oder auf der Grafikkarte selbst. glFlush entleer alle diese Puffer und führt dazu, dass die dort zwischengelagerten Befehle so schnell wie möglich ausgeführt werden (abhängig davon wie schnell gerendert werden kann). Obwohl diese Ausführung nicht in einem vorgegebenen Zeitraum abgeschlossen werden kann, so geschieht dies jedoch in einer endlichen Zeitspanne..

Da jedes OpenGL-Programm über ein Netzwerk ausgeführt werden kann, oder auf einem Beschleuniger der Befehle puffert, sollten Programm dann glFlush aufrufen, wenn sie davon ausgehen dass alle vorher übergebenen Befehle auch ausgeführt sind. glFlush ruft man z.B. dann auf, wenn man auf Nutzereingaben wartet die vom fertigen Bild abhängig sind.


Hinweise


glFlush kann zu jedem Zeitpunkt zurückspringen. Es wir dnicht gewartet bis alle vorher aufgerufenen GL-Befehle beendet sind.


Fehlermeldungen


GL_INVALID_OPERATION wird generiert, wenn glFlush zwischen einem glBegin und dem passenden glEnd aufgerufen wird.


Siehe auch


glFinish