Home / comp / gb.opengl / gl / begin 
Gl.Begin (gb.opengl)
Syntax
STATIC SUB Begin ( Primitive AS Integer )

Delimit the vertices of a primitive or a group of like primitives

Parameters

Description

  Gl.Begin and Gl.End delimit the vertices that define a Primitive or a group of like primitives. Gl.Begin accepts a single argument that specifies which of ten ways the vertices are interpreted. Taking n as an integer count starting at one, and N as the total number of vertices specified, the interpretations are as follows:

Example
' Draw two points, depending on viewport setting
Gl.Begin(Gl.GL_POINTS)
  Gl.Vertex2i(100, 200)
  Gl.Vertex2i(300, 400)
Gl.End()

  Only a subset of GL commands can be used between Gl.Begin and Gl.End. The commands are Gl.Vertex, Gl.Color, Gl.Index, Gl.Normal, Gl.TexCoord, Gl.EvalCoord, Gl.EvalPoint, Gl.Material, and Gl.EdgeFlag. Also, it is acceptable to use Gl.CallList or Gl.CallLists to execute display lists that include only the preceding commands. If any other GL command is called between Gl.Begin and Gl.End, the error flag is set and the command is ignored.

  Regardless of the value chosen for mode, there is no limit to the number of vertices that can be defined between Gl.Begin and Gl.End. Lines, triangles, quadrilaterals, and polygons that are incompletely specified are not drawn. Incomplete specification results when either too few vertices are provided to specify even a single primitive or when an incorrect multiple of vertices is specified. The incomplete primitive is ignored; the rest are drawn.

  The minimum specification of vertices for each primitive is as follows: 1 for a point, 2 for a line, 3 for a triangle, 4 for a quadrilateral, and 3 for a polygon. Modes that require a certain multiple of vertices are Gl.GL_LINES, Gl.GL_TRIANGLES, Gl.GL_QUADS, and Gl.GL_QUAD_STRIP.

Errors

Gl.GL_INVALID_ENUM is generated if mode is set to an unaccepted value.
Gl.GL_INVALID_OPERATION is generated if a command other than Gl.Vertex, Gl.Color, Gl.Index, Gl.Normal, Gl.TexCoord, Gl.EvalCoord, Gl.EvalPoint, Gl.Material, Gl.EdgeFlag, Gl.CallList, or Gl.CallLists is called between Gl.Begin and the corresponding Gl.End.
Gl.GL_INVALID_OPERATION is generated if Gl.End is called before the corresponding Gl.Begin is called, or if Gl.Begin is called within a Gl.Begin / Gl.End sequence.


See also
Gl.CallList , Gl.CallLists , Gl.Color, Gl.EdgeFlag, Gl.EvalCoord, Gl.EvalPoint, Gl.Index, Gl.Material, Gl.Normal, Gl.TexCoord, Gl.Vertex