gl.Begin(mode)
gl.Begin()
und gl.End() begrenzen die Scheitelpunkte, die ein
Grundelement oder eine Gruppe ähnlicher Grundelemente definieren. gl.Begin()
akzeptiert ein einzelnes Argument, das angibt, auf welche der zehn Arten die
Scheitelpunkte interpretiert werden. Wenn wir n als eine ganze Zahl beginnend
bei eins und N als die Gesamtzahl der angegebenen Scheitelpunkte nehmen, sind die
Interpretationen wie folgt:
#GL_POINTS
#GL_LINES
#GL_LINE_STRIP
#GL_LINE_LOOP
#GL_TRIANGLES
#GL_TRIANGLE_STRIP
#GL_TRIANGLE_FAN
#GL_QUADS
#GL_QUAD_STRIP
#GL_POLYGON
Nur eine Teilmenge der GL-Befehle kann zwischen gl.Begin()
und gl.End()
verwendet werden. Die Befehle sind gl.Vertex(), gl.Color(),
gl.Index(), gl.Normal(), gl.TexCoord(),
gl.Material(), gl.EvalCoord(),
gl. EvalPoint(), gl.EdgeFlag() und
gl.ArrayElement(). Es ist auch möglich,
gl.CallList() oder gl.CallLists()
zu verwenden, um Display-Listen auszuführen, die nur die vorhergehenden Befehle
enthalten. Wenn ein anderer GL-Befehl zwischen gl.Begin()
und gl.End()
ausgeführt wird, wird das Fehler-Flag gesetzt und der Befehl ignoriert.
Unabhängig von dem für den Modus gewählten Wert gibt es keine Begrenzung für
die Anzahl der Scheitelpunkte, die zwischen gl.Begin()
und gl.End()
definiert werden können. Unvollständig angegebene Linien, Dreiecke, Vierecke
und Polygone werden nicht gezeichnet. Unvollständige Angaben ergeben
sich, wenn entweder zu wenige Scheitelpunkte bereitgestellt werden, um
ein einzelnes Grundelement zu definieren oder wenn ein falsches Vielfaches
von Scheitelpunkten angeben ist. Das unvollständige Grundelement wird
ignoriert; der Rest wird gezeichnet.
Die Mindestangabe der Scheitelpunkte für jedes Grundelement lautet wie
folgt: 1 für einen Punkt, 2 für eine Linie, 3 für ein Dreieck, 4 für ein
Viereck und 3 für ein Polygon. Modi, die ein bestimmtes Vielfaches von
Scheitelpunkten benötigen, sind #GL_LINES
(2), #GL_TRIANGLES
(3),
#GL_QUADS
(4) und #GL_QUAD_STRIP
(2).
Weitere Informationen finden Sie in einem OpenGL-Referenzhandbuch.
gl.Begin()
und dem nachfolgenden gl.End() erzeugt
werden (siehe oben)#GL_INVALID_ENUM
wird generiert, wenn mode
auf einen nicht gültigen Wert
gesetzt ist.
#GL_INVALID_OPERATION
wird generiert, wenn gl.Begin()
zwischen gl.Begin()
und gl.End() ausgeführt wird.
#GL_INVALID_OPERATION
wird generiert, wenn gl.End() ohne
vorangestelltes glBegin ausgeführt wird.
#GL_INVALID_OPERATION
wird generiert, wenn zwischen gl.Begin()
und gl.End() ein nicht unterstützter Befehl ausgeführt wird.
In Ihrem OpenGL-Referenzhandbuch finden Sie Befehle, die zwischen gl.Begin()
und gl.End() ausgeführt werden können.