glGetString: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Kategoriserung, Update/Ergänzung, Wikisyntax für Tabelle)
K (Hinweise: WäHrend)
 
Zeile 54: Zeile 54:
  
 
== Hinweise ==
 
== Hinweise ==
Wenn ein Fehler wärend der Ausführung von '''glGetString''' auftritt, wird immer ein leerer String zurückgegeben.
+
Wenn ein Fehler während der Ausführung von '''glGetString''' auftritt, wird immer ein leerer String zurückgegeben.
  
 
Client und Server können unterschiedliche Versionen und Erweiterungen unterstützen, '''glGetString''' liefert aber immer eine für beide kompatible Versionsnummer und Erweiterungsliste zurück, wobei die Release-Nummer jedoch immer den Server beschreibt.
 
Client und Server können unterschiedliche Versionen und Erweiterungen unterstützen, '''glGetString''' liefert aber immer eine für beide kompatible Versionsnummer und Erweiterungsliste zurück, wobei die Release-Nummer jedoch immer den Server beschreibt.
  
 
'''GL_SHADING_LANGUAGE_VERSION''' ist nur verfügbar, wenn die OpenGL Version 2.0 oder größer ist.
 
'''GL_SHADING_LANGUAGE_VERSION''' ist nur verfügbar, wenn die OpenGL Version 2.0 oder größer ist.
 
 
  
 
== Fehlermeldungen ==
 
== Fehlermeldungen ==

Aktuelle Version vom 18. März 2012, 16:41 Uhr

glGetString

Name

glGetString - Gibt einen String zurück, der die aktuelle OpenGL-Anbindung beschreibt.


Delphi-Spezifikation

function glGetString(name : TGLenum) : PChar; 



Parameter

name Symbolische Konstante, die entweder GL_VENDOR, GL_RENDERER, GL_VERSION, GL_SHADING_LANGUAGE_VERSION oder GL_EXTENSIONS ist.


Beschreibung

glGetString gibt einen String zurück, der einen Aspekt der aktuellen OpenGL-Anbindung beschreibt, wobei für name folgende symbolische Konstanten gültig sind:

  • GL_VENDOR
Gibt den Namen des Herstellers, von dem die GL-Implementation stammt, zurück. Dieser bleibt von Version zu Version gleich.
  • GL_RENDERER
Gibt den Namen des Renderers zurück, der im Normalfall die Hardwareplattform genauer beschreibt, und auch für jede Version gleich ist.
  • GL_VERSION
Gibt die Versionsnummer der GL-Implementation zurück.
  • GL_EXTENSIONS
Gibt eine (durch Leerzeichen getrennte) Liste aller unterstützten OpenGL-Erweiterungen zurück.
  • GL_SHADING_LANGUAGE_VERSION
Gibt zurück, welche Version der OpenGL Shading Language unterstützt wird.

Da OpenGL keine Abfragen für etwaige Performancecharacteristika einer Implementation bietet, werden einige Anwendung so entwickelt, dass sie bestimmte Plattformen erkennen und ihre GL-Nutzung daher an selbige anpassen. Dazu kann man die unter Übergabe von GL_VENDOR und GL_RENDERER zurückgegebenen Strings benutzen, um eine solche Plattform eindeutig zu identifizieren (da diese nicht von Version zu Version unterschiedlich sind).

Andere Anwendungen hingegen wollen evtl. Funktionen nutzen, die nicht Bestandteil des GL-Kerns ("Core-Funktionen") sind. Diese Extensions können mit GL_EXTENSIONS abgefragt werden, und werden dann als eine durch Leerzeichen getrennte Liste zurückgegeben.

Die mit GL_VERSION und GL_SHADING_LANGUAGE_VERSION zurückgelieferten Strings beginnen immer mit einer Versionsnummer, die folgendermaßen aussieht:

Haupt_Version.Neben_Version

oder

Haupt_Version.Neben_Version.Release_Version

Danach können noch herstellerspezifische Informationen folgen, die je nach Implementation unterschiedlich sind. Allerdings werden diese immer durch ein Leerzeichen von der Versionsnummer abgetrennt.


Hinweise

Wenn ein Fehler während der Ausführung von glGetString auftritt, wird immer ein leerer String zurückgegeben.

Client und Server können unterschiedliche Versionen und Erweiterungen unterstützen, glGetString liefert aber immer eine für beide kompatible Versionsnummer und Erweiterungsliste zurück, wobei die Release-Nummer jedoch immer den Server beschreibt.

GL_SHADING_LANGUAGE_VERSION ist nur verfügbar, wenn die OpenGL Version 2.0 oder größer ist.

Fehlermeldungen

GL_INVALID_ENUM wird generiert, wenn name kein gültiger Wert ist.

GL_INVALID_OPERATION wird generiert, wenn glGetString zwischen einem glBegin und einem glEnd aufgerufen wird.