glGetString: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(Beschreibung)
K (Beschreibung)
Zeile 23: Zeile 23:
 
'''glGetString''' gibt einen String zurück, der einen Aspekt der aktuellen OpenGL-Anbindung beschreibt, wobei für ''name'' folgende symbolische Konstanten gültig sind :
 
'''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'''
+
*'''GL_VENDOR'''
Gibt den Namen des Herstellers, von dem die GL-Implementation stammt, zurück. Dieser bleibt von Version zu Version gleich.
+
:Gibt den Namen des Herstellers, von dem die GL-Implementation stammt, zurück. Dieser bleibt von Version zu Version gleich.
  
'''GL_RENDERER'''
+
*'''GL_RENDERER'''
Gibt den Namen des Renderers zurück, der im Normalfall die Hardwareplattform genauer beschreibt, und auch für jede Version gleich ist.
+
:Gibt den Namen des Renderers zurück, der im Normalfall die Hardwareplattform genauer beschreibt, und auch für jede Version gleich ist.
  
'''GL_VERSION'''
+
*'''GL_VERSION'''
Gibt die Versionsnummer der GL-Implementation zurück.
+
:Gibt die Versionsnummer der GL-Implementation zurück.
  
'''GL_EXTENSIONS'''
+
*'''GL_EXTENSIONS'''
Gibt eine (durch Leerzeichen getrennte) Liste aller unterstützten OpenGL-Erweiterungen zurück.
+
:Gibt eine (durch Leerzeichen getrennte) Liste aller unterstützten OpenGL-Erweiterungen zurück.
  
 
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).
 
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).
Zeile 40: Zeile 40:
  
 
Der mit '''GL_VERSION''' zurückgelieferte String beginnt immer mit einer Versionsnummer, die folgendermaßen aussieht :
 
Der mit '''GL_VERSION''' zurückgelieferte String beginnt immer mit einer Versionsnummer, die folgendermaßen aussieht :
Haupt_Version.Neben_Version  
+
:Haupt_Version.Neben_Version  
 
oder  
 
oder  
Haupt_Version.Neben_Version.Release_Version
+
: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.
 
Danach können noch herstellerspezifische Informationen folgen, die je nach Implementation unterschiedlich sind. Allerdings werden diese immer durch ein Leerzeichen von der Versionsnummer abgetrennt.

Version vom 28. September 2005, 20:15 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, 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.

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.

Der mit GL_VERSION zurückgelieferte String beginnt 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 anfällt, dann 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.


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.