glGetString: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(Fehlermeldungen)
K (Kategoriserung, Update/Ergänzung, Wikisyntax für Tabelle)
Zeile 15: Zeile 15:
  
 
== Parameter ==
 
== Parameter ==
<table border=1 rules=all>
+
{| border="1" rules="all"
<tr>
+
! ''name''
<td>''name''</td>
+
| Symbolische Konstante, die entweder '''GL_VENDOR''', '''GL_RENDERER''', '''GL_VERSION''', '''GL_SHADING_LANGUAGE_VERSION''' oder '''GL_EXTENSIONS''' ist.
<td>Symbolische Konstante, die entweder '''GL_VENDOR''', '''GL_RENDERER''', '''GL_VERSION''', oder '''GL_EXTENSIONS''' ist.</td>
+
|}
</tr>
 
</table>
 
  
  
  
 
== Beschreibung ==  
 
== 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 :
+
'''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'''
Zeile 39: Zeile 37:
 
: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.
  
*'''GL_SHADING_LANGUAGE_VERSION_ARB (ab OpenGL 1.5)'''
+
*'''GL_SHADING_LANGUAGE_VERSION'''
:Gibt zurück, welche OpenGL Shading Language unterstützt wird.
+
: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).
+
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.
 
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 :
+
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  
 
:Haupt_Version.Neben_Version  
 
oder  
 
oder  
Zeile 52: Zeile 50:
  
 
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.
 +
 +
  
 
== Hinweise ==
 
== Hinweise ==
Zeile 58: Zeile 58:
 
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.
  
  
Zeile 68: Zeile 69:
  
 
[[Kategorie:GL|GetString]]
 
[[Kategorie:GL|GetString]]
[[Kategorie:GL1.0]]
+
[[Kategorie:GL1.0|GetString]]

Version vom 25. Juli 2011, 09:38 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ärend 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.