30.11.2012 Aufrufe

CG1-01-15.pdf

CG1-01-15.pdf

CG1-01-15.pdf

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

44<br />

Vertex Arrays<br />

Vertex Array: effiziente Verwaltung von Vertex-Daten in mehrdimensionalen Feldern<br />

Prinzip: Prinzip: - 1. Möglichkeit: Organisation von von Parameterdaten unabhängig unabhängig von von OpenGL OpenGL<br />

und Nutzung dieser in OpenGL-Operationen<br />

- 2. Möglichkeit: Nutzung spezieller OpenGL-Operationen<br />

Operationen:<br />

Operationen:<br />

glEnableClientState(array) - Zulassen eines Arraytyps (GL_VERTEX_ARRAY;<br />

für VERTEX auch COLOR, INDEX, NORMAL, TEXTURE_COORD, EDGE_FLAG)<br />

glDisableClientState(array) - Nichtzulassen eines Arraytyps<br />

glVertexPointer(size,type,stride,pointer) l i i i i - DDefinition fi i i eines i Arrays A mit i Punkten P k<br />

glArrayElement(index) - Verwendung eines einzelnen Arrayelements<br />

glDrawArrays(mode,first,count) - Sequenz von Primitiven mit Arrayelementen<br />

glDrawElements(mode,count,type,pointer) g a e e ts( ode,cou t,type,po te ) - Sequenz Seque von vo Primitiven t ve mit t Indexliste de ste<br />

Glfloat Corners[];<br />

Glubyte y Indexes[]; []<br />

glEnableClientState(<br />

GL_VERTEX_ARRAY);<br />

glVertexPointer(3,GL_FLOAT,<br />

00,Corners); C )<br />

glDrawElements(GL_QUADS,24,<br />

GL_UNSIGNED_BYTE,Indexes);<br />

Beispiele:<br />

Glfloat *Data;<br />

glEnableClientState(GL glEnableClientState(GL_VERTEX_ARRAY);<br />

VERTEX ARRAY);<br />

glVertexPointer(3,GL_FLOAT,0,Data);<br />

glBegin(GL_TRIANGLES);<br />

for(i=0;i

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!