glGetQueryObject

Aus DGL Wiki
Version vom 27. Juni 2006, 09:20 Uhr von Dj3hut1 (Diskussion | Beiträge)

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

glGetQueryObject

Name

glGetQueryObject - Fragt den Zustand eines Occlusion Query-Objektes ab.


Delphi-Spezifikation

procedure glGetQueryObjectiv(id: GLuint; pname: GLenum; params: PGLint);
procedure glGetQueryObjectuiv(id: GLuint; pname: GLenum; params: PGLuint);

Parameter

id Id des abzufragenden Query-Objektes.
pname Parametername, der abgefragt werden soll.
Mögliche Werte sind GL_QUERY_RESULT und GL_QUERY_RESULT_AVAILABLE.
params Enthält die angeforderten Daten bezüglich der Eigenschaft pname.


Beschreibung

glGetQueryObject liefert über params Werte der Eigenschaft pname des Query-Objektes mit der Id id zurück.
Zwei verschiedene Eigenschaften können abgefragt werden:

GL_QUERY_RESULT

params liefert das Ergebnis eines Query-Objektes, also den Wert des Sample-Zählers (siehe glBeginQuery).
Falls GL_QUERY_COUNTER_BITS auf 0 gesetzt ist, wird immer 0 zurückgeliefert.

GL_QUERY_RESULT_AVAILABLE

params liefert GL_TRUE, falls das Ergebnis für ein Query-Objekt vorliegt, ansonsten GL_FALSE.

Es kann zu einer unbestimmten Verzögerung kommen, bevor das Ergebnis einer Occlusion-Query vorliegt.
Daher ist es sinnvoll, vor der Abfrage eines Occlusion-Query-Objektes zu prüfen, ob GL_QUERY_RESULT_AVAILABLE den Wert GL_TRUE zurückliefert.


Hinweise

glGetQueryObject ist erst ab OpenGL 1.5 oder höher verfügbar.

Für jede Occlusion-Query muss nach endlicher Zeit ein Query-Ergebnis vorliegen.

Ist für eine Query ein Ergebnis verfügbar, so muss für jede Occlusion-Query, die vor dieser mit glBeginQuery/glEndQuery definiert wurde, GL_QUERY_RESULT_AVAILABLE gleich GL_TRUE sein.

Fehlermeldungen

GL_INVALID_OPERATION
id ist keine zulässige Id eines Query-Objektes oder das abzufragende Query-Objekt ist noch aktiv (ein Query-Objekt ist aktiv, wenn es mit glBeginQuery gestartet, aber noch nicht mit glEndQuery abgeschlossen wurde).

Zugehörige Wertrückgaben

glGetQuery mit Token GL_CURRENT_QUERY gibt die momentan aktive Query-ID zurück.
glGetQuery mit Token GL_QUERY_COUNTER_BITS gibt die Anzahl der Bits des Occlusion-Query-Zählers zurück.

Siehe auch

glBeginQuery, glDeleteQueries, glEndQuery, glGenQueries, glGetQuery, glIsQuery