glArrayElement: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
()
K (Beschreibung)
Zeile 22: Zeile 22:
 
Der glArrayElement Befehl wird zweischen glBegin/glEnd Paaren aufgerufen um Positionen und Eigenschaften von Polygonen, Linien und Polygon Primitiven zu übergeben. Ist GL_VERTEX_ARRAY aktiviert wärend glArrayElement aufgerufen wird, dann wird ein Punkt mit den Positionsdaten der Stelle ''i'' des Vertex Arrays gezeichet. Welche Eigenschaften dieser Punkt hat, kann noch durch andere aktive Arrays festgelegt werden, wie etwa GL_COLOR_ARRAY(Siehe [[GlDisableClientState|GlDisableClientState/GlEnableClientState]]).
 
Der glArrayElement Befehl wird zweischen glBegin/glEnd Paaren aufgerufen um Positionen und Eigenschaften von Polygonen, Linien und Polygon Primitiven zu übergeben. Ist GL_VERTEX_ARRAY aktiviert wärend glArrayElement aufgerufen wird, dann wird ein Punkt mit den Positionsdaten der Stelle ''i'' des Vertex Arrays gezeichet. Welche Eigenschaften dieser Punkt hat, kann noch durch andere aktive Arrays festgelegt werden, wie etwa GL_COLOR_ARRAY(Siehe [[GlDisableClientState|GlDisableClientState/GlEnableClientState]]).
 
Ist GL_VERTEX_ARRAY nicht aktiv, wird zwar kein Punkt gezeichnet, allerdings können andere aktive Arrays ihre entsprechenden Attribute verändern.
 
Ist GL_VERTEX_ARRAY nicht aktiv, wird zwar kein Punkt gezeichnet, allerdings können andere aktive Arrays ihre entsprechenden Attribute verändern.
 
  
 
Falls die Eckpunke so im Array angeordnet sind wie man sie auch rendern möchte so lohnt sicher der Einsatzt von glArrayElement nicht. Statt dessen sollte der Befehl [[glDrawArray]] verwendet werden. glArrayElement sollte man dann nutzen wenn man gleich alle Daten/Eigenschaften eines Eckpunktes übergeben möchte, und obriger Fall nicht vor liegt.
 
Falls die Eckpunke so im Array angeordnet sind wie man sie auch rendern möchte so lohnt sicher der Einsatzt von glArrayElement nicht. Statt dessen sollte der Befehl [[glDrawArray]] verwendet werden. glArrayElement sollte man dann nutzen wenn man gleich alle Daten/Eigenschaften eines Eckpunktes übergeben möchte, und obriger Fall nicht vor liegt.

Version vom 18. Januar 2005, 19:37 Uhr

Hinweis: Dieser Artikel ist noch unvollständig.
(Mehr Informationen/weitere Artikel)

{{{1}}}

Incomplete.jpg

glArrayElement


Name

glArrayElement - rendert ein Vertex mithilfe des angegebenen Vertexfeldelements (vertex array element).

Delphi-Spezifikation

procedure glArrayElement(i: TGLint);


Parameter

i Spezifiziert einen Index bezüglich der aktivierten Vertexdatenfelder (Vertex Data Arrays).


Beschreibung

Der glArrayElement Befehl wird zweischen glBegin/glEnd Paaren aufgerufen um Positionen und Eigenschaften von Polygonen, Linien und Polygon Primitiven zu übergeben. Ist GL_VERTEX_ARRAY aktiviert wärend glArrayElement aufgerufen wird, dann wird ein Punkt mit den Positionsdaten der Stelle i des Vertex Arrays gezeichet. Welche Eigenschaften dieser Punkt hat, kann noch durch andere aktive Arrays festgelegt werden, wie etwa GL_COLOR_ARRAY(Siehe GlDisableClientState/GlEnableClientState). Ist GL_VERTEX_ARRAY nicht aktiv, wird zwar kein Punkt gezeichnet, allerdings können andere aktive Arrays ihre entsprechenden Attribute verändern.

Falls die Eckpunke so im Array angeordnet sind wie man sie auch rendern möchte so lohnt sicher der Einsatzt von glArrayElement nicht. Statt dessen sollte der Befehl glDrawArray verwendet werden. glArrayElement sollte man dann nutzen wenn man gleich alle Daten/Eigenschaften eines Eckpunktes übergeben möchte, und obriger Fall nicht vor liegt.

Veränderungen am Inhalt eines Feldes die innerhalb eines glBegin-glEnd Blocks gemacht werden, können Aufrufe von glArrayElement in nicht sequenzieller Weise beeinflussen, die im selben Block gemacht werden. Das bedeutet, dass ein Aufruf von glArrayElement der vor einer Änderung gerufen wird bereits die neuen Daten nutzt, wärend der nachfolgende Aufruf noch auf die originalen Daten zugreift.


Hinweise

glArrayElement ist erst ab OpenGL Version 1.1 or später verfügbar.

glArrayElement wird von Displaylisten aufgenommen. Wenn glArrayElement in eine Displayliste geschrieben wird, werden auch die notwendigen Feldwerte (angegeben durch den Feldzeiger und die Aktivierungen) in die Displayliste eingetragen. Da die Feldzeiger und Aktivierungen auf der Clientseite liegen, beeinflussen ihre Werte die Displayliste wenn diese erstellt wird, nicht aber wenn diese ausgeführt wird.


Siehe auch

glColorPointer, glDrawArrays, glEdgeFlagPointer, glGetPointerv, glIndexPointer, glInterleavedArrays, glNormalPointer, glTexCoordPointer, glVertexPointer