OpenGL程序-输出-学号、姓名、照片等信息。直线、线型、字体程序.docx

OpenGL程序-输出-学号、姓名、照片等信息。直线、线型、字体程序.docx

ID:62018985

大小:29.62 KB

页数:8页

时间:2021-04-13

OpenGL程序-输出-学号、姓名、照片等信息。直线、线型、字体程序.docx_第1页
OpenGL程序-输出-学号、姓名、照片等信息。直线、线型、字体程序.docx_第2页
OpenGL程序-输出-学号、姓名、照片等信息。直线、线型、字体程序.docx_第3页
OpenGL程序-输出-学号、姓名、照片等信息。直线、线型、字体程序.docx_第4页
OpenGL程序-输出-学号、姓名、照片等信息。直线、线型、字体程序.docx_第5页
资源描述:

《OpenGL程序-输出-学号、姓名、照片等信息。直线、线型、字体程序.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、作业1姓名班级学号日期一:作业目的及要求:采用OpenGL程序,输出学号、姓名、照片等信息。直线、线型、字体程序。二:理论基础:1.使用GLUT进行窗口管理:(1)与大小有关的glutInitWindowSize(800,600);//用来定义显示窗口的初始化宽度和高度的像素数glutInitWindowPosition(200,200);//显示窗口左上角应该在屏幕左边界向右50个像素、屏幕上边界100像素的位置上。gluOrth02D(0.0,200.0,0.0,150.0);//这表示使用正投影将世界坐标系二维矩形区域的内容映射到屏幕上。以上三个概念需要弄

2、清,其中gluOrtho2D是指屏幕区域对应的模型坐标范围,比如横向范围是0到200米,纵向是0到150米,而后面的glutInitWindowSize是指glut的窗口弹出来后相对于你电脑屏幕的位置和大小,单位是像素。(2)窗口颜色设置glutInitDisplayMode(GLUT_SINGLE

3、GLUT_RGB);//指出显示窗口使用单个缓存且使用RGB(红绿蓝)颜色模型来设置颜色值glClearColor(1.0,1.0,1.0,0.0)//设置窗口背景颜色为白色,前三个变量为红绿蓝分量,最后一个为调和参数,相当于透明度。glClear(GL_COLOR

4、_BUFFER_BIT);//让赋予窗口的颜色在屏幕上显示。Glcolor3f(1.0,0.0,0.0);//显示场景中各种对象的颜色,左边的简单的设置为红色(3)其他glutInit(&argc,argv);//GLUT初始化函数glutCreateWindow("");//显示窗口创建定一个标题glutDisplayFunc(Display);//将创建的图形的定义传递给GLUT函数glutMainLoop();//创建的窗口及其中的图形内容激活2.输出图元(1)OpenGL画点函数OpenGL中定义的点放在函数glBegin()和glEnd()之间,有函数

5、glBegin()的参数指定绘制图元的类型。在OpenGL中绘制一个点时,点大小的默认值是一个像素。可以用函数glPointSize(GLfloatsize)修改这个值。这个函数采用一个参数来指定画点时以像素为单位的近似直径。但是不是任意大小点都支持,通常使用下面的代码来获取点大小的范围和他们的之间最小的中间值:GLfloatsizes[2];//保存绘制点的尺寸范围GLfloatstep;//保存绘制点尺寸的步长glGetFloatv(GL_POINT_SIZE_RANGE,sizes);glGetFloatv(GL_POINT_SIZE_RANULARITY

6、,&step);在OpenGL程序中,我们常可以利用离散的点来拟合一些常见的曲线,如圆,螺旋线等。(2)OpenGL的画线函数使用模式GL_LINES可以在两点之间画线;有时我们需要在一系列的顶点之间绘制连续直线,此时需要用到GL_LINE_STRIP或GL_LINE_LOOP模式。GL_LINE_STRIP模式可以根据指定的一系列顶点,从一个顶点到另一个顶点用连续的线段画线。特别的,当沿着某条曲线指定一系列靠的很近的点,使用GL_LINE_STRIP模式可以绘制一条曲线。GL_LINE_LOOP模式与GL_LINE_STRIP模式类似,只是会在指定的最后一个顶

7、点与第一个顶点之间画最后一条线。直线的属性包括线宽和线型。在OpenGL中可用voidglLineWidth(GLfloatwidth)指定线宽。可以用下面的代码来获取线宽范围和他们的之间的最小间隔:GLfloatsizes[2];//保存线宽的尺寸范围GLfloatstep;//保存线宽尺寸的最小间隔glGetFloarv(GL_LINE_WIDTH_RANGE,sizes);glGetFloarv(GL_LINE_WIDTH_GRANULARITY,&step);数组sizes中保存了glLineWidth的最小有效值和最大有效值,而变量step将保存线宽之

8、间允许的最小增量。Microsoft的OpenGL实现允许线宽从0.5到10.0,最小增量为0.125.(3)OpenGL的字符生成函数字符指数字、字母、汉字等符号。计算机中字符由一个数字编码唯一标识。“美国信息交换用标准代码集”简称ASCII码。它是用7位二进制数进行编码表示128个字符汉字编码的国家标准字符集。每个符号由一个区码和一个位码(2字节)共同标识。区分ASCII码与汉字编码,采用字节的最高位来标识GlutBitmapCharacter(front,charater)//c是字符的ASCII码,该函数显示位图字符glutStrokeCharacter

9、(front,chara

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

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

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