0
点赞
收藏
分享

微信扫一扫

《高效学习OpenGL》之法线向量与顶点数组 glNormal3f(), glEnableClientState(), glVertexPointer(), glDrawArrays()

1.法线向量

glNormal3f (GLfloat nx, GLfloat ny, GLfloat nz);
//指定参数设置当前的法线向量

2.顶点数组


步骤


.1启用数组

glEnableClientState (GL_VERTEX_ARRAY);//启用数组


.2指定数组的数据


glVertexPointer (2, GL_INT, 0, vertices);
//2表示顶点的坐标数量,GL_INT表示每个坐标数据类型,0表示数组中的顶点是紧密相连的
//vertices表示第一个顶点的第一个坐标的内存地址


.3绘制图形


解引用单个数组元素


glArrayElement(GLint i);
//获取当前所有已启用数组的第i个顶点


解引用数组元素的一个列表


glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
//使用count元素定义一个几何图元序列, mode指被创建哪种类型的图元


实例:


《高效学习OpenGL》之法线向量与顶点数组 glNormal3f(), glEnableClientState(), glVertexPointer(), glDrawArrays()_glDrawArrays

解引用一个数组元素序列


glDrawArrays (GLenum mode, GLint first, GLsizei count);
//相当于
glBegin(mode);
for (int i = 0; i < count;i++)
{
glArrayElement(first + i);
}glEnd();






举报

相关推荐

0 条评论