正在加载图片...
5.1.3基本几何元素 OpenGL的基本几何元素有点,线,多边形。从根本上看, OpenGL绘制的所有复杂三维物体都是由 定数量的基本图形元素构成的,曲线,曲面分别是由一系列直线段,多边形近似得到的 1.绘图准备和结束 在开始绘制新图形前,计算机屏幕上可能已有一些图形, OpenGL在显示缓冲区中存储了那些图形的绘图 信息,所以必须清除当前的这些内容,以免影响绘图的效果,可以用 void glClear Color( red, green, blue, alpha 给定当前屏幕的背景设置颜色,red, green,bue, alpha为RGBA颜色值, void glClear( mask ) 命令标志要清除的缓冲区。可以清除的缓冲区如下表所示: 名称 颜色缓冲区 GL COLOR BUFFER BIT 深度缓冲区 GL DEPTH BUFFER BIT 累加缓冲区 GL ACCUM BUFFER BIT 模板缓冲区 GL STENCIL BUFFER BIT 也可以使用 glClearColor(), glClear Depth0, glClearIndex0), glClear Stenci|O, glClearAccO为各自对 应的缓冲区赋值。若要同时清除多个缓冲区,使用上表中所列的mask位的”与'(AND)组合,在速度上要比 使用多次调用 glClear函数要快得多 在绘制图形前,同样通常要先设定颜色或颜色方式,这样有利于达到较高的绘图性能。设置颜色利用命令: glColor*O 在绘制完图形时,需要使用两个函数来结束绘图并返回: 函数 void glFlush0强制 OpenGL命令序列在有限的时间内完成执行 函数 void glFinish0使完成前面发出的全部 OpenGL命令的执行,即等到完全实现全部命令的结束后才 返回。 2.绘制 OpenGL的基本几何元素(几何要素) OpenGL的几何要素有点,线,多边形。 OpenGL中的点是三维的,用户设定二维坐标(X,y),此时z 自动置0:线是用一系列相连的顶点定义的:多边形是一个封闭的线段,通过选择属性,既可以得到填充的 多边形,也可以是轮廓线,或是一系列点,多边形的边不能交叉且应该是凸多边形,若要绘制的多边形不满 足这几个条件,则应调用GLU应用库函数,进行详细描述和镶嵌。光滑的曲线,曲面都是由一系列线段, 多边形近似得到的, OpenGL不直接提供绘制曲线,曲面的命令 总之,描述几何要素就是按一定的顺序给出几何要素的顶点, glVertexO命令指定一个顶点,并在生成顶 点后,把当前颜色,纹理坐标,法线等值赋给这个顶点 函数 void glVertex{234 HsifdHv( coords)按照指定的格式定义一个顶点,有时也用矢量形式定义顶点,执 行效率高,但是该函数只能在 glBegin0与gEnd0之间调用才有意义。 glBegin0标志几何要素定义的开始, gEnd0函数则标志结束一个几何要素的定义。 函数 void glBegin( Glenum mode)中的mode的值见下表。 表5-1-1:mode的取值 Mode的值 解释 GL POINTS 系列独立的点 GL LINES 每两点相连成为线段 GL POLYGON 简单,凸多边形的边界 GL TRIANGLES 三点相连成为一个三角形 GL QUADS 四点相连成为一个四边形 计算机图形学第五章第141页共36页计算机图形学 第五章 第 141 页 共 36 页 5.1.3 基本几何元素 OpenGL 的基本几何元素有点,线,多边形。从根本上看,OpenGL 绘制的所有复杂三维物体都是由一 定数量的基本图形元素构成的,曲线,曲面分别是由一系列直线段,多边形近似得到的。 1. 绘图准备和结束 在开始绘制新图形前,计算机屏幕上可能已有一些图形,OpenGL 在显示缓冲区中存储了那些图形的绘图 信息,所以必须清除当前的这些内容,以免影响绘图的效果,可以用 void glClearColor ( red , green , blue , alpha ); 给定当前屏幕的背景设置颜色,red , green , blue , alpha 为 RGBA 颜色值, void glClear ( mask ); 命令标志要清除的缓冲区。可以清除的缓冲区如下表所示: 缓冲区 名称 颜色缓冲区 GL_COLOR_BUFFER_BIT 深度缓冲区 GL_DEPTH_BUFFER_BIT 累加缓冲区 GL_ACCUM_BUFFER_BIT 模板缓冲区 GL_STENCIL_BUFFER_BIT 也可以使用 glClearColor(),glClearDepth(),glClearIndex(),glClearStencil(),glClearAcc()为各自对 应的缓冲区赋值。若要同时清除多个缓冲区,使用上表中所列的 mask 位的”与”(AND)组合,在速度上要比 使用多次调用 glClear 函数要快得多。 在绘制图形前,同样通常要先设定颜色或颜色方式,这样有利于达到较高的绘图性能。设置颜色利用命令: glColor*()。 在绘制完图形时,需要使用两个函数来结束绘图并返回: 函数 void glFlush() 强制 OpenGL 命令序列在有限的时间内完成执行; 函数 void glFinish() 使完成前面发出的全部 OpenGL 命令的执行,即等到完全实现全部命令的结束后才 返回。 2. 绘制 OpenGL 的基本几何元素(几何要素) OpenGL 的几何要素有点,线,多边形。OpenGL 中的点是三维的,用户设定二维坐标(x , y),此时 z 自动置 0;线是用一系列相连的顶点定义的;多边形是一个封闭的线段,通过选择属性,既可以得到填充的 多边形,也可以是轮廓线,或是一系列点,多边形的边不能交叉且应该是凸多边形,若要绘制的多边形不满 足这几个条件,则应调用 GLU 应用库函数,进行详细描述和镶嵌。光滑的曲线,曲面都是由一系列线段, 多边形近似得到的,OpenGL 不直接提供绘制曲线,曲面的命令。 总之,描述几何要素就是按一定的顺序给出几何要素的顶点,glVertex()命令指定一个顶点,并在生成顶 点后,把当前颜色,纹理坐标,法线等值赋给这个顶点。 函数 void glVertex{234}{sifd}{v}(coords)按照指定的格式定义一个顶点,有时也用矢量形式定义顶点,执 行效率高,但是该函数只能在 glBegin()与 glEnd()之间调用才有意义。glBegin() 标志几何要素定义的开始, glEnd() 函数则标志结束一个几何要素的定义。 函数 void glBegin(Glenum mode)中的 mode 的值见下表。 表 5-1-1:mode 的取值 Mode 的值 解释 GL_POINTS 一系列独立的点 GL_LINES 每两点相连成为线段 GL_POLYGON 简单,凸多边形的边界 GL_TRIANGLES 三点相连成为一个三角形 GL_QUADS 四点相连成为一个四边形
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有