欢迎来到天天文库
浏览记录
ID:52267835
大小:1.78 MB
页数:27页
时间:2020-04-03
《OpenGL基本图元的绘制.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第六章OpenGL基本图元的绘制内容概述点线多边形字符OpenGL基本图元的绘制2概述OpenGL中最基本的图元是点,每个几何实体都是由一个顶点集和绘制图元的类型描述的。顶点间是否连接或怎样连接由图元的类型决定。OpenGL基本图元的绘制3概述OpenGL提供的所有图元(点、线、多边形)的绘制,必须通过glBegin()和glEnd()函数的配对来完成。voidglBegin(Glenummode)功能:描述一个几何图形顶点序列的开始。参数说明:mode指图元的类型。voidglEnd(void)功能:标记顶点表的
2、结束。例如:glBegin(GL_LINES);glVertex2f(50.0,50.0);glVertex2f(100.0,100.0);glEnd();OpenGL基本图元的绘制4几何图元类型和含义OpenGL基本图元的绘制5几何图元实体OpenGL基本图元的绘制6点点的绘制glVertex{2,3,4}{sifd}(TYPEcoords)参数说明:coords用一个数组或用奇次坐标(x,y,z,w)赋顶点坐标。四维奇次坐标(x,y,z,w)相当于三次坐标(x/w,y/w,z/w)。例如:glBegin(GL_
3、POINTS);glVertex2i(1,2);glVertex3d(1.23,2.34,3.63);glVertex4f(1.3,2.0,-4.2,1.0);glVertex3sv(array);glEnd();OpenGL基本图元的绘制7点点的大小点的大小默认值是一个像素,可以用函数修改这个值,以设定点的大小。voidglPointsize(Glfloatsize)参数size:指定画点时以像素为单位的近似直径。注意:系统只支持一定大小范围内的点的大小。OpenGL基本图元的绘制8点的绘制图形显示布局及坐标系图
4、(a):整个屏幕用于绘制图形。图(b):时下流行的“基于窗口”的系统(如Windows窗口系统)。图(c):OpenGL“基于窗口”的绘图系统。OpenGL基本图元的绘制9点的绘制-示例1OpenGL基本图元的绘制10点的绘制-示例1建立坐标系统gluOrtho2D(GLdoubleleft,GLdoubleright,GLdoublebottom,GLdoubletop);如:实质上是定义二维正视投影矩阵OpenGL基本图元的绘制11点的绘制-示例2_0OpenGL基本图元的绘制12点的绘制-示例2_0绘制函数f
5、(x)的图形f(x)=e-xcos(2x)x∈[0,4]glBegin(GL_POINTS);for(Gldoublex=0;x<4.0;x+=0.005)glVertex2d(x,f(x));glEnd();glFlush();会出现什么问题?OpenGL基本图元的绘制13点的绘制-示例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的变
6、换具有如下形式:sx=Ax+Bsy=Cy+D本方法采用蛮力方法(BruteForce),不具有通用性。OpenGL基本图元的绘制14实验(二)1.绘制函数f(x)=sin(x)x∈[0,2]2.绘制过程图形任取三点T0、T1、T2,该三点可形成某个三角形;从上述三点中任取一点,取名为点P0,并且绘制该点;循环执行如下步骤,直至满足结束条件:从T0、T1、T2中任取一点作为,取名为点T;在点T和前面选择的点PK-1的中间构建一个点,取名为PK;绘制点PK;OpenGL基本图元的绘制15实验(二)OpenGL基本图元的
7、绘制16线直线的绘制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基本图元的绘制17线的绘制-示例1绘制函数f(x)的图形f(x)=e-xcos(2x)x∈[0,4]glBegin(GL_LINE_STRIP);for(Gldoublex=0;x<4.0;x+=0.005)glVertex2d(
8、x,f(x));glEnd();glFlush();OpenGL基本图元的绘制18线的绘制-示例1实验结果OpenGL基本图元的绘制19线的绘制-示例2OpenGL基本图元的绘制20线的属性线宽线型在OpenGL中用于绘制点划线(虚线或点线)。启动点划线:OpenGL基本图元的绘制21线的属性建立画线模式:参数pattren:一个16位值,它指定了画线时所用
此文档下载收益归作者所有