glBindAttribLocation: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
 
(Beschreibung)
Zeile 32: Zeile 32:
 
Wenn sich ''name'' auf eine Matrix-Attribut-Variable bezieht, bezieht sich ''index'' auf die erste Spalte der Matrix. Die anderen Spalten werden dann automatisch an die Positionen ''index''+1 (für mat2), ''index''+1 und ''index''+2 (für mat3) und ''index''+1, ''index''+2 und ''index''+3 (für mat4) gebunden.<br>
 
Wenn sich ''name'' auf eine Matrix-Attribut-Variable bezieht, bezieht sich ''index'' auf die erste Spalte der Matrix. Die anderen Spalten werden dann automatisch an die Positionen ''index''+1 (für mat2), ''index''+1 und ''index''+2 (für mat3) und ''index''+1, ''index''+2 und ''index''+3 (für mat4) gebunden.<br>
 
<br>
 
<br>
Dieser Befehl macht es möglich, dass Vertexshader anschauliche Namen für Attribut-Variablen anstatt generischer Namen, nummeriert von 0 bis '''GL_MAX_VERTEX_ATTRIBS''' - 1. Die Werte, die an jeden generischen Attribut-Index gesendet werden, sind Teil das aktuellen Zustands, genauso wie Standard-Vertex-Attribute wie Farbe, Normale und Vertex-Position.
+
Dieser Befehl macht es möglich, dass Vertexshader anschauliche Namen für Attribut-Variablen anstatt generischer Namen, nummeriert von 0 bis '''GL_MAX_VERTEX_ATTRIBS''' - 1. Die Werte, die an jeden generischen Attribut-Index gesendet werden, sind Teil das aktuellen Zustands, genauso wie Standard-Vertex-Attribute wie Farbe, Normale und Vertex-Position. Wird ein anderes Shaderprogramm-Objekt  durch den Aufruf von [[glUseProgramObjectARB]] aktuell, wird das ganze so gedeichselt (sorry, der musste sein *zwinker*), dass der Wert des generischen Vertex-Attributs '''i''' im neuen Shaderprogramm-Objekt der gleiche ist wie der Wert des generischen Vertex-Attributs '''i''' im alten Shaderprogramm-Objekt.<br>
 +
<br>
 +
Attribut-Verknüpfungen treten solange nicht in Effekt, bis [[glLinkProgramARB]] aufgerufen wird. Sobald ein Shaderprogramm-Objekt erfolgreich gelinkt worden, bleiben die Index-Werte für Attribut-Variablen bis zum nächsten Link-Auruf gleich.<br>
 +
<br>
 +
Es ist nicht erlaubt, irgendeinen der Standard-OpenGL-Vertexattribute mit Hilfe dieser Funktion zu verknüfen, da sie automatisch bei Bedarf verknüpft werden.
 +
<br>
  
If a different program object is made current by calling glUseProgramObjectARB, the generic vertex attributes are tracked in such a way that the value of generic vertex attribute i in the new program object will be the same as the value of generic vertex attribute i in the previous program object.
 
 
Attribute variable name-to-generic attribute index bindings can be specified at any time by calling glBindAttribLocationARB . Attribute bindings do not go into effect until glLinkProgramARB is called. Once a program object has been linked successfully, the index values for attribute variables remain fixed (and their values can be queried) until the next link command occurs.
 
 
Applications are not allowed to bind any of the standard OpenGL vertex attributes using this command, as they are bound automatically when needed. Any attribute binding that occurs after the program object has been linked will not take effect until the next time the program object is linked.
 
 
<br>
 
 
== Hinweise ==
 
== Hinweise ==
 
Bitte beachten dass...
 
Bitte beachten dass...

Version vom 27. August 2005, 20:10 Uhr

glBindAttribLocationARB


Name

glBindAttribLocationARB - Verbindet ein generisches Vertex-Attribut mit einer Attribut-Variable.


Delphi-Spezifikation

procedure glBindAttribLocationARB(program : GLhandleARB; index : GLuint; const name : ^GLcharARB)


Parameter

program Gibt das Handle des Shader-Programm-Objekts an, in dem das verbinden des generischen Vertex-Attributs mit der Attribut-Variable vollzogen werden soll.
index Gibt den Index des generischen Vertex-Attributes an, das gebunden werden soll.
name Gibt einen unterminierten String an, der den Namen der Vertexshader-Attribut-Variable enthält, an die

index gebunden werden soll.


Beschreibung

glBindAttribLocationARB wird verwendet um einen generischen Vertexshader-Attribut-Index mit einer Vertexshader-Attribut-Variable zu verknüpfen. Der Name der Vertexshader-Attribut-Variable wird als ein unterminierter String in name übergeben. Das generische Vertex-Attribut, das an diese Variable gebunden werden soll, wird mit index spezifiziert. Wenn der/die auszuführende(n) Shader, auf die program zeigt, Teil des akteuellen Status werden, verändern die Werte, die durch den generischen Vertex-Attribut-Index übergeben werden, den Wert der durch name spezifizierten Vertexshader-Attribut-Variable.

Wenn sich name auf eine Matrix-Attribut-Variable bezieht, bezieht sich index auf die erste Spalte der Matrix. Die anderen Spalten werden dann automatisch an die Positionen index+1 (für mat2), index+1 und index+2 (für mat3) und index+1, index+2 und index+3 (für mat4) gebunden.

Dieser Befehl macht es möglich, dass Vertexshader anschauliche Namen für Attribut-Variablen anstatt generischer Namen, nummeriert von 0 bis GL_MAX_VERTEX_ATTRIBS - 1. Die Werte, die an jeden generischen Attribut-Index gesendet werden, sind Teil das aktuellen Zustands, genauso wie Standard-Vertex-Attribute wie Farbe, Normale und Vertex-Position. Wird ein anderes Shaderprogramm-Objekt durch den Aufruf von glUseProgramObjectARB aktuell, wird das ganze so gedeichselt (sorry, der musste sein *zwinker*), dass der Wert des generischen Vertex-Attributs i im neuen Shaderprogramm-Objekt der gleiche ist wie der Wert des generischen Vertex-Attributs i im alten Shaderprogramm-Objekt.

Attribut-Verknüpfungen treten solange nicht in Effekt, bis glLinkProgramARB aufgerufen wird. Sobald ein Shaderprogramm-Objekt erfolgreich gelinkt worden, bleiben die Index-Werte für Attribut-Variablen bis zum nächsten Link-Auruf gleich.

Es ist nicht erlaubt, irgendeinen der Standard-OpenGL-Vertexattribute mit Hilfe dieser Funktion zu verknüfen, da sie automatisch bei Bedarf verknüpft werden.

Hinweise

Bitte beachten dass...


Fehlermeldungen

GL_FEHLER wird generiert wenn....
GL_INVALID_OPERATION wird generiert wenn FUNCTIONNAME innerhalb eines glBegin-glEnd Blocks aufgerufen wird.


Zugehörige Wertrückgaben

glGet mit Token GL_MEIN_TOKEN


Siehe auch

Hier eine Liste (als Medialinks) von Befehlen die diesem ähnlich sind. Bitte alle Begriffe hintereinander und mit einem Komma voneinander trennen.

Zum Abschluss noch an diese Stelle den Artikel einer Kategorie zuordnen. z.B.
[[Kategorie:GL|FuncNameOhneGLamAnfang]]


Um diese Vorlage direkt zu nutzen, bitte diese Seite bearbeiten und die Vorlage direkt rauskopieren!