glBegin

Aus DGL Wiki
Wechseln zu: Navigation, Suche

glBegin, glEnd

Name

glBegin, glEnd - Umschliessen die Eckpunkte (Vertices) einer Primitiven, oder eine Gruppe gleicher Primitiven.

Delphi-Spezifikation

procedure glBegin(mode : GLEnum); procedure glEnd;

Parameter

mode

Bestimmt die Primitive bzw. Gruppe von Primitiven die aus den von glBegin und glEnd umschlossenen Eckpunkten (Vertices erstellt wird. Erlaubt sindhier die folgenden zehn symbolischen Konstanten : GL_POINTS, GL_LINES, GL_LINE_STRIP, GL_LINE_LOOP, GL_TRIANGLES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_QUADS, GL_QUAD_STRIP, and GL_POLYGON.

Beschreibung

glBegin und glEnd umschliessen eine Liste von Eckpunkten (Vertices) die eine Primitive oder Gruppe von Primitiven darstellt. glBegin erhält ein einzelnes Argument (mode) das angibt auf welche Art und Weise die Eckpunkte (Vertices) interpretiert werden. Unter der Annahme n sei ein Integerwert der bei Eins beginnt und N als Integerwert der die Gesamtanzahl der übergebenen Eckpunkte angibt, ergeben sich folgende Interpretationen :

GL_POINTS

Behandelt jeden Eckpunkt als einzelnen Punkt. Eckpunkt n definiert Punkt n, und N Punkte werden gerendert.

GL_LINES

Behandelt jedes Eckpunkt-Paar als unabhängigen Linienabschnitt. Eckpunkte 2*n-1 und 2*n beschreiben Linie n. N/2 Linien werden gerendert.

GL_LINE_STRIP

Rendert eine Gruppe von miteinander verbundenen Liniensegmenten, beginnend beim ersten Eckpunkt bis zum letzten. Eckpunkte n und n+1 beschreiben dabei Linie n. N-1 Linien werden gerendert.

GL_LINE_LOOP

Rendert eine miteinander verbundene Gruppe von Linienabschnitten, beginnend beim ersten Eckpunkt und endend beim letzten, und dann wieder abschliessend zurück zum ersten. Eckpunkte n und n+1 definieren Linie n. Die letzte Linie wird jedich durch die Eckpunkte N und 1 definiert. N Linien werden gerendert.

GL_TRIANGLES

Behandelt jedes Eckpunkt-Trio als unabhängiges Dreieck. Eckpunkte 3*n-2, 3*n-1 und 3*n beschreiben Dreieck n. N/3 Dreiecke werden gerendert.

GL_TRIANGLE_STRIP

Rendert eine verbundene Gruppe von Dreiecken. Ein Dreieck wird für jeden Eckpunkt der nach den beiden ersten Eckpunkten definiert wird gerendert. Für ein ungerades n definieren die Eckpunkte n, n+1 und n+2 Dreieck n, für gerade ns definieren die Eckpunkte n+1, n und n+2 ein Dreieck. N-2 Dreiecke werden gerendert.

GL_TRIANGLE_FAN

Rendert eine verbundene Gruppe von Dreiecken. Ein Dreieck wird für jeden Eckpunkt gerendert der nach den ersten beiden definiert wird. Eckpunkte 1, n+1 und n+2 definieren Dreieck n. N-2 Dreiecke werden gerendert.

GL_QUADS

Behandelt jeweils vier Eckpunkte als unabhängiges Viereck. Eckpunkte 4*n-3, 4*n-2, 4*n-1 und 4*n beschreiben Viereck n. N/4 Vierecke werden gerendert.

GL_QUAD_STRIP

Renderd eine verbundene Gruppe von Vierecken. Ein Viereck wird wird für jedes nach den ersten beiden Eckpunkten übergebene Eckpunktepaar gerendert. Eckpunkte 2*n-1, 2*n, 2*n+2 und 2*n+1 beschreiben Viereck n. N/2-1 Vierecke werden gerendert. Es gilt allerdings zu beachten, das die Reihenfolge der Eckpunkte die genutzt werden um Vierecke aus einem Streifen (=Strip, evtl. unangemessene Übersetzung - --Sascha Willems 12:22, 29. Jun 2004 (CEST)Sascha Willems) zu generieren unterschiedlich ggü. der unabhängigen Konstruktion sind.

GL_POLYGON

Rendert eine einzelnes, konvexes Polygon (=Vieleck). Eckpunkte 1 bis N definieren dieses Polygon.