计算机图形学讲座之OpenGL基本图元ppt课件.ppt

计算机图形学讲座之OpenGL基本图元ppt课件.ppt

ID:59268378

大小:447.50 KB

页数:31页

时间:2020-09-27

计算机图形学讲座之OpenGL基本图元ppt课件.ppt_第1页
计算机图形学讲座之OpenGL基本图元ppt课件.ppt_第2页
计算机图形学讲座之OpenGL基本图元ppt课件.ppt_第3页
计算机图形学讲座之OpenGL基本图元ppt课件.ppt_第4页
计算机图形学讲座之OpenGL基本图元ppt课件.ppt_第5页
资源描述:

《计算机图形学讲座之OpenGL基本图元ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、代表组:401宿舍组讲述:万千组员:王亚斌、林程、张生琪、赵燕青、万千、齐长青OpenGL中的基本图元任何复杂的三维模型都是由基本的几何图元:点、线段和多边形组成的,有了这些图元,就可以建立比较复杂的模型。因此这部分内容是学习OpenGL编程的基础。什么是基本图元?glBegin()和glEnd():OpenGL图元是抽象的几何概念,不是真实世界中的物体,因此须用相关的数学模型来描述。所有的图元都是由一系列有顺序的顶点集合来描述的。OpenGL中绘制几何图元,必须使用glBegin()和glEnd()这一对函数,传递给glBegain(

2、)函数的参数唯一确定了要绘制何种几何图元,同时,在该函数对中给出了几何图元的定义,函数glEnd()标志顶点列表的结束。这两个函数从程序员的角度上来看的话就是创建命名管道,用来接收包含在两个函数中间代码中给出的数据。glBegin(mode)中的mode其实是传给OpenGL系统需要创建的管道类型。基本图元的绘制下面的代码绘制了一个多边形:…glClear(GL_COLOR_BUFFER_BIT);glColor3f(1.0f,0.0f,0.0f);glPolygonMode(GL_FRONT_AND_BACK,GL_LINE);glB

3、egin(GL_POLYGON);glVertex2f(100.0,100.0);glVertex2f(100.0,130.0);glVertex2f(130.0,130.0);glVertex2f(140.0,115.0);glVertex2f(130.0,100.0);glEnd();glFlush();...例子:GL_PLOYGON需要指出的是,OpenGL所定义的点、线、多边形等图元与一般数学定义不太一样,存在一定的差别。这种差别是两个方面原因造成的,它们都导致最终图形转化为图像时显示不精确:其一,OpenGL中的点坐标是由浮

4、点数表示的,精确性受限于计算机的浮点精度。其二,由于位图本身的原因导致点在显示器上的表示最小单位为像素,无论像素颗粒多么小均无法小到与数学中的点一样,只能作近似表示。因为做过近似,所以就会出现我们所说的“走样”。从几何空间到显示器函数函数意义glColor*()设置当前颜色glIndex*()设置当前颜色表glNormal*()设置法向坐标glEvalCoord*()产生坐标glCallList(),glCallLists()显示列表glTexCoord*()设置纹理坐标glEdgeFlag*()控制边界绘制glMaterial*()设

5、置材质其它可包含在glBegin()和glEnd()中的函数:点的定义:用浮点值表示的点称为顶点(Vertex)。所有顶点在OpenGL内部计算时都使用三维坐标(x,y,z)来处理,用二维坐标(x,y)定义的点在OpenGL中默认z值为0。顶点坐标也可以用齐次坐标(x,y,z,w)来表示,如果w不为0.0,这些齐次坐标表示的顶点即为三维空间点(x/w,y/w,z/w),一般来说,w缺省为1.0。定义点的正则表达式:glVertex{234}{sifd}[V](TYPEcords);例如:glVertex2f(2.0f,3.0f);//二

6、维坐标定义顶点;点线的定义在OpenGL中,线代表线段(LineSegment),它由一系列顶点顺次连结而成。线的表示有三种:1、单一线段2、首尾相连的条状线段3、相互分离的线段组线段的多种形式:OpenGL能指定线的宽度并绘制不同的虚点线,如点线、虚线等。相应的函数形式如下:1、voidglLineWidth(GLfloatwidth);//定义线宽2、voidglLineStipple(GLintfactor,GLushortpattern);//设置当前线为虚点模式线glLineStipple(GLintfactor,GLusho

7、rtpattern);参数pattern是一系列的16位二进制数(0或1),它重复地赋给所指定的线,从低位开始,每一个二进制位代表一个象素,1表示用当前颜色绘制一个象素(或比例因子指定的个数),0表示当前不绘制,只移动一个象素位(或比例因子指定的个数)。参数factor是个比例因子,它用来拉伸pattern中的元素,即重复绘制1或移动0,比如,factor为2,则碰到1时就连续绘制2次,碰到0时连续移动2个单元。factor的大小范围限制在1到255之间。虚点模式虚点模式使用:在绘制虚点线之前必须先启动虚点模式,即调用函数glEnabl

8、e(GL_LINE_STIPPLE);结束时,调用glDisable(GL_LINE_STIPPLE)关闭。下面代码绘制了一个点线:glLineStipple(1,0x1C47);/*虚点线*/ glEna

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。