opengl--glDrawArrays(GL_LINES, 0, 10000)中每个参数

gougouz 2009-08-21 10:44:08
glEnableClientState(GL_VERTEX_ARRAY);//表示启用顶点数组
glVertexPointer(2, GL_FLOAT, 0, this.posArray);//2表示每个顶点由两个量组成,GL_FLOAT表示每个量都是
//一个GLfloat类型的值,this.posArray数组实际的位置
glEnableClientState(GL_COLOR_ARRAY);//启用颜色数组
glColorPointer(3, GL_FLOAT, 0, this.colArray);
glDrawArrays(GL_LINES, 0, 10000);
大概清楚这些是什么意思,对最后一句不大了解
glDrawArrays(GL_LINES, 0, 10000)中每个参数的意思是什么啊,牛人们给我讲讲吧
...全文
1559 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gougouz 2009-08-21
  • 打赏
  • 举报
回复
谢了
张赐 2009-08-21
  • 打赏
  • 举报
回复
glDrawArrays
The glDrawArrays function specifies multiple primitives to render.

void glDrawArrays(
GLenum mode,
GLint first,
GLsizei count
);
Parameters
mode
The kind of primitives to render. The following constants specify acceptable types of primitives: GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON.
first
The starting index in the enabled arrays.
count
The number of indexes to render.
xingzhe2001 2009-08-21
  • 打赏
  • 举报
回复
数组,vector都可以
gougouz 2009-08-21
  • 打赏
  • 举报
回复
那在c++最好用表示posArray,数组、链表、栈,我不大清楚
xingzhe2001 2009-08-21
  • 打赏
  • 举报
回复
posArray是一块连续内存,opengl不管他几维数组,就按glVertexPointer(2, GL_FLOAT, 0, this.posArray),这个数2个2个或3个3个浮点数GL_FLOAT的取。如果GL_FLOAT是别的值,那就按别的大小取
gougouz 2009-08-21
  • 打赏
  • 举报
回复
那posArray是一维数组吧
xingzhe2001 2009-08-21
  • 打赏
  • 举报
回复
glDrawArrays(GL_LINES, 0, 10000) GL_LINES表示这次是画线,就是从posArray中两个两个取点画线
0表示从posArray第一个点画前,当然你也可以从第n个点画起
10000表示要画多少个点

8,303

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧