glInterleavedArrays: Unterschied zwischen den Versionen
Flo (Diskussion | Beiträge) K (→Delphi-Spezifikation) |
Flo (Diskussion | Beiträge) K (→Beschreibung) |
||
Zeile 28: | Zeile 28: | ||
'''glInterleavedArrays''' konfuriert und aktiviert individuelle Farben, Normalen, Textur und Vertex Arrays, wessen Elemente teil eines größeren Array Elementes sind. Bei manchen Implementationen ist diese effizienter als mehre kleine Arrays zu haben. | '''glInterleavedArrays''' konfuriert und aktiviert individuelle Farben, Normalen, Textur und Vertex Arrays, wessen Elemente teil eines größeren Array Elementes sind. Bei manchen Implementationen ist diese effizienter als mehre kleine Arrays zu haben. | ||
− | Wenn ''stride'' 0 ist, werden die gesammten Elemente hintereinander abgelegt. Andernfalls gibt es Schritt Bytes (stride bytes) die zwichen den Anfang des einen kompletten Array Elementes liegen und zwischen den Anfang des nächsten kompletten Array Elementes. ''(Müsste sich das nicht eigentlich | + | Wenn ''stride'' 0 ist, werden die gesammten Elemente hintereinander abgelegt. Andernfalls gibt es Schritt Bytes (stride bytes) die zwichen den Anfang des einen kompletten Array Elementes liegen und zwischen den Anfang des nächsten kompletten Array Elementes. ''(Müsste sich das nicht eigentlich auf das Ende beziehen??)'' |
''format'' funktioniert als ein Schlüssel welcher die Extraktion der einzelen Arrays aus dem großen gesammten Array regelt. Falls ''format'' ein '''T''' beinhaltet, werden Texturkoordinaten von dem beinhalteten Array extrahiert. Falls ein '''C''' vorhanden ist, werden Farb werte extrahiert. Falls ein N vorhanden ist werden Normalenkoordinaten extrahiert. Vertexkoordinaten werden immer extrahiert. | ''format'' funktioniert als ein Schlüssel welcher die Extraktion der einzelen Arrays aus dem großen gesammten Array regelt. Falls ''format'' ein '''T''' beinhaltet, werden Texturkoordinaten von dem beinhalteten Array extrahiert. Falls ein '''C''' vorhanden ist, werden Farb werte extrahiert. Falls ein N vorhanden ist werden Normalenkoordinaten extrahiert. Vertexkoordinaten werden immer extrahiert. | ||
Zeile 35: | Zeile 35: | ||
<br> | <br> | ||
+ | |||
== Hinweise == | == Hinweise == | ||
'''glInterleavedArrays''' ist erst ab der OpenGL Version 1.1 verfügbar. | '''glInterleavedArrays''' ist erst ab der OpenGL Version 1.1 verfügbar. |
Version vom 22. Juni 2005, 17:56 Uhr
Inhaltsverzeichnis
glInterleavedArrays
Name
glInterleavedArrays - aktivert und konfiguriert gleichzeitig eingegliederte Arrays
Delphi-Spezifikation
procedure glInterleavedArrays(format: TGLenum; stride: TGLsizei; const _pointer: PGLvoid);
Parameter
format | Gibt den Typ des Arrays an der aktiviert werden soll. Folgende Konstanten werden akzeptiert: GL_V2F, GL_V3F, GL_C4UB_V2F, GL_C4UB_V3F, GL_C3F_V3F, GL_N3F_V3F, GL_C4F_N3F_V3F, GL_T2F_V3F, GL_T4F_V4F, GL_T2F_C4UB_V3F, GL_T2F_C3F_V3F, GL_T2F_N3F_V3F, GL_T2F_C4F_N3F_V3F und GL_T4F_C4F_N3F_V4F. |
---|---|
stride | Legt den Abstand in Bytes zwischen jeden ganzen Array Element fest. |
Beschreibung
glInterleavedArrays konfuriert und aktiviert individuelle Farben, Normalen, Textur und Vertex Arrays, wessen Elemente teil eines größeren Array Elementes sind. Bei manchen Implementationen ist diese effizienter als mehre kleine Arrays zu haben.
Wenn stride 0 ist, werden die gesammten Elemente hintereinander abgelegt. Andernfalls gibt es Schritt Bytes (stride bytes) die zwichen den Anfang des einen kompletten Array Elementes liegen und zwischen den Anfang des nächsten kompletten Array Elementes. (Müsste sich das nicht eigentlich auf das Ende beziehen??)
format funktioniert als ein Schlüssel welcher die Extraktion der einzelen Arrays aus dem großen gesammten Array regelt. Falls format ein T beinhaltet, werden Texturkoordinaten von dem beinhalteten Array extrahiert. Falls ein C vorhanden ist, werden Farb werte extrahiert. Falls ein N vorhanden ist werden Normalenkoordinaten extrahiert. Vertexkoordinaten werden immer extrahiert.
Die Ziffern 2, 3 und 4 geben an wieviel WErte extrahiert werden. F bedeutet das die Werte als Gleitkommer Werte extrahiert werden. Falls eine Farbe als 4 vorzeichenlose Bytes extrahiert wird, dann befindet sich das darauf folgende Array Element an der ersten möglichen gleitkomma Adresse.
Hinweise
glInterleavedArrays ist erst ab der OpenGL Version 1.1 verfügbar.
Wird glInterleavedArrays wärend dem Kompilervorgang einer Displayliste aufgerufen, dann wird es nicht in die Liste kompilert sondern sofort ausgeführt.
Die ausführung von glInterleavedArrays zwischen glBegin und dem dazugehörigen glEnd ist nicht erlaubt. Jedoch wird eventuell kein Fehler generiert. Falls kein Fehler geniert wird, ist der Ausgang der operation nicht definiert.
glInterleavedArrays wird normalerweise auf Clientseite implementiert.
Vertex Array Parameter sind Zustände der Clientseite und werden daher nicht mit glPushAttrib gespeichert oder mit glPopAttrib geladen. Statt dessen kann glPushClientAttrib und glPopClientAttrib dafür verwendet werden.
Fehlermeldungen
GL_INVALID_ENUM wird generiert wenn format nicht akzeptiert wird
GL_INVALID_VALUE wird generiert wenn stride negativ ist
Siehe auch
glArrayElement, glColorPointer, glDrawArrays, glDrawElements, glEdgeFlagPointer, glEnableClientState, glGetPointerv, glIndexPointer, glNormalPointer, glTexCoordPointer, glVertexPointer