最新OpenGL图形编程2基本图形绘制(陈永强)教学讲义ppt.ppt

最新OpenGL图形编程2基本图形绘制(陈永强)教学讲义ppt.ppt

ID:62072954

大小:718.50 KB

页数:53页

时间:2021-04-14

最新OpenGL图形编程2基本图形绘制(陈永强)教学讲义ppt.ppt_第1页
最新OpenGL图形编程2基本图形绘制(陈永强)教学讲义ppt.ppt_第2页
最新OpenGL图形编程2基本图形绘制(陈永强)教学讲义ppt.ppt_第3页
最新OpenGL图形编程2基本图形绘制(陈永强)教学讲义ppt.ppt_第4页
最新OpenGL图形编程2基本图形绘制(陈永强)教学讲义ppt.ppt_第5页
资源描述:

《最新OpenGL图形编程2基本图形绘制(陈永强)教学讲义ppt.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、OpenGL图形编程2基本图形绘制(陈永强)2.OpenGL基本图形绘制2.1glBegin/glEnd2.2点的绘制2.3直线的绘制2.4多边形面的绘制2.5OpenGL中的字符函数2.6OpenGL中的反走样22.1glBegin/glEndOpenGL的图元绘制放在函数glBegin和glEnd之间,由函数glBegin的参数指定绘制图元的类型。2.2点的绘制点的绘制glBegin(GL_POINTS);glVertex3f(0.0f,0.0f,0.0f);glVertex3f(10.0f,0.0f,0.0f);glEnd();72.2点的绘制点的属性(大小)在OpenG

2、L中绘制一个点时,点大小的默认值是一个象素。可以用函数glPointSize修改这个值:voidglPointSize(GLfloatsize);这个函数采用一个参数来指定画点时以象素为单位的近似直径。82.2点的绘制点的属性(大小)通常使用下面的代码来获取点大小的范围和它们之间最小的中间值:GLfloatsizes[2];//保存绘制点的尺寸范围GLfloatstep;//保存绘制点尺寸的步长glGetFloatv(GL_POINT_SIZE_RANGE,sizes);glGetFloatv(GL_POINT_SIZE_GRANULARITY,&step);在数组seizes

3、中包含两个元素,分别保存了glPointSize的最小有效值和最大有效值,而变量step将保存点大小之间允许的最小增量。指定范围之外的大小不会被解释为错误,而是使用最接近指定值的可支持的最大或最小尺寸。92.3直线的绘制直线的绘制模式GL_LINESGL_LINE_STRIPGL_LINE_LOOP10(a)GL_LINES画线模式(b)GL_LINE_LOOP画线模式(c)GL_LINE_STRIP画线模式图5-57OpenGL画线模式2.3直线的绘制直线的绘制使用模式GL_LINES可以在两点之间画线,在两点(0,0,0)和(10,10,10)之间画一条直线:glBegin

4、(GL_LINES);glVertex3f(0.0f,0.0f,0.0f);glVertex3f(10.0f,10.0f,10.0f);glEnd();注意,在glBegin/glEnd序列中两个顶点指定了一个直线,如果序列中指定的点为奇数个,那么最后一个顶点将被忽略。112.3直线的绘制直线的绘制需要在一系列的顶点之间绘制连续直线,就要用到GL_LINE_STRIP或GL_LINE_LOOP模式。122.3直线的绘制直线的绘制GL_LINE_STRIP模式可以根据指定的一系列顶点,从一个顶点到另一个顶点用连续的线段画线:glBegin(GL_LINE_STRIP);glVer

5、tex3f(0.0f,0.0f,0.0f);glVertex3f(10.0f,10.0f,0.0f);glVertex3f(20.0f,5.0f,0.0f);glEnd();在xy平面内绘制了两条直线(0,0,0)到(10,0,0)和(0,10,0)到(20,5,0)。132.3直线的绘制直线的绘制GL_LINE_LOOP模式与GL_LINE_STRIP模式类似,只是会在指定的最后一个顶点与第一个顶点之间画最后一条线。142.3直线的绘制直线的属性线宽线型152.3直线的绘制直线的属性线宽可用glLineWidth指定线宽:voidglLineWidth(GLfloatwidt

6、h)与点的大小类似,glLineWidth函数采用一个参数来指定要画的线以象素计的近似宽度。162.3直线的绘制直线的属性线宽可以用下面的代码来获取线宽范围和它们之间的最小间隔:GLfloatsizes[2];//保存线宽的尺寸范围GLfloatstep;//保存线宽尺寸的最小间隔glGetFloarv(GL_LINE_WIDTH_RANGE,sizes);glGetFloatv(GL_LINE_WIDTH_GRANULARITY,&step);数组sizes中保存了glLineWidth的最小有效值和最大有效值,而变量step将保存线宽之间允许的最小增量。OpenGL规范只要

7、求支持一种线宽:1.0。Microsoft的OpenGL实现允许线宽从0.5到10.0,最小增量为0.125。172.3直线的绘制直线的属性线型可以用虚线或短划线模式创建直线,需要先调用:glEnable(GL_LINE_STIPPLE);然后,建立用于画线的模式:glLineStipple(GLintfactor,GLushortpattern);参数pattern是一个16位值,指定画线时所用的模式,逆向使用。每一位代表线段的一部分是开还是关。默认情况下,每一位对应一个象素。参数fact

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

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

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