每天一点点—Opengl学习笔记。
2017-09-21 19:56
295 查看
一。使用顶点数组绘制:1.glArrayElement,
2.glDrawElements
3.glDrawArrays
glArrayElemen:每次只能使用一组顶点数据,并且必须在GLbegin和glend之间绘制。
glDrawElements每次可以绘制多组顶点数据,顺序可以任意存放,无 glBegin和glend的限制。
glDrawArrays每次可以绘制多组顶点数据,必须从起点到终点按顺序绘制,无glBegin和glend限制。
二。每次启用数组顶点的时候要
GL_V2F,表明顶点数据有2个表示顶点坐标的浮点数组成.
GL_V3F,表明顶点数据有3个表示顶点坐标的浮点数组成.
GL_C3F_V3F,表明顶点数据有6个浮点数组成,其中前三个为顶点的颜色数据(Color,C);后三个为顶点的坐标位置数据(Vertex,V)
GL_N3F_V3F,N表明顶点的法线向量Normal.
GL_C4F_N3F_V3F,color,color,color,color,normal,normal,normal,vertex,vertex,vertex,
GL_T2F_V3F,T表示顶点的纹理坐标.
GL_T4F_V4F,GL_T2F_C3F_V3F,GL_T2F_N3F_V3F,GL_T2F_C4F_N3F_V3F,GL_T4F_C4F_N3F_V4F;意义同上.
2.glDrawElements
3.glDrawArrays
glArrayElemen:每次只能使用一组顶点数据,并且必须在GLbegin和glend之间绘制。
glBegin(GL_LINES); glArrayElement(0); glArrayElement(1); glArrayElement(2); glArrayElement(3); glEnd();
glDrawElements每次可以绘制多组顶点数据,顺序可以任意存放,无 glBegin和glend的限制。
voiddrawTwoLineWithArray2()
{
GLfloatdata[]={1.0,0.0,0.0,25.0,25.0,
1.0,0.0,0.0,100.0,100.0,
0.0,1.0,0.0,120.0,120.0,
0.0,1.0,0.0,200.0,200.0};
GLubyteindex[]={0,1,2,3};
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_COLOR_ARRAY);
glColorPointer(3,GL_FLOAT,5*sizeof(GLfloat),&data[0]);
glVertexPointer(2,GL_FLOAT,5*sizeof(GLfloat),&data[3]);
glDrawElements(GL_LINES,4,GL_UNSIGNED_BYTE,index);
}
glDrawArrays每次可以绘制多组顶点数据,必须从起点到终点按顺序绘制,无glBegin和glend限制。
glDrawArrays(GL_LINES,0,4);
二。每次启用数组顶点的时候要
glEnableClientState(GL_VERTEX_ARRAY);
混合参数,有颜色和顶点数组。
oiddrawTwoLineWithArray3()
{
GLfloatdata[]={1.0,0.0,0.0,25.0,25.0,0.0,
1.0,0.0,0.0,100.0,100.0,0.0,
0.0,1.0,0.0,120.0,120.0,0.0,
0.0,1.0,0.0,200.0,200.0,0.0};
glInterleavedArrays(GL_C3F_V3F,0,data);
glDrawArrays(GL_LINES,0,4);
}
GL_V2F,表明顶点数据有2个表示顶点坐标的浮点数组成.
GL_V3F,表明顶点数据有3个表示顶点坐标的浮点数组成.
GL_C3F_V3F,表明顶点数据有6个浮点数组成,其中前三个为顶点的颜色数据(Color,C);后三个为顶点的坐标位置数据(Vertex,V)
GL_N3F_V3F,N表明顶点的法线向量Normal.
GL_C4F_N3F_V3F,color,color,color,color,normal,normal,normal,vertex,vertex,vertex,
GL_T2F_V3F,T表示顶点的纹理坐标.
GL_T4F_V4F,GL_T2F_C3F_V3F,GL_T2F_N3F_V3F,GL_T2F_C4F_N3F_V3F,GL_T4F_C4F_N3F_V4F;意义同上.
相关文章推荐
- [学习]笔记]爬虫的学习(每天学习一点点)
- 每天进步一点点:(5)vi/vim 学习笔记
- linux每天积累一点点(学习笔记积累)
- Android 学习笔记(camera)——每天进步一点点
- 每天一点点:android的选项菜单和其子菜单学习笔记
- opengl学习小笔记(2)使用OpenGL绘制嵌套旋转六边形
- opengl学习笔记(一)
- OpenGL学习笔记(十)
- 每天学习一点点,每天进步一点点、、、、、
- OpenGL学习笔记(一)
- OpenGL学习笔记:拾取与选择
- OpenGL学习笔记4 —— 动画,太阳地球月亮
- openGL学习笔记6 bmp 2D纹理贴图
- Android OpenGL学习笔记(一)
- Android OpenGL 学习笔记 --开始篇
- 图形学学习笔记]OpenGL视图矩阵变换
- Opengl GLUT工具开发 学习笔记 001
- OpenGL学习笔记(14)像素操作
- Python学习笔记_每天一小时 8.24
- OpenGL学习笔记——纹理贴图