glBegin 函数

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

语法

void WINAPI glBegin(
   GLenum mode
);

参数

mode

将从 glBegin 和后续 格伦之间呈现的顶点创建的基元或基元。 以下是接受的符号常量及其含义:

含义
GL_POINTS
将每个顶点视为单个点。 顶点 n 定义点 n。 绘制 N 个点。
GL_LINES
将顶点的每个配对视为独立的线段。 顶点 2n - 12n 定义第 n 行。 绘制 N/2 行。
GL_LINE_STRIP
绘制从第一个顶点到最后一个顶点的连接线段组。 顶点 nn+1 定义第 n 行 绘制 N - 1 行。
GL_LINE_LOOP
绘制从第一个顶点到最后一个顶点的连接线段组,然后返回到第一个。 顶点 nn + 1 定义第 n 行 但是,最后一行由顶点 N1 定义。 绘制 N 行。
GL_TRIANGLES
将每个三元顶点视为独立的三角形。 顶点 3n - 23n - 13n 定义三角形 n。 绘制 N/3 个三角形。
GL_TRIANGLE_STRIP
绘制一组连接的三角形。 为前两个顶点之后呈现的每个顶点定义一个三角形。 对于奇 数 n、顶点 nn + 1n + 2 定义三角形 n。 对于偶 数 n,顶点 n + 1nn + 2 定义三角形 n绘制 N - 2 个三角形。
GL_TRIANGLE_FAN
绘制一组连接的三角形。 为前两个顶点之后呈现的每个顶点定义一个三角形。 顶点 1n + 1n + 2 定义三角形 n绘制 N - 2 个三角形。
GL_QUADS
将四个顶点的每个组视为独立的四边形。 顶点 4n - 34n - 24n - 14n 定义四边 n。 绘制 N/4 四边形。
GL_QUAD_STRIP
绘制一组连接的四边形。 第一个配对后,为每个呈现的顶点配对定义一个四边形。 顶点 2n - 1、2n2n+ 22n + 1 定义四边 nN/2 - 绘制 1 个四边形。 请注意,顶点用于从条带数据构造四边形的顺序与独立数据一起使用的顺序不同。
GL_POLYGON
绘制单个凸面多边形。 顶点 1N 定义此多边形。

返回值

此函数不返回值。

错误代码

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

名称 含义
GL_INVALID_ENUM
模式 设置为未接受的值。
GL_INVALID_OPERATION
glVertexglColorglIndexglNormalglTexCoordglEvalCoordglEvalPointglMaterialglEdgeFlagglCallList 或 glCallLists 以外的函数在 glBegin 与相应的格伦之间调用。 函数格伦是在调用相应的 glBegin 之前调用的,或者在 glBeginglend 序列中调用 glBegin/。

注解

glBeginglend 函数分隔定义基元或类似基元组的顶点。 glBegin 函数接受一个参数,该参数指定顶点构成的十个基元中的哪一个。 将 n 作为从一个开始的整数计数 ,N 作为 指定的顶点总数,解释如下所示:

  • 只能在 glBeginglend 之间使用 OpenGL 函数的子集。 可以使用的函数包括:

    glVertex

    glColor

    glIndex

    glNormal

    glTexCoord

    glEvalCoord

    glEvalPoint

    glMaterial

    glEdgeFlag

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

  • 无论在 glBegin 中为模式选择的值如何,你都可以在 glBeginglend 之间定义的顶点数没有限制。 不绘制未完全指定的线条、三角形、四边形和多边形。 如果提供了太少的顶点,甚至指定单个基元,或者指定了错误的多个顶点时,则规范结果不完整。 忽略不完整的基元;绘制完整的基元。

  • 每个基元的顶点的最小规范为:

    顶点的最小数目 基元的类型
    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