OpenGL基本图元的绘制.ppt

上传人:za****8 文档编号:12667492 上传时间:2020-05-13 格式:PPT 页数:27 大小:1.78MB
返回 下载 相关 举报
OpenGL基本图元的绘制.ppt_第1页
第1页 / 共27页
OpenGL基本图元的绘制.ppt_第2页
第2页 / 共27页
OpenGL基本图元的绘制.ppt_第3页
第3页 / 共27页
点击查看更多>>
资源描述
,第六章,OpenGL基本图元的绘制,OpenGL基本图元的绘制,第六章-2,内容,概述点线多边形字符,OpenGL基本图元的绘制,第六章-3,概述,OpenGL中最基本的图元是点,每个几何实体都是由一个顶点集和绘制图元的类型描述的。顶点间是否连接或怎样连接由图元的类型决定。,OpenGL基本图元的绘制,第六章-4,概述,OpenGL提供的所有图元(点、线、多边形)的绘制,必须通过glBegin()和glEnd()函数的配对来完成。voidglBegin(Glenummode)功能:描述一个几何图形顶点序列的开始。参数说明:mode指图元的类型。voidglEnd(void)功能:标记顶点表的结束。例如:glBegin(GL_LINES);glVertex2f(50.0,50.0);glVertex2f(100.0,100.0);glEnd();,OpenGL基本图元的绘制,第六章-5,几何图元类型和含义,OpenGL基本图元的绘制,第六章-6,几何图元实体,OpenGL基本图元的绘制,第六章-7,点,点的绘制glVertex2,3,4sifd(TYPEcoords)参数说明:coords用一个数组或用奇次坐标(x,y,z,w)赋顶点坐标。四维奇次坐标(x,y,z,w)相当于三次坐标(x/w,y/w,z/w)。例如:glBegin(GL_POINTS);glVertex2i(1,2);glVertex3d(1.23,2.34,3.63);glVertex4f(1.3,2.0,-4.2,1.0);glVertex3sv(array);glEnd();,OpenGL基本图元的绘制,第六章-8,点,点的大小点的大小默认值是一个像素,可以用函数修改这个值,以设定点的大小。voidglPointsize(Glfloatsize)参数size:指定画点时以像素为单位的近似直径。注意:系统只支持一定大小范围内的点的大小。,OpenGL基本图元的绘制,第六章-9,点的绘制,图形显示布局及坐标系,图(a):整个屏幕用于绘制图形。图(b):时下流行的“基于窗口”的系统(如Windows窗口系统)。图(c):OpenGL“基于窗口”的绘图系统。,OpenGL基本图元的绘制,第六章-10,点的绘制-示例1,OpenGL基本图元的绘制,第六章-11,点的绘制-示例1,建立坐标系统gluOrtho2D(GLdoubleleft,GLdoubleright,GLdoublebottom,GLdoubletop);如:,实质上是定义二维正视投影矩阵,OpenGL基本图元的绘制,第六章-12,点的绘制-示例2_0,OpenGL基本图元的绘制,第六章-13,点的绘制-示例2_0,绘制函数f(x)的图形f(x)=e-xcos(2x)x0,4glBegin(GL_POINTS);for(Gldoublex=0;x4.0;x+=0.005)glVertex2d(x,f(x);glEnd();glFlush();,会出现什么问题?,OpenGL基本图元的绘制,第六章-14,点的绘制-示例2_1,改进放大x至整个屏幕窗口宽度;sx=x*screenWidth/4.0放大并且移动y(因为函数f(x)-1.0,1.0)sy=(y+1.0)*screenHeight/2.0上述方法总结:从x到sx,以及从y到sy的变换具有如下形式:sx=Ax+Bsy=Cy+D本方法采用蛮力方法(BruteForce),不具有通用性。,OpenGL基本图元的绘制,第六章-15,实验(二),1.绘制函数f(x)=sin(x)x0,22.绘制过程图形任取三点T0、T1、T2,该三点可形成某个三角形;从上述三点中任取一点,取名为点P0,并且绘制该点;循环执行如下步骤,直至满足结束条件:从T0、T1、T2中任取一点作为,取名为点T;在点T和前面选择的点PK-1的中间构建一个点,取名为PK;绘制点PK;,OpenGL基本图元的绘制,第六章-16,实验(二),OpenGL基本图元的绘制,第六章-17,线,直线的绘制glBegin(GL_LINES);glVertex3f(0.0,0.0,0.0);glVertex3f(50.0,50.0,50.0);glEnd();,折线和封闭折线的绘制GL_LINE_STRIP绘制不闭合的折线;GL_LINE_LOOP绘制闭合的折线;,OpenGL基本图元的绘制,第六章-18,线的绘制-示例1,绘制函数f(x)的图形f(x)=e-xcos(2x)x0,4glBegin(GL_LINE_STRIP);for(Gldoublex=0;x4.0;x+=0.005)glVertex2d(x,f(x);glEnd();glFlush();,OpenGL基本图元的绘制,第六章-19,线的绘制-示例1实验结果,OpenGL基本图元的绘制,第六章-20,线的绘制-示例2,OpenGL基本图元的绘制,第六章-21,线的属性,线宽线型在OpenGL中用于绘制点划线(虚线或点线)。启动点划线:,OpenGL基本图元的绘制,第六章-22,线的属性,建立画线模式:,参数pattren:一个16位值,它指定了画线时所用的模式。每一位代表线段的一部分是开还是关。默认情况下,每一位对应于一个像素。factor参数充当倍数可以增加模式的宽度。模式的第0位(最低有效位)最先用于指定线段。,OpenGL基本图元的绘制,第六章-23,多边形-三角形,OpenGL中的多边形有两点限制(实现硬件加速)多边形的边不能自相交;多边形必须是凸多边形;三角形是OpenGL程序员的首选图元。任何多个边的形状都可以用一个或多个三角形仔细地放在一起构成。大多数3D加速硬件都为绘制三角形进行了高度优化。必定不自相交;必定是凸多边形;许多3D基准测试程序都以每秒能绘制的三角形个数作为衡量标准。,OpenGL基本图元的绘制,第六章-24,多边形-三角形,三角形类型GL_TRIANGLES(三角形)GL_TRIANGLE_STRIP(三角条)GL_TRIANGLE_FAN(三角扇形),OpenGL基本图元的绘制,第六章-25,三角形的绘制-示例,OpenGL基本图元的绘制,第六章-26,三角形的绘制-示例,OpenGL基本图元的绘制,第六章-27,其它图元,GL_QUADS(四边形)GL_QUADS_STRIP(四边形条)GL_POLYGON(通用多边形),有一个图形是如此常用,以致于它有一个特殊函数而不是图元;这个图形就是矩形。函数gIRect提供了一种容易和方便的机制用于指定矩形。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!