glDrawArrays — 根据数组 中的数据来渲染基本图元
void glDrawArrays(GLenum mode, GLint first, GLsizei count);
mode
指定 要渲染哪种基本元素。
接受 以下符号常量:
GL_POINTS,
GL_LINE_STRIP,
GL_LINE_LOOP,
GL_LINES,
GL_TRIANGLE_STRIP,
GL_TRIANGLE_FAN,
GL_TRIANGLES,
GL_QUAD_STRIP,
GL_QUADS,
和 GL_POLYGON 。
first
指定被启用的数组中的起始下标。
count
指定 要被渲染的顶点的个数。
glDrawArrays通过极少 的子函数调用来指定多个基本几何图元绘制过程 。 妳不再需要用 GL 函数来设置每个单独 的顶点、法线、纹理坐标、边缘标志和颜色, 只需要预先构造各 个顶点 、法线和颜色数组, 再调用 一次 glDrawArrays 就可以构造出 一庹基本图元 了。
当 glDrawArrays 被调用时,针对每个 被启用的数组, 它会从下标为 first 的元素开始 ,每次使用数组中的连续 count 个元素,来构造 出一庹基本几何图元 。 mode指定 了要构造哪种图元,以及 这些数组元素是如何组成该图元的。如果 未启用 GL_VERTEX_ARRAY , 则不会生成任何几何图元。
当 glDrawArrays 返回时,那些 会由 glDrawArrays 修改 的顶点属性将 会拥有未知值。例如,如果启用 了 GL_COLOR_ARRAY ,那么在执行 glDrawArrays 之后,当前颜色 的值将是未知的。那些 不被修改的属性将保持不变。
glDrawArrays只在GL 的 1.1 或更高版本中存在。
glDrawArrays 被包含在显示列表中。如果 glDrawArrays 被加入到一个显示列表中, 则必要的数组数据( 由数组指针 和控制开关决定 )也会被加入 到显示列表中。由于数组指针 和开关是客户 端状态,所以, 它们 的值会在显示列表 被创建时起作用,而不是在显示列表被执行时起作用。
GL_INVALID_ENUM 如果mode 是无效值,则返回这个错误。
GL_INVALID_VALUE 如果count 是负数,则返回这个错误。
GL_INVALID_OPERATION 如果 一个非零的缓冲对象名被绑定到一个被启用的数组 上 ,并且 该缓冲对象的数据当前已被映射,则返回这个错误。
GL_INVALID_OPERATION 如果glDrawArrays 被放置在 glBegin 和对应的 glEnd 之间执行,则返回这个错误。
glArrayElement,
glColorPointer,
glDrawElements,
glDrawRangeElements,
glEdgeFlagPointer,
glFogCoordPointer,
glGetPointerv,
glIndexPointer,
glInterleavedArrays,
glNormalPointer,
glSecondaryColorPointer,
glTexCoordPointer,
glVertexPointer
版权所有 © 1991-2006
硅谷图形公司 ( Silicon Graphics, Inc. ) 此文档按照 SGI 自由软件 B许可证发布。参考 以下网址以了解细节: http://oss.sgi.com/projects/FreeB/ 。
HxLauncher: Launch Android applications by voice commands