`
v5qqcom
  • 浏览: 1285322 次
文章分类
社区版块
存档分类
最新评论

OpenGL函数思考-glBegin和glEnd

 
阅读更多

OpenGL函数思考-glBegin和glEnd

函数原型:

void glBegin(GLenum mode)

void glEnd(void)

参数说明:

mode:创建图元的类型。可以是以下数值

  • GL_POINTS:把每一个顶点作为一个点进行处理,顶点n即定义了点n,共绘制N个点
  • GL_LINES:把每一个顶点作为一个独立的线段,顶点2n-1和2n之间共定义了n条线段,总共绘制N/2条线段
  • GL_LINE_STRIP:绘制从第一个顶点到最后一个顶点依次相连的一组线段,第n和n+1个顶点定义了线段n,总共绘制n-1条线段
  • GL_LINE_LOOP:绘制从第一个顶点到最后一个顶点依次相连的一组线段,然后最后一个顶点和第一个顶点相连,第n和n+1个顶点定义了线段n,总共绘制n条线段
  • GL_TRIANGLES:把每个顶点作为一个独立的三角形,顶点3n-2、3n-1和3n定义了第n个三角形,总共绘制N/3个三角形
  • GL_TRIANGLE_STRIP:绘制一组相连的三角形,对于奇数n,顶点n、n+1和n+2定义了第n个三角形;对于偶数n,顶点n+1、n和n+2定义了第n个三角形,总共绘制N-2个三角形
  • GL_TRIANGLE_FAN:绘制一组相连的三角形,三角形是由第一个顶点及其后给定的顶点确定,顶点1、n+1和n+2定义了第n个三角形,总共绘制N-2个三角形
  • GL_QUADS:绘制由四个顶点组成的一组单独的四边形。顶点4n-3、4n-2、4n-1和4n定义了第n个四边形。总共绘制N/4个四边形
  • GL_QUAD_STRIP:绘制一组相连的四边形。每个四边形是由一对顶点及其后给定的一对顶点共同确定的。顶点2n-1、2n、2n+2和2n+1定义了第n个四边形,总共绘制N/2-1个四边形
  • GL_POLYGON:绘制一个凸多边形。顶点1到n定义了这个多边形。

函数说明:

glBegin和glEnd函数限定了一组或多组图元的定点定义。

分享到:
评论

相关推荐

    OpenGL绘制圆球

     分别测试多个三角形的顶点同时置于一个glBegin 与 glEnd 之间,与每个glBegin 和 glEnd 间只存放一个三角形的顶点。  利用函数glutGet(GLUT_ELAPSED_TIME)(returns the time in milliseconds since glutInit ...

    OpenGL 库函数汇总(中文分类)CHM

    glBegin , glEnd glEdgeFlag , glEdgeFlagv glPointSize glLineWidth glLineStipple glPolygonMode glFrontFace glPolygonStipple glDrawElements glRect 坐标转换 ----------------------------- glTranslate ...

    用opengl绘制一个旋转正方体.cpp

    //这个函数其实就是对接下来要做什么进行一下声明 GL_MODELVIEW 模型视图 glLoadIdentity(); glPushMatrix();// 提供了相应的接口 { glRotatef(AngleX, 1.0f, 0.0f, 0.0f); glRotatef(AngleY, 0.0f, 1.0f, ...

    DDA.rar_openGL dda

    3.实验原理: 示范代码原理参见教材直线光栅化一节中的...为了解决这一问题,OpenGL要求:指定顶点的命令必须包含在glBegin函数之后,glEnd函数之前(否则指定的顶点将被忽略),并由glBegin来指明如何使用这些点。

    opengl的太阳系模型

    //对齐像素字节函数 glGenTextures(1,texName); //第一个参数指定表明获取多少个连续的纹理标识符 glBindTexture(GL_TEXTURE_2D , *texName); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); ...

    opengl画旋转多边形

    glBegin(GL_POLYGON); //开始绘制六边形 for (int i=0;i;i++) glVertex2f( R*cos(theta+i*2*PI/n), R*sin(theta+i*2*PI/n)); glEnd(); glutSwapBuffers(); //双缓冲的刷新模式; } void myidle() { theta+...

    opengl 期末复习资料

    如何使用OpenGL函数来实现?要求在照相机改变时,该程序应该仍然有效。 7、 如何实现纹理的反走样?说明其原理。 8、 写出场景的反走样算法,并说明其原理。 9、 如何实现采用立方体映射实现的环境映射,写出立方体...

    opengl实验报告(1).doc

    " "目 "3、掌握使用opengl函数绘制基本图元,如点、线、封闭的多边形等。" "的 " " "实 " 学会如何在vc++6.0中配置opengl的运行环境 " "验 " " "要 " " "求 " " "实 "在visual c++编程环境中编写程序源代码,并编译...

    opengl实现任意两点间画圆柱体

    画线函数不会影响opengl的矩阵堆栈。 但是很多时候线条效果会比较差,比如我要做一个骨骼动画,关节点间的骨头用线条太难看,即使使用glLineWidth设置线宽,视觉效果还是一塌糊涂。还有利用分形绘制3D树的时候,树干...

    华南理工大学计算机图形学实验

    (2)用OpenGL函数glTranslatef()对模型模型进行平移,使得其重心位于原点; (3)用函数glLookAt()设置视点,并且要求试点绕模型一周,以便用透视投影观察各个侧面; (4)要求利用真实感绘制对模型进行渲染. (利用OpenGL...

    计算机图形学作业实验报告.doc

    二、实验内容步骤和实现:首先进行初始化工作,进行显示模式(单缓冲区)和窗口等 设定,主要实现根据两个函数,一个是指定场景绘制函数,glutDisplayFunc(Paint), paint函数中设置了两个三角形,一个填充,一个不...

Global site tag (gtag.js) - Google Analytics