glFlush: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Kleinkram: Zeichensetzung, Verschreiber)
K (Kategorie GL3 hinzugefügt)
Zeile 36: Zeile 36:
 
[[Kategorie:GL|Flush]]
 
[[Kategorie:GL|Flush]]
 
[[Kategorie:GL1.0]]
 
[[Kategorie:GL1.0]]
 +
[[Kategorie:GL3]]

Version vom 15. Juni 2011, 21:16 Uhr

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 entleert 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 Programme 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 wird nicht 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