![在这里插入图片描述](https://img-blog.csdnimg.cn/20200605081119109.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpbmpmNTIw,size_16,color_FFFFFF,t_70)
https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glDrawArrays.xhtml
名称
glDrawArrays ---- 从缓存数组数据中渲染图元。
原型
void glDrawArrays( GLenum mode,
GLint first,
GLsizei count);
参数
mode
指定需要渲染什么图元。符号常量 GL_POINTS
, GL_LINE_STRIP
, GL_LINE_LOOP
, GL_LINES
, GL_LINE_STRIP_ADJACENCY
, GL_LINES_ADJACENCY
, GL_TRIANGLE_STRIP
, GL_TRIANGLE_FAN
, GL_TRIANGLES
, GL_TRIANGLE_STRIP_ADJACENCY
, GL_TRIANGLES_ADJACENCY
和 GL_PATCHES
都是可接受的。
first
指定启用的缓存数组的开始索引。
count
指定渲染用的索引数量。
描述
当调用 glDrawArrays 时,将从使用第 first 个元素开始,count 个启用的数据的序列元素来构成一个几何图元序列。mode指定图元是什么类型的,和如何构成图元的。
注意
GL_LINE_STRIP_ADJACENCY
, GL_LINES_ADJACENCY
, GL_TRIANGLE_STRIP_ADJACENCY
和 GL_TRIANGLES_ADJACENCY
仅能用于 GL 3.2 或以上的版本。
错误
如果 mode 是不可接受的值,将生成 GL_INVALID_ENUM
错误。
如果 count 是负数,将生成 GL_INVALID_VALUE
错误。
如果绑定了一个非空的,启用的缓存对象名称,且缓存对象数据储存是当前的映射,将生成 GL_INVALID_OPERATION
错误。
如果geometry shader 激活了,且 mode 是 geometry shader 中不兼容的图元类型,将生成 GL_INVALID_OPERATION
错误。