glBegin 函数

GlBeginglend函数分隔基元或一组类似基元的顶点。

语法

void WINAPI glBegin(
   GLenum mode
);

参数

mode

将从 glBegin 和后续 glend之间显示的顶点创建的基元或基元。 下面是接受的符号常量及其含义:

含义
总帐 _ 点
将每个顶点视为单个点。 顶点 n 定义点 n。 绘制 N 个点。
总帐 _ 行
将每对顶点视为独立的直线段。 顶点 2n-12n 定义第 n 行。 绘制了 N/2 行。
总帐 _ _ 条带
从第一个顶点到最后一个顶点绘制一组连接的线段。 顶点 nn + 1 定义第 n 行。 绘制了 n-1 行。
总帐 _ _ 循环
从第一个顶点到最后一个顶点绘制一组连线段,然后返回到第一个线段。 顶点 nn + 1 定义第 n 行。 不过,最后一行由顶点 N1 定义。 绘制了 N 行。
总帐 _ 三角形
将每个三个顶点视为独立的三角形。 顶点 3n-23n3n 定义三角形 n。 绘制了 N/3 个三角形。
总帐 _ 三角形 _ 条带
绘制连接的三角形组。 为前两个顶点后面显示的每个顶点定义一个三角形。 对于奇数 n,顶点 nn + 1n + 2 定义三角形 n。 对于偶数 顶点 n + 1nn + 2 定义三角形 n。 将绘制 第 2 个三角形。
总帐 _ 三角形 _ 风扇
绘制连接的三角形组。 为前两个顶点后面显示的每个顶点定义一个三角形。 顶点 1n + 1n + 2 定义三角形 n。 将绘制 第 2 个三角形。
总帐 _ 四边形
将四个顶点的每个组视为独立四边形。 顶点 drj-4n-yzgdrj-4n-yzgdrj-4n-yzgdrj-4n-yzg 定义四边形 n。 已绘制 N/4 个 quadrilaterals。
总帐 _ 四 _ 条
绘制连接的 quadrilaterals 组。 为首对后显示的每对顶点定义一个四边形。 顶点 2n-12n2n + 22n + 1 定义四边形 n。 已绘制 N/2-1 个 quadrilaterals。 请注意,顶点用于从条带数据构造四边形的顺序不同于与独立数据一起使用的顺序。
总帐 _ 多边形
绘制单凸多边形。 顶点 1N 定义此多边形。

返回值

此函数不返回值。

错误代码

GlGetError函数可以检索以下错误代码。

名称 含义
总帐 _ 无效 _ 枚举
模式 设置为不可接受的值。
总帐 _ 无效 _ 操作
不是 glVertexglColorglIndexglNormalglTexCoordglEvalCoordglEvalPointglMaterialglEdgeFlagglCallListglCallLists 的函数在 glBegin 和相应的 glend之间调用。 在调用相应的 glBegin 之前调用了函数 glend ,或者在 glBegin / glend 序列中调用了 glBegin。

备注

GlBeginglend函数将定义基元或一组类似基元的顶点分隔。 GlBegin 函数接受一个参数,该参数指定顶点构成的10个基元中的哪一个。 如果将 n 作为从1开始的整数计数,并将 n 作为指定的顶点总数,则解释如下:

  • 可以在 glBeginglend之间仅使用 OpenGL 函数的子集。 可以使用的函数有:

    glVertex

    glColor

    glIndex

    glNormal

    glTexCoord

    glEvalCoord

    glEvalPoint

    glMaterial

    glEdgeFlag

    你还可以使用 glCallListglCallLists 来执行仅包括前面的函数的显示列表。 如果在 glBeginglend之间调用任何其他 OpenGL 函数,则会设置错误标志并忽略该函数。

  • 无论为 glBegin 中的 模式 选择的值是什么,可以在 glBeginglend之间定义的顶点数量没有限制。 不会绘制未完全指定的线条、三角形、quadrilaterals 和多边形。 当提供的顶点太少而无法指定单个基元或指定了顶点的错误倍数时,未完成规范结果。 忽略未完成的基元;绘制完整的基元。

  • 每个基元的最小顶点规格如下:

    最小顶点数量 基元类型
    1 point
    2 line
    3 三角形
    4 四边形
    3 polygon
  • 需要特定多个顶点的模式包括 GL _ LINES (2) 、GL _ TRIANGLES (3) 、GL QUADS (4) 和 GL QUAD STRIP (_ _ _ 2) 。

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Gl.h

Opengl32.lib
DLL
Opengl32.dll

另请参阅

glCallList

glCallLists

glColor

glEdgeFlag

glEnd

glEvalCoord

glEvalPoint

glIndex

glMaterial

glNormal

glTexCoord

glVertex