- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
x
《计算机图形学》
期末考查报告
学年学期:xxxx
专业班级:xxxx
学生姓名:xxxx
学 号:xxxx
成 绩:
任课老师:xxxx
提交日期:xxxx
内容与要求
一、目的
本学期通过课堂授课、上机练习、作业等诸多教学环节,要求学生了解计算机图形学理论体系及其在图形处理系统开发中的应用;掌握二维及三维图形的几何变换、投影变换、裁剪、消隐的基本理论和方法;理解基本图元、曲线、曲面的生成算法;理解图形的明暗处理、纹理映射、阴影生成、真实感图形的生成与处理的原理。掌握OpenGL编程基础知识及三维图形系统开发的实用技术。期末考查将以计算机图形学OpenGL编程为主要考查内容。
二、内容及要求
(一)、总结OpenGL编程基础知识
OpenGL不是一种编程语言,而是一种API(Application Programming Interface,应用程序编程接口)。 OpenGL的核心库中包含了OpenGL多个函数,这些函数都以“g1”为前缀最基本的命令函数。 OpenGL的实用函数库是比OpenGL核心库更高一层的函数库,也可以看作是对基本核心库的扩充。它提供了四十多个函数,这些函数都以字母“glu”为前缀。GLUT代表OpenGL应用工具包(GLUT: OpenGL Utility Toolkit ),是一个和窗口系统无关的工具包。
OpenGL包含200多个函数。按照功能对这些函数进行分类是大有帮助的:
(1)图元函数。这些函数定义了可在屏幕上生成图像的元素。有两种类型的图元:几何图元(例如多边形),它们可采用2个、3个或者4个维度来定义;以及图像图元,比如位图。
(2)属性函数。这些函数控制图元的外观。这些函数定义了颜色、线条类型、材料性质(material property、光源以及材质。
(3)观视函数。这些函数决定了照相机的属性。OpenGL提供了一个虚拟照相机,可相对于图元函数定义的对象来定位它和调整它的方向。还可对照相机的镜头进行控制,使其产生广角与远距拍摄效果。
(4)视窗函数。这些函数不是OpenGL核心的一部分。但是,由于它们对于交互式应用程序的重要性,所以使用单独的库(比如GLUT)来容纳它们。我们可利用这些函数来控制屏幕上的窗口显示,并可通过它们来使用鼠标及键盘。
(5)控制函数。这些函数允许我们启用各种OpenGL特性。还可利用它们来了解一个特定实现具有的能力。
按照使用功能,GLUT中的函数可以分为以下几类:
1.初始化和创建窗口
(1)函数如下:void glutInit(ant argc,char**argv);功能:该函数用于初始化GLUT库。
(2)函数如下: Void glutInitDisplayMode(unsigned int mode);功能:该函数为即将创建的窗口指定一种显示模式,如RGBA或颜色索引,单缓存或双缓存。另外,还可以指定该窗口相关的深度、模板或累积缓存。
(3)函数如下:Void glutInitWindowSize(int width,int height);功能:该函数为即将创建的窗口指定一个初始的大小。
(4)函数如下:Void glutInitWindowPosition(int x,int y);功能:该函数为即将创建的窗口指定一个初始的位置。
(5)函数如下:Void glutCreateWindow(char**name);功能:该命令用于创建一个允许使用的OpenGL窗口,并将其视为当前窗口。
2.处理窗口和愉入
(1)函数如下:void glutDisplayFunc(void(*func)(void));功能:该函数用于绘制当前窗口。
(2)函数如下:Void glutReshapeFunc(void(*func)(int width,int height));功能:该函数指定了当窗口的尺寸被缩放或移动时所调用的函数。
(3)函数如下:Void glutKeyboardFunc(void(*func)(unsigned int key,int x,int y));功能:该函数指定了当按下一个生成ASCII字符的键时,调用的函数。
(4)函数如下:Void glutMouseFunc(void(*fonc)(int button,int state,int x,int y));功能:该函数指定了当按下或释放一个鼠标键时,调用的函数。
(5)函数如下:Void glutSpecialFunc(void(*func)(unsigned int key,int
文档评论(0)