glVertexAttribPointer: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(erster Teil übersetzt)
 
(So weit vervollstaendigt das er nicht mehr als Unvollstaendig gelten sollte.)
Zeile 1: Zeile 1:
 
= glVertexAttribPointer =
 
= glVertexAttribPointer =
 
{{Unvollständig}}
 
 
  
 
== Name ==
 
== Name ==
Zeile 37: Zeile 34:
  
 
== Beschreibung ==  
 
== Beschreibung ==  
Detaillierte Beschreibung des Befehls
+
'''glVertexAttribPointer''' legt fest wo sich ein genersicher Array von Vertex Attributen befindet und wie dieser aufgebaut ist.
Haltet euch bitte an die orginalspezifiation.  
 
Eigenes Wissen kann dann ergänzt werden.
 
Keine Infos weglassen!
 
  
<br>
 
  
 
== Hinweise ==
 
== Hinweise ==
Bitte beachten dass...
 
  
 +
'''glVertexAttribPointer''' ist erst ab OpenGL Version 2.0 oder später verfügbar.
 +
 +
Bitte beachten sie das der Array erst aktiviert werden muss, bevor er von [[glDrawArrays]], [[glDrawElements]], [[glDrawRangeElements]], [[glArrayElement]],[[glMultiDrawElements]], oder [[glMultiDrawArrays]] benutzt werden kann.
  
 +
'''glVertexAttribPointer''' darf nicht zwischen [[glBegin]] und [[glEnd]] ausgeführt werden. Wird dies denoch gemacht, kann es sein das ein Fehler generiert wird. Es kann aber auch sein das kein Fehler generiert wird und der Zustand der Operation undefiniert ist.
  
== Änderungen ==
+
'''glVertexAttribPointer''' ist üblicherweise auf der Client Seite implementiert.
Folgende Erweiterungen hat die Funktion erfahren:
 
=== Ab OpenGL-Version X.X ===
 
  
hier eine Beschreibung der neuen Konstanten, funktionalitäten etc. Dabei Links auf eventuell neue verwandte Funktionen
+
Die Parameter des generischen Vertex Attribut Arrays werden auf der Client Seite gespeichert, und können daher nicht mit [[glPushAttrib]] und [[glPopAttrib]] gespeichert und wiederhergestellt werden. Statt dessen verwendet man [[glPushClientAttrib]] und [[glPopClientAttrib]].
  
  
  
 
== Fehlermeldungen ==
 
== Fehlermeldungen ==
'''GL_FEHLER''' wird generiert wenn....<br>
+
'''GL_INVALID_VALUE''' wird generiert, wenn ''index'' größer oder gleich GL_MAX_VERTEX_ATTRIBS ist.
'''GL_INVALID_OPERATION''' wird generiert wenn FUNCTIONNAME innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen wird.  
+
'''GL_INVALID_VALUE''' wird generiert, wenn ''size'' nicht 1, 2, 3, oder 4 ist.
 
+
'''GL_INVALID_VALUE''' wird generiert, wenn ''stride'' negativ ist.
 
+
'''GL_INVALID_ENUM''' wird generiert, wenn ''type'' kein akzeptierter Wert ist.
  
 
== Zugehörige Wertrückgaben ==
 
== Zugehörige Wertrückgaben ==
[[glGet]] mit Token [[glGet#GL_MEIN_TOKEN|GL_MEIN_TOKEN]]
+
* [[glGet]] mit Token [[glGet#GL_MAX_VERTEX_ATTRIBS|GL_MAX_VERTEX_ATTRIBS]]
Der Rückgabewert der Funktion gehört in den Abschnitt "Beschreibung".
+
* [[glGetVertexAttrib]] mit dem Argument index und dem Namen des Vertex Attribut Parameters.
 
+
* [[glGetVertexAttribPointer]] mit dem Argutmenten index und GL_VERTEX_ATTRIB_ARRAY_POINTER
  
  
 
== Siehe auch ==
 
== Siehe auch ==
Hier eine Liste (als Medialinks) von Befehlen die diesem ähnlich sind. Bitte alle Begriffe hintereinander und mit einem Komma voneinander trennen.
+
[[glArrayElement]], [[glBindAttribLocation]], [[glDisableVertexAttribArray]], [[glDrawArrays]], [[glDrawElements]], [[glDrawRangeElements]], [[glEnableVertexAttribArray]], [[glMultiDrawArrays]], [[glMultiDrawElements]], [[glPopClientAttrib]], [[glPushClientAttrib]], [[glVertexAttrib]]
 
 
Zum Abschluss noch an diese Stelle den Artikel einer Kategorie zuordnen. z.B.<br>
 
'''<nowiki>[[Kategorie:GL|FuncNameOhneGLamAnfang]]</nowiki>'''
 
  
----
+
[[Kategorie:GL|VertexAttribPointer]]
Um diese Vorlage direkt zu nutzen, bitte diese Seite bearbeiten und die Vorlage direkt rauskopieren!
 

Version vom 3. Juni 2007, 15:30 Uhr

glVertexAttribPointer

Name

glVertexAttribPointer - Definiert ein generisches Vertexattribut-Array


Delphi-Spezifikation

procedure glVertexAttribPointer(index : GLuint; size : GLint; type : GLenum; 
normalized : GLboolean; stride : GLsizei; const pointer : PGLvoid)


Parameter

index Gibt den Index des zu verändernden generischen Vertexattributs an.
size Gibt die Anzahl der Werte für jedes Element des generischen Vertexattribut-Arrays an. Muss 1, 2, 3 oder 4 sein.
type Gibt den Datentyp der Komponenten im Array an. Die symbolischen Konstanten GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT und GL_DOUBLE sind zugelassen.
normalized Gibt an, ob Festkomma-Werte normalisiert werden sollen (GL_TRUE) oder direkt als Festkomma-Werte konvertiert werden sollen (GL_FALSE), wenn auf sie zugegriffen wird.
stride Gibt den Byte-Offset zwischen aufeinanderfolgenden Attribut-Werten an. Wenn stride gleich 0 (der Standard-Wert) ist, werden die Attributvariablen als direkt aufeinanderfolgend im Array angenommen.
pointer Ein Pointer zu der ersten Komponente des ersten Attribut-Werts im Array.


Beschreibung

glVertexAttribPointer legt fest wo sich ein genersicher Array von Vertex Attributen befindet und wie dieser aufgebaut ist.


Hinweise

glVertexAttribPointer ist erst ab OpenGL Version 2.0 oder später verfügbar.

Bitte beachten sie das der Array erst aktiviert werden muss, bevor er von glDrawArrays, glDrawElements, glDrawRangeElements, glArrayElement,glMultiDrawElements, oder glMultiDrawArrays benutzt werden kann.

glVertexAttribPointer darf nicht zwischen glBegin und glEnd ausgeführt werden. Wird dies denoch gemacht, kann es sein das ein Fehler generiert wird. Es kann aber auch sein das kein Fehler generiert wird und der Zustand der Operation undefiniert ist.

glVertexAttribPointer ist üblicherweise auf der Client Seite implementiert.

Die Parameter des generischen Vertex Attribut Arrays werden auf der Client Seite gespeichert, und können daher nicht mit glPushAttrib und glPopAttrib gespeichert und wiederhergestellt werden. Statt dessen verwendet man glPushClientAttrib und glPopClientAttrib.


Fehlermeldungen

GL_INVALID_VALUE wird generiert, wenn index größer oder gleich GL_MAX_VERTEX_ATTRIBS ist. GL_INVALID_VALUE wird generiert, wenn size nicht 1, 2, 3, oder 4 ist. GL_INVALID_VALUE wird generiert, wenn stride negativ ist. GL_INVALID_ENUM wird generiert, wenn type kein akzeptierter Wert ist.

Zugehörige Wertrückgaben


Siehe auch

glArrayElement, glBindAttribLocation, glDisableVertexAttribArray, glDrawArrays, glDrawElements, glDrawRangeElements, glEnableVertexAttribArray, glMultiDrawArrays, glMultiDrawElements, glPopClientAttrib, glPushClientAttrib, glVertexAttrib