第一篇:软件设计文档编写标准化[小编推荐]
软件设计:文档编写标准化
在项目开发过程中,应该按要求编写好十三种文档,文档编制要求具有针对性、精确性、清晰性、完整性、灵活性、可追溯性。
◇ 可行性分析报告:说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。
◇ 项目开发计划:为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员、开发的进度、开发经费的预算、所需的硬件及软件资源等。◇ 软件需求说明书(软件规格说明书):对所开发软件的功能、性能、用户界面及运行环境等作出详细的说明。它是在用户与开发人员双方对软件需求取得共同理解并达成协议的条件下编写的,也是实施开发工作的基础。该说明书应给出数据逻辑和数据采集的各项要求,为生成和维护系统数据文件做好准备。◇ 概要设计说明书:该说明书是概要实际阶段的工作成果,它应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计提供基础。
◇ 详细设计说明书:着重描述每一模块是怎样实现的,包括实现算法、逻辑流程等。
◇ 用户操作手册:本手册详细描述软件的功能、性能和用户界面,使用户对如何使用该软件得到具体的了解,为操作人员提供该软件各种运行情况的有关知识,特别是操作方法的具体细节。
◇ 测试计划:为做好集成测试和验收测试,需为如何组织测试制订实施计划。计划应包括测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。
◇ 测试分析报告:测试工作完成以后,应提交测试计划执行情况的说明,对测
试结果加以分析,并提出测试的结论意见。
◇ 开发进度月报:该月报系软件人员按月向管理部门提交的项目进展情况报告,报告应包括进度计划与实际执行情况的比较、阶段成果、遇到的问题和解决的办法以及下个月的打算等。
◇ 项目开发总结报告:软件项目开发完成以后,应与项目实施计划对照,总结实际执行的情况,如进度、成果、资源利用、成本和投入的人力,此外,还需对开发工作做出评价,总结出经验和教训。
◇ 软件维护手册:主要包括软件系统说明、程序模块说明、操作环境、支持软件的说明、维护过程的说明,便于软件的维护。
◇ 软件问题报告:指出软件问题的登记情况,如日期、发现人、状态、问题所属模块等,为软件修改提供准备文档。
◇ 软件修改报告:软件产品投入运行以后,发现了需对其进行修正、更改等问题,应将存在的问题、修改的考虑以及修改的影响作出详细的描述,提交审批。
第二篇:软件设计辞职报告
软件程序员是一个工作压力非常大的职业,下面就是小编为您收集整理的软件设计辞职报告的相关文章,希望可以帮到您,如果你觉得不错的话可以分享给更多小伙伴哦!
软件设计辞职报告一
尊敬的领导:
您好!
在经过我长时间的考虑之后,结合我自身的实际情况,我不得不作出辞职申请,因为很多的实际情况,我已经无法继续在公司中工作下去,这些是我不愿意看到的,也是领导不愿意看到的。可是现实就是这样,谁也无法左右,我感到十分的无奈,我会牢记我在今公司中工作的过去的。
入职以后先后在宽带无线接入和gbss维护开发部门工作,xx年年2月正式转正。转正成绩为c。以后的工作中表现正常,两次季度考核都获得c。由于个人的从业经历和专业的问题,对无线产品没有知识积累,但是在工作中我努力学习,积极请教,能够完成公司交给我的任务。
在职期间两个部门的主管对我的生活和工作都非常的关心,经常进行思想交流和技术点拨,使我受益很大,感谢领导们的关心。辞职主要原因是我自身的问题,无法适应目前的工作压力,精神上和身体上已经不勘重负。另一个原因是在华为入职以来一直找不到自己的位置,无法给自己定位。海外的生活使我感觉自己的性格特点和思维方式无法适应华为海外团队的文化。
出于保护自己的目的,特向您提出辞职申请。希望早日回到国内,完成离职手续,有时间调整自己的身体状态和精神状态。我想我会在调养好自己的身体之后,继续不断的努力工作下去的。可是现在的情况是我已经无法继续高质量完成公司的工作了,我只好选择离开,我在今后的工作中一定会更好的工作下去的。前提是我一定要养好自己的身体,我坚信自己能够走好!
请对我个人给予充分的谅解,并批准我的辞职申请,谢谢。
软件设计辞职报告二
尊敬的××领导:
当我在凌晨三点读到这段话时,心里面感慨万千,久不能眠。于是我打开Notebook,给您写了这封辞呈。
去年底开始,去与留这二字,在我心里一直反复。直到我想到了这句话“当您在很难作出选择的时候,您必须尊重发自你内心的声音”。当初进入公司时您对我的满怀期许。而我自持在外企呆过,做事条理清晰,对自已充满信心,看不到自已的短处。想起这些至今令我汗颜。
记得当时我在工作上遇到困难与挫折,我与我夫人商量准备离开公司时。我夫人一句意味深长的话让我留了下来。她说:“您先呆着看看,有的时候坏事它也末必是坏事”。我现在得感激她,因为现在看来,她的话是对的。是她的这句话,使我在工作之余每天都在反省自已的不足之处,并想办法加以弥补。我终于明白了一个道理,一个人在反省中不断完善和超越自我是多么的重要。
IT是一个技术性很强的行业,个人曾经历过一个又一个开发工具从受到大家的追捧到被冷落。最后我发现,我应抓住其中的一些基础的,和永恒的不变因素,即便人人都有权力去选择他感兴趣的部分。因此我努力的找到了自已的兴趣与擅长。并不断努力的学习。
在这三年的工作时间里曾经有过的激情,迷惘,彷徨,和温暖,感悟,奋进。父亲交给我的坚毅,诚实的心态使我在这些过程中坚难的走了过来,并在工作中,生活中不断的修正自已,努力的提高自已的认识。我也并因此而重拾生活的信心。
回首过去,当我想到要有足够的胸怀来接受你不能改变的事情,要有足够的勇气来改变你能改变的事情,要有足够的智慧来区分二者的不同.时,我恍然大悟,原来是因为自已的胸怀不够.人生无法重来,但是可以随时重新来,我有选择的权力.....曾记起研究开发部的朝气,热情。技术工程部的和谐,沉稳,责任。这些都给我留下难以磨灭的印象,它已深深的印在我的脑海里,也必将让我时常想起一起共事过的各位同仁。
最后我发自内心地——
感谢和一起工作过的同仁,我曾经和他们度过了一段非常快乐的,令我难忘的时光。
感谢您这几年来对我的厚爱,对我自身存在缺点的包容,以及对我在工作中所犯错误的指正。您那颗正直的心,满怀激情的人生态度、宽广的胸怀、机敏的处事方式、必将令我受用终身。
也正因此,我祝愿您,您也必将用您的智慧引领公司走向一个更加高远的,全新的末来。
×× 敬上
第三篇:3D游戏软件设计
注:“★考核知识点”后面的标注内容在PPT中均有对应章节,因PPT序号混乱,不在考核知识点后一一罗列,请在PPT中查找。
一、客观部分:(单项选择、多项选择、不定项选择、判断)
(一)、选择部分
(1)OPenGL常用的库里面,属于核心库的是()
A GL B GLU C GLAUX DGLUT ★考核知识点: OpenGL概述
(2)OPenGL渲染流水中,对光栅化描述正确的是()
A 把顶点变换成图元
B 把几何数据和像素数据转换为片断的过程。它将几何数据转换成片元,片元和要显示的像素一一对应
C OpenGL应用程序可以在几何物体上应用纹理图像,使它们看上去更为逼真D主要的内容就是裁剪,它的任务是消除位于半空间之外的那部分几何图元。在某些情况下,还要进行透视除法,用以得到归一化的设备坐标
★考核知识点: OpenGL概述
(3)下面对于OpenGL特点描述正确的有()
A标准支持灵活,可以用软件例程实现也可以使用软硬件组合使用 B具有灵活的伸缩性
C提供了一套良好的功能扩充机制,并且各个版本向后兼容 D跨平台,在科研和教学上是主流
★考核知识点: OpenGL概述
(4)1992年7月,SGI公司发布了OpenGL的1.0版本,随后又与微软公司共同开发了NT版本的OpenGL,从而使一些原来必须在高档图形工作站上运行的大型3D图形处理软件也可以在微机上运用()
★考核知识点: OpenGL概述
(5)OpenGL(开放性图形库Open Graphics Library):是图形硬件的一种软件接口()
★考核知识点: OpenGL概述
(6)()是用于定义构成物体的三角形单元列表的坐标系。
A 观察坐标系B世界坐标系C本地坐标系D转换坐标系
★考核知识点: 状态管理和绘制几何物体
(7)glBegin()函数的意义是()A标志着程序的执行的开始 B标志着一个顶点数据列表的开始 C标志着OpenGL的绘制操作的开始 D标志着当前函数的开始
★考核知识点: 状态管理和绘制几何物体
(8)在win32程序中,主函数是从哪里进入执行的()
A GLMain B WinMain C Begin Dmain ★考核知识点: 状态管理和绘制几何物体
(9)OpenGL中在颜色索引模式下使用的用于选择单值索引的函数是()。A glIndex BglClampColor C glClear D glColor3f ★考核知识点: 颜色渲染和纹理贴图(10)下列哪个颜色不属于三原色()A红 B蓝 C绿D白
★考核知识点: 颜色渲染和纹理贴图
(11)OpenGL的光照模型根据材料反射的红、绿和蓝光的比例来模拟它的颜色。当一个纯红的球体,如果给球体仅仅投上绿色的光线,那么看起来球的颜色会是黑色()
★考核知识点: 颜色渲染和纹理贴图
A(0,0,0)B(255,0,255)C(255,255,255)D(1,1,1)(12)用函数glColor3i()函数设置的黑色的颜色值为()
★考核知识点: 颜色渲染和纹理贴图
(13)OpenGL中光照模型,被物体表面均匀的反射。即使光是被均匀的反射回去的,它直射的物体表面比从某个角度照射过来时要亮()
A环境光B散射光C镜面光D发射光
★考核知识点:环境光、散射光、镜面光、发射光
(14)OpenGL中如何判断一个点接收了光源的多少光线()
A通过距离光源的距离进行计算 B通过法线相对光源的方向进行计算 C通过物体的颜色值进行计算
D通过物体和光源的颜色值的综合考虑进行计算
★考核知识点:光照
(15)OpenGL提供了最大数目为N的单场景内光照光源模型,N为()
A 1 B 8 C 16
D不限制,只要为2的幂就可以了
★考核知识点:光照
(16)OpenGL光照模型中,有一种会将光源强烈的反射到了另外一个特定的方向。高亮 A镜面光B聚光灯光C环境光D发射光 度的光柱往往能在被照射的物体上产生称之为亮斑的亮点()
★考核知识点:光照
(17)OpenGL光照模型中,表面的发射颜色可以增加物体的强度,但是他们不受任何★考核知识点:光照 光源的影响,在整个场景中,并没有作为一种额外的光照()(18)设置光源位置时,当我们的光源坐标位置(x,y,z,w)中的w为0时代表我们的光为平行光源()
★考核知识点:光照
(19)OpenGL一个场景中至多可以在包含16个光源()
★考核知识点:光照
(20)用函数glColor3i()函数设置的黑色的颜色值为()
★考核知识点:绘制像素、位图字体和图像
(21)像素数据从可以开始从缓冲区读取到内存然后把像素数据从内存写入到帧缓冲最后在帧缓冲内部复制像素数据()
★考核知识点:绘制像素、位图字体和图像
(22)以下哪个函数可以设置当前的光栅位置()
A glTranslatef()B glRasterPos()C glRotatef()D glDrawPos()★考核知识点:绘制像素、位图字体和图像
(23)在绘制几何图形之时,我们可以使用glColor*()函数去设置当前颜色或者当前颜色索引()
★考核知识点:绘制像素、位图字体和图像
(24)在设置了光栅位置之后,我们可以使用glBitmap函数来绘制数据()
★考核知识点:绘制像素、位图字体和图像
(25)void glRasterPos2*(type x,type y);用于设置位图的绘制位置。()
★考核知识点:绘制像素、位图字体和图像
(26)glCopyPixels的像素路径包括()
A像素传输操作B基于片断的操作C在帧缓冲区暂存D光栅化操作
★考核知识点:绘制像素、位图字体和图像
(27)当我们的源和目标的alpha值都为0.35时,当使用函数glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA)进行像素混合,得出的结果描述正确的是?()
A源和目标混合效果相同 B混合色更接近源 C混合色更接近目标 D无法判断
★考核知识点:混合抗锯齿雾多边形偏移
(28)启动混合后,如果绿色物体和一个红色物体用glBlendFunc(GL_ONE,GL_ONE)方式混合后,结果的混合部分的颜色为(D)A红色B绿色C白色D黄色
★考核知识点:混合抗锯齿雾多边形偏移
(29)图形学中称由于采样频率不足而造成的失真为走样,反走样通过多重采样改善图形锯齿效果()
★考核知识点:混合抗锯齿雾多边形偏移
(30)如果不进行混和操作,每个新的片元都被OpenGL当成是不透明的,覆盖掉帧缓存已存在的颜色值。()
★考核知识点:混合抗锯齿雾多边形偏移
(31)颜色定义中RGBA的A是alpha值,alpha值的作用是将已处理过的片元颜色值与存储在帧缓存中的像素颜色结合起来()
★考核知识点:混合抗锯齿雾多边形偏移
(32)当前属于颜色索引模式时,我们可以进行的操作有()。
A实现颜色混和操作B实现透明效果C实现颜色叠加D实现颜色渐变效果
★考核知识点:混合抗锯齿雾多边形偏移
(33)void glBlendFunc(Glenumafactor,Glenumbfactor)
其中参数afactor和参数bfactor分别用于指定源和目标的混合因子()
★考核知识点:混合抗锯齿雾多边形偏移
(34)颜色混合方程中,GL_FUNC_ADD实现的功能是()
A CsS+CdD B CsS-CcD C min(CsS,CdD)D max(CsS,CdD)★考核知识点:混合抗锯齿雾多边形偏移
(35)开启颜色混合的函数方式为()
A GL_BLEND B GL_BLENDING C GL_RENDER D GL_ENABLEBLEND ★考核知识点:混合抗锯齿雾多边形偏移
(36)一个矢量加上一个矢量结果为()
A一个矢量 B一个标量
C如果为零则不是矢量,其它情况下皆为矢量 D以上说法都不对
★考核知识点:图形变换的数学基础
(37)两个矢量之间的点乘结果为()
A一个矢量 B一个标量
C如果为零则不是矢量,其它情况下皆为矢量 D以上说法都不对
★考核知识点:图形变换的数学基础
(38)glLoadIdentity()函数对于4×4矩阵操作结果为()
A [0,0,0,0;0,0,0,0;0,0,0,0;0,0,0,0] B1,1,1,1;1,1,1,1;1,1,1,1;1,1,1,1] C[1,0,0,1;0,1,0,1;0,0,1,1;0,0,0,1] D[1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1] ★考核知识点:图形变换的数学基础
(39)我们在使用定义视口函数 glViewport 中,第三个参数有什么作用()
A描述视口的距离屏幕最左位置 B描述视口的距离屏幕最上位置 C描述视口的高度 D描述视口的宽度
★考核知识点:图形变换的数学基础
(40)通过矩阵[sx,0;0,sy]对二维的不经过原点的图元进行缩放变换,有可能得到的结果为()
A图元相对原点的位置变化了 B图元自身尺寸变化了
C图元可以只发生旋转,相对原点位置没有移动 D图元自身发生了旋转
★考核知识点:图形变换的数学基础
(41)从物体坐标到屏幕坐标的显示流程中我们必须要经过的经典的变换流水包()
A世界坐标系内地变换 B对窗口的裁剪操作 C窗口到视口的变换 D对模型进行坐标进行变换
★考核知识点:OpenGL的视图变换
(42)函数void gluPerspective(Param1,Param2,Param3,Param4)中,标示近裁剪面的是哪个参数()
A Param1 BParam2 C Param3 D Param4 ★考核知识点:OpenGL的视图变换
(43)哪些变换分别用于设定物体在世界坐标系中的位置、方向以及模型大小。()
A平移变换B旋转变换C缩放变换D投影变换
★考核知识点:OpenGL的视图变换
(44)()变换后的的几何体位于观察坐标系中。
A局部变换B取景变换C世界变换D空间变换 ★考核知识点:OpenGL的视图变换
(45)投影变换包括哪几种投影方式。()
A平面投影B透视投影C正射投影D缩放投影
★考核知识点:OpenGL的视图变换
(46)下对函数gluLookAt(0,0,0, 0,0,-3,1,0,0)描述正确的是
A观察点在原点(AD)B正方向为z轴负方向 C观察方向指向z轴正方向 D正方向为x轴正方向
★考核知识点:OpenGL的视图变换
(47)glRotatef(fRot,1,1,0)描述先按照X轴旋转fRot,接着绕Y轴旋转fRot()
★考核知识点:OpenGL的视图变换
(48)在OpenGL中如果要实现运动模糊效果,需要借助以下哪个缓冲区()
A深度缓冲区B帧缓冲区C模版缓冲区D积累缓冲区
★考核知识点:帧缓冲区
(49)当前程序的状态处于常规的绘图模式,那么接下来使用下列哪些函数可以退出当前绘图模式()
A glRender(GL_FEEDBACK);B glRender(GL_SELECT);C glEnd();D glBegin(GL_TRIANGLES)★考核知识点:帧缓冲区
(50)雾化效果在颜色索引模式下是不可用的()
★考核知识点:帧缓冲区
(51)如果我们需要使用OpenGL进行3维点选操作,那么可以通过函数glRenderMode()指定()进入选择模式
A GL_FEEDBACK BGL_SELECT C GL_PEEK D GL_MODEVIEW ★考核知识点:帧缓冲区
(52)OpenGL中如果锁住了深度缓冲区,那么所有的物体的深度就无法测试了,物体只是根据绘制的先后相互覆盖了()
★考核知识点:帧缓冲区
(53)绘制球体,我们使用函数:
void gluSphere(GLUquadricObj *obj,Gldoubleradius,Glintslices,Glint stacks);()
下面,我们对参数描述正确的选项有()A slice代表的就是经线的数目 B stacks参数代表的就是纬线的数目 C slice参数代表的就是纬线的数目 D stacks代表的就是经线的数目
★考核知识点:分割化和二次方程表面
(54)OpenGL中我们需要完成对NURBS对象的销毁,调用的函数是gluDeleteNurbsRenderer()
★考核知识点:分割化和二次方程表面
(55)常见的纹理寻址模式有()A重叠纹理寻址模式B镜像纹理寻址模式 C钳位纹理寻址模式D边界颜色纹理寻址模式
★考核知识点:分割化和二次方程表面
(56)gluQuadricDrawStyle 函数选择用于绘制几何形状的图元类型。系统默认的类型是使用三角条状图元来填充所要绘制的几何形状,填充模式默认为 A GLU_LINE B GL_FILL C GLU_SILHOUETTE D GLU_POINT ★考核知识点:分割化和二次方程表面
(57)绘制球体,我们使用函数:
void gluSphere(GLUquadricObj *obj,Gldoubleradius,Glintslices,Glint stacks);下面,我们对参数描述正确的选项有()
A slice代表的就是经线的数目 B stacks参数代表的就是纬线的数目 C slice参数代表的就是纬线的数目 D stacks代表的就是经线的数目
★考核知识点:求值器和NURBS(58)我们的B样条曲线(三次)和与贝塞尔曲线很相似,不同之处是此曲线会分解成很多的小段。每个给定段的形状都仅受到最近4个控制点的影响()
★考核知识点:求值器和NURBS(59)我们的B样条曲线(三次)和与贝塞尔曲线很相似,不同之处是此曲线会分解成很多的小段。每个给定段的形状都仅受到最近4个控制点的影响()
★考核知识点:求值器和NURBS(60)()是Direct3D用来存储绘制到屏幕上的每个像素点深度信息的一块内存缓冲区
A 广度缓存 B 深度缓存 C 深度测试 D 广度测试
★考核知识点:求值器和NURBS(61)OpenGL中我们需要完成对NURBS对象的销毁,调用的函数是gluDeleteNurbsRenderer()
★考核知识点:求值器和NURBS(62)纹理阶段混合状态用于指定当前纹理颜色值和Alpha值的混合方法()
★考核知识点:求值器和NURBS(63)通常情况下,深度缓存用于判断三维空间中物体的遮挡情况()
★考核知识点:求值器和NURBS(64)设置深度缓存是指设置深度测试成功时对深度缓存如何操作()
★考核知识点:求值器和NURBS(65)图形学中称由于采样频率不足而造成的失真为走样,反走样通过多重采样改善图形锯齿效果()
★考核知识点:求值器和NURBS(66)渲染后物体模型通常是由三角形图元组成的,我们称它为一个Mesh结构()
★考核知识点:求值器和NURBS(67)若要从缓存中只读不写数据,就不需要锁定缓存,用完后解锁()(68)如果我们需要使用OpenGL进行3维点选操作,那么可以通过函数glRenderMode()指定GL_SELECT,进入选择模式()
(69)在执行用于操纵名字堆栈的函数或调用glRenderMode()函数之后,如果出现了一次点击,OpenGL就会在选择数组中写入一个点击记录,所以,如果共享相同的名称对象,不会产生多条点击记录。()(70)在点击发生时,名字堆栈的内容从()的元素开始。A最顶部B上一个操作的位置C最底部D任意
(71)如果我们需要使用OpenGL进行3维点选操作,那么可以通过函数glRenderMode()指定GL_SELECT,进入选择模式()
(72)进行点选操作后,假设当前的选择缓冲区为pSelectBuff,那么其中的pSelectBuff[0]的值得含义是()
A自上一个点击记录之后,与视景体相交的图元的所有顶点的最小窗口坐标的z值 B自上一个点击记录之后,与视景体相交的图元的所有顶点的最大窗口坐标的z值 C点击发生时名字堆栈的内容 D名字堆栈中压入的名字数
(73)OpenGL中如果锁住了深度缓冲区,那么所有的物体的深度就无法测试了,物体只是根据绘制的先后相互覆盖了()
★考核知识点:选择和反馈
(74)名字堆栈形成了返回选择信息的基础,如果此时我们需要使用某个名称来替换名字堆栈顶部的元素,可以使用函数为()
A void glInitNames(void);B void glPushName(GLuint name);C void glPopName(void);D void glLoadName(Gluint name);★考核知识点:选择和反馈
(75)选择返回功能函数:
void glSelectBuffer(Glsizeisize,Gluint *buffer)对函数描述正确的是()A buffer参数指向的数组用于存放选择数据
B buffer参数指向的数组仅仅用于存放选择的物体ID C size表示这个数组可以存储单个数据的大小 D size表示这个数组可以存储的最大值
★考核知识点:选择和反馈
(76)用glSelectBuffer()函数指定用于返回点击记录的数组()
★考核知识点:选择和反馈
(77)使用函数 void gluPickMatrix(Gldoublex,Gldoubley,Gldoublewidth,Gldoubleheight,Glint viewport[4]);选择的挑选区域的中心是()A 世界坐标B窗口坐标C物体坐标D可以任意指定
★考核知识点:选择和反馈
(78)由于粒子之间的碰撞计算量很大并且对于大多数模拟来说没有必要,所以我们很少使用粒子之间的碰撞。()
★考核知识点:粒子系统
(79)粒子(Particle)是一种微小的物体,在数学上通常用点来表示其模型,所以显示和表示粒子时,我们通常使用点结构来描述。()
★考核知识点:粒子系统
(80)以下可以通过常见的粒子系统实现的是()A雪花B下雨C喷泉喷水D金属车漆效果
★考核知识点:粒子系统
(81)如果有两束光进入人眼,他们的成分为(R1,G1,B1)和(R2,G2,B2)那么叠加在一起的时候,如果蓝色分量超出1了,那么最后的叠加结果为()
A(R1, R2,1)B(R1+R2, R1+R2,1-R1-R2)C(R1+R2, R1+R2,1)D(R1, R2, 1-R1-R2)★考核知识点:混合效果
(82)Alpha分量主要是用来指定像素的混合计算比例的()
★考核知识点:混合效果
(83)D3DCOLORVALUE结构体中包含r、g、b和a4个分量,表示物体表面对各种反射光的各种成分的反射比率。r=0.0 g=b=a=1.0;r=g=0.0。此时红光和蓝光照射过来,只有蓝光被反射,即材质看上去为蓝色()
★考核知识点:混合效果
(84)OpenGL的光照模型根据材料反射的红、绿和蓝光的比例来模拟它的颜色。当一个纯红的球体,如果给球体仅仅投上绿色的光线,那么看起来球的颜色会是()A红色B绿色C白色D黑色
★考核知识点:混合效果
(85)平面着色模式,所有像素的Alpha值都大于等于该多边形的第一个顶点的Alpha值()
★考核知识点:混合效果
(86)像素的Alpha值就是用来做纹理Alpha混合时进行加权计算的的权值()
★考核知识点:混合效果
(87)Alpha测试并不把当前像素的颜色与颜色缓冲中像素的颜色混合,像素要么完全不透明,要么完全透明()
★考核知识点:混合效果
(88)OpenGL中指定源混和因子和目标混和因子的函数:
void glBlendFunc(Glenumafactor,Glenumbfactor)描述正确的是()A其中参数afactor和参数用于指定源混合因子 B其中参数bfactor用于指定目标的混合因子 C其中参数afactor用于指定目标的混合因子 D其中参数bfactorb用于指定源的混合因子
★考核知识点:混合效果
(89)常见的纹理寻址模式有()
A重叠纹理寻址模式B镜像纹理寻址模式C钳位纹理寻址模式D边界颜色纹理寻址模式
★考核知识点:纹理的高级技巧
(90)通过矩阵[sx,0;0,sy]对二维的不经过原点的图元进行缩放变换,有可能得到的结果为 A图元相对原点的位置变化了()B图元自身尺寸变化了
C图元可以只发生旋转,相对原点位置没有移动 D图元自身发生了旋转
★考核知识点:纹理的高级技巧
(91)创建一个矩形图元255*255,它的大小恰好与纹理图中纹理的大小一样,要映射整个图元面积,分配给图元纹理坐标为().A(0.0,0.0)(1.0,0.0)(1.0,1.0)(0.0,1.0)B(0.0,0.0)(255.0,0.0)(255.0,255.0)(0.0,255.0)C(0.0,0.0)(0.0,1.0)(1.0,0.0)(1.0,1.0)D(0.0,0.0)(0.0,255.0)(255.0,0.0)(255.0,255.0)★考核知识点:纹理的高级技巧
(92)三维纹理图像可以看成是由一层一层的二维子图像矩阵构成的,在内存中,这些矩形按顺序排列在一起。()
★考核知识点:纹理的高级技巧(93)对函数void glTexImage3D(Glenum target, Glint level,GlintinternalFormat ,Glsizeiwidth,Glsizeiheight,Glsizeidepth,Glintborder,Glenumformat,Glenum type, constGlvoid * texels);参数描述正确的是()A level是纹理目标在内存中的优先级 Blevel是mipmap细节层的序号 C level描述了纹理的强度程度 D描述了纹理的有效值取值范围
★考核知识点:纹理的高级技巧
(94)glCopyPixels()函数,但是并不把像素读到缓冲区,而是放在纹理内存中()
★考核知识点:纹理的高级技巧
(95)对OpenGL实现的Mipmap描述正确的是()
A它必须根据被贴图的物体的大小手动的确定应该使用哪个纹理 B它会根据被贴图的物体的大小自动确定应该使用哪个纹理 C Mipmap不需要一些额外的计算
D Mipmap并不需要额外的一些纹理存储区域
★考核知识点:纹理的高级技巧
(96)glPixelStore*()函数可以用于设置像素存储模式,使用诸如*ROW_LENGTH、*ALIGNMENT、*SKIP_PIXELS和*SKIP_ROWS这样的参数。这个函数用于控制对一个完整的像素或纹理单元矩形的一个子矩形的引用()
★考核知识点:纹理的高级技巧
(97)一个带有纹理图像的物体迅速的远离观察点而去时,纹理图像必须随必须被投影的图像一起缩小。为了避免闪烁抖动等人工痕迹,可以指定一系列预先过滤的分辨率递减的纹理图像称为()
A Vertex Shader B mipmap C HLSL D Cg ★考核知识点:纹理的高级技巧
(98)void glTexParameteri 第三个参数类型为GL_CLAMP描述正确的是
A将大于1.0的数值设置为1.0,将超出[0.0,1.0]范围的数值截取到[0.0,1.0]范围内 B这样会导致纹理边缘的重复 C将小于0.0的数值设置为0.0 D图象在物体表面上不断重复,但是每次重复的时候对图象进行镜像或者反转(99)纹理坐标比一定非要在RGBA模式下才可以能使用()
★考核知识点:纹理的高级技巧
(100)void glTexParameteri 第三个参数类型为GL_REPEAT描述正确的是A A图象在表面上重复出现
B自动将超出[0.0,1.0]范围的数值截取到[0.0,1.0]范围内
C图象在物体表面上不断重复,但是每次重复的时候对图象进行镜像或者反转 D这样的模式在纹理边缘处比较连贯
★考核知识点:纹理的高级技巧
(101)对函数glTexParameteri边界截取类型描述正确的是()
A GL_CLAMP_TO_EDGE B CLAMP_TO_BORDER_ARB C GL_REPEAT D GL_CLAMP ★考核知识点:纹理的高级技巧
二、主观部分:(程序设计,简答题)
1关于现实字体的一段程序如下,运行截图如下,现有若干空缺,请完成填空。
我们完成创建字体的功能函数CreateFont()如下:
HFONT hFont;HFONT hOldFont;iBase=glGenLists(256);hFont=CreateFont(-24, 0, 0, 0,//高度 //宽度 //旋转角度 //定位角 //字宽设置 FW_BOLD, FALSE, FALSE, FALSE, ANSI_CHARSET, OUT_TT_PRECIS,CLIP_DEFAULT_PRECIS, ANTIALIASED_QUALITY, FF_DONTCARE|DEFAULT_PITCH, “Courier New”);
//使用字体名称为Courier New //保存之前的字体
hOldFont=(HFONT)SelectObject(hdc,hFont);//从系统下载的字体文件中生成这些位图
wglUseFontOutlines(hdc,32,96,iBase,0.0,0.2f,WGL_FONT_POLYGONS,gmf);//还原设备句柄为hdc,还原原来的字体类型 SelectObject(hdc,hOldFont);//释放资源
DeleteObject(hFont);2.关于二次曲面的一段程序如下,运行截图如下,现有若干空缺,请完成填空。
我们生成二次曲面的功能函数如下: //二次曲面的生成状态 GLUquadric *Quadric;//创建一个二次方程对象,指定这个二次方程对象的属性 Quadric = gluNewQuadric();//自动为二次表面生成纹理坐标 gluQuadricTexture(Quadric,GL_TRUE);//显示灯的列表 iLamp = glGenLists(1);glNewList(iLamp,GL_COMPILE);//激活纹理0地板的纹理
glBindTexture(GL_TEXTURE_2D,texture[2]);//绑定纹理
glBindTexture(GL_TEXTURE_2D,texture[2]);
2.如下一段程序,运行完成加载纹理的功能,现在有若干空缺,请根据上下文完成填写。
程序截图1 LoadTexture(){);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_LINEAR
glPixelStorei(GL_UNPACK_ALIGNMENT,4);//绑定纹理
glBindTexture(GL_TEXTURE_2D,m_nBodyTex);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);//BMP文件的handle HBITMAP hBMP;//存储BMP的数据结构 BITMAP BMP;byte Texture[1]={IDB_MISSILE};//产生三个纹理
glGenTextures(1,&m_nBodyTex);hBMP=(HBITMAP)LoadImage(GetModuleHandle(NULL),MAKEINTRESOURCE(Texture[0]),IMAGE_BITMAP,0, 0, LR_CREATEDIBSECTION);
if(hBMP){ GetObject(hBMP,sizeof(BMP),&BMP);
//构建二维Mipmap gluBuild2DMipmaps(GL_TEXTURE_2D,3,BMP.bmWidth,BMP.bmHeight,GL_BGR_EXT, GL_UNSIGNED_BYTE, BMP.bmBits);//删除位图资源
}
3.如下一段程序,运行完成物体颜色和材质属性相关功能,现在有若干空缺,请根据上下文完成填写。DeleteObject(hBMP);
}//if
程序截图1 在进行光照和材质相关的计算时,需要先进行必要设置操作,我们需要进行如下操作:
{ glClearColor(1.0,1.0,1.0,1.0);voidInitScene()
//设置明暗处理模型 glShadeModel(GL_SMOOTH);//glShadeModel(GL_FLAT);//开启深度测试
glEnable(GL_DEPTH_TEST);glDepthFunc(GL_LEQUAL);glClearColor(0.0f,0.0f,0.0f,0.0f);glClearDepth(1.0f);//使光源生效
glEnable(GL_LIGHTING);//设置环境光
GLfloatambientLignt[]={0.8,0.7,0.9,1.0};glLightModelfv(GL_LIGHT_MODEL_AMBIENT,ambientLignt);//设置材料属性,自身的反光属性 GLfloatShininess[]={80.0};//镜面强度,白色
GLfloatSpecular[]={1.0,1.0,1.0,1.0};//设置材质颜色属性
GLfloatMatColor[]={0.9,0.9,0.9,1.0};//光源位置
GLfloatPostion[]={1.0,1.0,1.0,0};//具体设置GL_FRONT_AND_BACK
//GL_FLAT
glMaterialfv(GL_FRONT,GL_SPECULAR,Specular);glMaterialfv(GL_FRONT,GL_SHININESS,Shininess);//设置光照模型
glLightfv(GL_LIGHT0,GL_POSITION,Postion);//给光源设置位置*/ glLightfv(GL_LIGHT0,GL_SPECULAR,MatColor);//给镜面光设置颜色 glLightfv(GL_LIGHT0,GL_DIFFUSE,MatColor);//设置漫反射颜色 //开启光照特征 glEnable(GL_LIGHT0);
}//endfnc 4.如下一段程序,运行完成雾化功能,现在有若干空缺,请根据上下文完成填写。
程序截图1 { //Get FPS void DrawScene()if(GetTickCount()-g_dwLastFPS >= 1000)
glClear(GL_COLOR_BUFFER_BIT);glLoadIdentity();//设置位图
glPixelTransferf(GL_RED_SCALE, 1.0);{
g_dwLastFPS = GetTickCount();
char szTitle[256]={0};
sprintf(szTitle, “ Current %d FPS”, g_nFrames);SetWindowText(hwnd, szTitle);g_nFrames = 0;
}//if g_nFrames++;*/ glPixelTransferf(GL_GREEN_SCALE, 0.0);glPixelTransferf(GL_BLUE_SCALE, 0.0);glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);glEnable(GL_BLEND);glFlush();}//endfnc //初始化操作
五、简答题(共15 分)
关于构建一个立体曲面的程序有如下截图,程序有部分功能空缺,请完成
//渲染场景 void DrawScene(){ //调用显示列表进行渲染
glCallList(drawlist);if(showCPoints){
//禁止纹理
glDisable(GL_TEXTURE_2D);
glColor3f(1.0f,0.0f,0.0f);
for(i=0;i<4;i++){
//绘制控制点
glBegin(GL_LINE_STRIP);for(j=0;j<4;j++){ glVertex3d(pCtrData[i][j].x, pCtrData[i][j].y, pCtrData[i][j].z);
}//for glEnd();}//for for(i=0;i<4;i++){
glBegin(GL_LINE_STRIP);for(j=0;j<4;j++)//绘制点
glVertex3d(pCtrData[j][i].x, pCtrData[j][i].y,pCtrData[j][i].z);glEnd();}//for glColor3f(1.0f,1.0f,1.0f);//启用纹理
glEnable(GL_TEXTURE_2D);
}//if glFlush();
}//endfnc
2.关于现实Bezier曲线的一段程序如下,运行截图如下,关于功能现有部分空缺,请完成。
intInitScene(){
glShadeModel(GL_SMOOTH);
glClearColor(1.0f, 1.0f, 1.0f, 0.5f);//设置清空颜色为白色 glClearDepth(1.0f);
//初始化深度缓存最大为 1.0f //开启深度测试 glEnable(GL_DEPTH_TEST);glDepthFunc(GL_LEQUAL);glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);//开启求值器
glEnable(GL_MAP1_VERTEX_3);//设置控制点的类型,起始位置从0-100,控制点数目为4,跨度为3 //点的存储数组为B_Points[4][3]
} glMap1f(GL_MAP1_VERTEX_3,0.0f, 100.0f, 3,//起始 //终止范围
//点数目 iNumPoint,&B_Points[0][0]);//均匀分布网格,有100个单位,从u1到u2 glMapGrid1d(100,0.0,100);return TRUE;
boolDrawScene(){
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);glLoadIdentity();glTranslatef(0,0,-20.0f);inti;//设置点的尺寸大小为 10 glPointSize(10);//设置控制点为红色 glColor3f(1.0,0.0,0.0);glBegin(GL_POINTS);
for(i=0;i { glVertex2fv(B_Points[i]);}//for glEnd();return true; }//DrawScene 3.关于实现光照效果对比的程序。左图为加光照,右边为未加光照。部分功能空缺,请完成 void DrawScene(){ GLfloat spotPostion[]={0.0,0.0,1.0,1.0}; //清空缓冲区 glClear(GL_COLOR_BUFFER_BIT |GL_DEPTH_BUFFER_BIT);glLoadIdentity(); glPushMatrix();glColor3f(1.0,0.0,0.0);glRotatef(fRot, 1.0f, 0.0f, 0.0f);//使用灯光 glLightfv(GL_LIGHT2,GL_POSITION,spotPostion);glLightfv(GL_LIGHT2,GL_SPOT_DIRECTION,spotDir);glTranslatef(spotPostion[0],spotPostion[1],spotPostion[2]);glutSolidCone(0.05f,3.0f,15,15);glPopMatrix();glTranslatef(0,0,-6.0);//glRotatef(fRot,1,0,0);//绕y轴旋转60° glRotatef(60,0,1,0);//属性堆栈压栈 // glPushAttrib(GL_LIGHTING_BIT);// glDisable(GL_LIGHTING); glColor3f(1.0f,1.0f,1.0f);glBegin(GL_TRIANGLES);//计算法线一 calNormal(vTrangle1,vector);glNormal3fv(vector); glVertex3fv(vTrangle1[0]);glVertex3fv(vTrangle1[1]);glVertex3fv(vTrangle1[2]);glFlush();}//endfnc 通信软件设计(专业限选课)Design of Communication Software 【课程编号】XZ26199 【学分数】3 【学时数】60 = 38(理论)+ 6(研究)+ 16(实验)【适用专业】网络通信工程 一、教学目的、任务 本课程属于软件工程实践应用型课程。通过本课程的学习,使学生了解网络通信协议的类别与设计要求、掌握WINDOWS WINSOCK库的使用、掌握Windows下多线程开发的技术,并初步具备Windows下网络通信软件开发的能力。 二、课程教学的基本要求 通过理论和实践的结合,使学生了解网络通信协议的类别,网络通信协议制定的规则和目的。熟练掌握Windows下进行通信软件开发必需具备的技能,如Windows winsock库的使用、win32 多线程 API 的使用、STL模板库的使用等。通过课程设计,完成一个简单的网络通信软件的设计和开发,最终,初步掌握Windows下网络通信软件开发的技术。 三、教学内容和学时分配(4 + 10 + 16 + 12 + 4 + 14 = 60)第一章 初识网络通信协议 4 学时(课堂讲授学时)主要内容: 1.1 通信协议设计概述 1.2 HTTP协议概述 1.3 重温TCP协议 教学要求: 介绍通信协议相关知识、以HTTP协议为例,简单介绍应用层协议如何工作。以TCP协议为例,介绍传输层协议如何工作。 【课程类别】专业限选课 【编写日期】2010.3.30 【先修课程】计算机网络、C++ 其它教学环节(如实验、习题课、讨论课、其它实践活动):1研究。 第二章 常用应用层通信协议-从“知道”到“了解” 10学时(课堂讲授学时+实验课时+研究课时)主要内容: 2.1 HTTP协议 2.2 FTP协议 2.3 SMTP及POP3协议 教学要求: 掌握HTTP协议、FTP协议、SMTP协议及POP3协议。掌握Sniffer软件的使用。其它教学环节:2实验 + 2研究 实验一:SnifferPro软件捕获数据并分析(2学时) 要求:使用SnifferPro软件,捕获HTTP网站访问数据,并在HTTP和TCP层对数据进行分析。 研究:完成“SnifferPro软件捕获数据并分析”的实验报告(2学时) 第三章 Windows网络编程 16学时(课堂讲授学时+实验学时) 3.1 网络原理和协议 3.2 地址家族和名字解析 3.3 Winsock基础 3.4 Winsock I/O方法 教学要求: 掌握Windows WINSOCK lib的使用。掌握TCP、UDP编程。掌握相关API的使用。其它教学环节:4实验学时 实验二:TCP协议通信实验(2学时) 要求:编写一个使用TCP协议进行通信的程序。实验三:UDP协议通信实验(2学时) 要求:编写一个使用UDP协议进行通信的程序。第四章 多线程编程 12学时(课堂讲授学时+实验学时)主要内容: 4.1 进程与线程 4.2 线程的WIN32 API 4.3 线程间通信的方法 4.4 线程的同步方法 教学要求: 掌握进程与线程的概念,掌握使用WIN32 API产生线程的方法,掌握线程间通信中的消息通信机制,掌握使用互斥锁、事件等进行线程间同步的方法。其它教学环节:6实验课时 实验四:线程间通信实验(2学时) 要求:编写一个多线程程序,分别使用共享内存、同步消息和异步消息进行通信。实验五:线程间同步实验(1)(2学时) 要求:编写一个多线程程序,分别使用关键区技术、互斥量进行同步。实验六:线程间同步实验(2)(2学时) 要求:编写一个多线程程序,分别使用信号量、事件进行同步。第五章 STL库应用 4学时(课堂讲授学时)主要内容: 5.1 STL简介 5.2 List容器 5.3 Map容器 教学要求: 掌握STL的概念、掌握STL中List和Map容器的使用方法。其它教学环节:无 第六章 点对点的文件传输软件设计与开发 14 学时(课堂讲授学时+实验学时+研究学时)主要内容: 6.1 软件需求分析 6.2 通信协议设计设计讨论 6.3 软件模型设计讨论 6.4 软件功能模块划分讨论 6.5 软件GUI设计讨论 6.6 软件设计模式与软件工程管理 教学要求: 从设计并开发一个简单的“点对点文件传输软件”入手,初步掌握通信软件的设计和开发。其它教学环节:4实验学时 + 3研究学时 实验七:点对点的文件传输软件开发(4学时) 要求:完成课程大作业“点对点的文件传输软件开发” 研究:完成课程大作业“点对点的文件传输软件开发”,提交课程设计报告,并进行答辩。(3学时) 四、教学重点、难点及教学方法 重点:HTTP、TCP协议及通信协议设计技术、WINSOCK LIB的使用、通信软件架构。难点:WINSOCK LIB的使用、通信协议分组结构设计、通信软件架构。 五、考核方式及成绩评定方式:考查 六、教材及参考书目 1、推荐教材: 无,由科任教师提供。—已备有电子版资料和教材。 2、主要参考书: [1] Sniffer中文使用教程。中国协议分析网http://www.xiexiebang.com [3] 周良忠 译。C++面向对象多线程编程。北京:人民邮电出版社,2003.4.[4] 侯捷 译。Win32多线程程序设计。华中科技大学出版社,1997.1.[5] 侯捷 译。C++标准程序库。网络电子版资料。 修(制)订人: 审核人: 2010年 3 月30 日 《3D游戏软件设计》 一、单选题(共 20 道试题,共 40 分。) 1.现有三组逆时针环绕的轮廓线,依次包含。现在,如果把区域的环绕属性设置为奇数类型,那么最终绘制出的区域描述正确的是 A.一个环形 B.实体块 C.一个环形加一个实体块 D.无法确定具体填充区域 满分:2 分 2.在进行点选操作时,我们使用一个名称标识了三个重叠的圆形。现在对它进行一次点击,那么它产生的点击记录为多少次 A.3 B.1 C.2 D.0 满分:2 分 3.在利用矩阵进行图形三维变换时,我们只用3×3矩阵无法完成的变换操作是 A.平移 B.旋转 C.错切 D.以上说法都不对 满分:2 分 4.在复合变换中,固定坐标模式的变换,对于坐标变换操作的调用和执行顺序描述中,正确的是 A.相对于同一个固定坐标系先调用的变换先执行 B.相对于同一个固定坐标系先调用的变换后执行 C.相对于同一个固定坐标系调用和执行的顺序没有必然联系 D.以上说法都不对 满分:2 分 5.函数glAlpaFunc用于设置alpha测试的参考值和比较函数的参数中,哪个参数的意义表示“绝不接受这个片段” A.GL_NERVER B.GL_ALWAYS C.GL_LESS D.GL_EQUAL 满分:2 分 6.函数void glBlendEquation(Glenum mode)函数中的mode对取值为GL_FUNC_SUBSTRACT描述正确的是 A.CsS+CdD B.CsS-CdD C.CdD-CsS D.CsopCd 满分:2 分 7.我们在绘制完物体后,如果锁定了深度缓冲区,接着再调换物体的z方向的次序,此时关于遮挡关系以下说法中正确的是 A.AB物体重叠部分会发生混合 B.遮挡关系发生改变,AB物体遮挡关系互调 C.遮挡关系不变 D.无法判断 满分:2 分 8.glPixelMap{ui us f}v(Glenum map,Glint mapsize,const TYPE* values)函数被加载,它的函数参数参数mapsize的取值有意义的是 A.10 B.20 C.32 D.42 满分:2 分 9.一束白光照射一个有光泽的蓝色球体,那么这个球体的整体看上去是蓝色的,它上面的亮点则是什么颜色的 A.红色 B.绿色 C.白色 D.蓝色 满分:2 分 10.白色的颜色值为 A.(0,0,0)B.(255,0,255)C.(255,255,255)D.(1,1,1)满分:2 分 11.现在有控制点为四个,每个顶点有三个坐标,现在我们想利用函数gluNurbsSurface进行NURBS表面设置,那么u_stride的值应该设置为 A.3 B.4 C.12 D.48 满分:2 分 12.进行点选操作后,假设当前的选择缓冲区为pSelectBuff,那么其中的pSelectBuff[0]的值得含义是 A.名字堆栈中压入的名字数 B.自上一个点击记录之后,与视景体相交的图元的所有顶点的最小窗口坐标的z值 C.自上一个点击记录之后,与视景体相交的图元的所有顶点的最大窗口坐标的z值 D.点击发生时名字堆栈的内容 满分:2 分 13.下列哪个不属于计算机上支持的像素位数 A.4位 B.24位 C.20位 D.32位 满分:2 分 14.OpenGL中如何判断一个点接收了光源的多少光线 A.通过距离光源的距离进行计算 B.通过法线相对光源的方向进行计算 C.通过物体的颜色值进行计算 D.通过物体和光源的颜色值的综合考虑进行计算 满分:2 分 15.OpenGL提供的投影矩阵堆栈个数为 A.1 B.2 C.4 D.8 满分:2 分 16.利用3×3矩阵进行二维点集变化时,我们使用的矩阵为[1,0,0;0,-1,0;0,0,1],那么变化后的效果为 A.沿着X轴对称变换 B.沿着Y轴对称变换 C.沿着原点对称变换 D.沿着直线y=x对称变换 满分:2 分 17.下列哪个颜色不属于三原色 A.红 B.蓝 C.绿 D.黑 满分:2 分 18.如果有两束光进入人眼,他们的成分为(R1,G1,B1)和(R2,G2,B2)那么叠加在一起的时候,如果红色分量超出1了,那么最后的叠加结果为 A.R1+R2 B.1-R1-R2 C.1 D.R1+R2-1 满分:2 分 19.通常,我们的运动模糊效果,可以利用哪个缓冲区实现 A.颜色缓冲区 B.深度缓冲区 C.模板缓冲区 D.积累缓冲区 满分:2 分 20.OpenGL中复杂的图形绘制一般都是如何实现的 A.用曲线模拟 B.用四边形拼接 C.用三角形拼接 D.只要是凸多边形拼接就可以 满分:2 分 二、多选题(共 10 道试题,共 20 分。) V 1.下列哪些是OpenGL的常用库 A.GL B.GLU C.GLAUX D.GLUT 满分:2 分 2.在多边形偏移中,可以有哪几种模式用于不同的多边形光栅化 A.GL_FILL B.GL_LINE C.GL_POINT D.GL_TRANGLES 满分:2 分 3.对计算机图形进行显示的方法中可以起到抗锯齿作用的有哪些方法 A.提高屏幕分辨率 B.采用区域覆盖法 C.加权覆盖法 D.抖动技术 满分:2 分 4.OpenGL允许把与颜色相关的哪三个不同参数和光源相关联 A.GL_AMBIENT B.GL_DIFFUSE C.GL_SPECULAR D.GL_AMBIENT 满分:2 分 5.OpenGL包含有哪几个缓冲区 A.颜色缓冲区 B.深度缓冲区 C.模板缓冲区 D.积累缓冲区 满分:2 分 6.实现物体坐标到达屏幕坐标的处理管线中,包括的处理步骤有 A.视图模型矩阵操作 B.投影操作 C.透视除法进行规范化 D.视口变换 满分:2 分 7.在局部光源模型中,随着光源的距离增加,光的强度不会随之衰减的有 A.环境光 B.散射光 C.镜面光 D.发射光 满分:2 分 8.以下是正交投影glOrtho函数作用特点的是 A.视体是一个椎体 B.物体近大远小 C.视体为立方体 D.物体的距离并不影响它看上去的大小 满分:2 分 9.以下是描述glBindTexture函数功能的是 A.将生成的纹理的名称绑定到指定的纹理上 B.创建纹理并加载 C.选择已经加载的纹理进行贴纹理操作 D.以上都对 满分:2 分 10.一下那些属于OpenGL的特点 A.标准支持灵活 B.具有良好伸缩性 C.具有良好扩展性 D.扩展性不强 E.满分:2 分 三、判断题(共 20 道试题,共 40 分。) V 1.设置光源位置时,当我们的光源坐标位置(x,y,z,w)中的w为0时代表我们的光为局部光源 A.错误 B.正确 满分:2 分 2.glNormal*函数是glBegin和glEnd之间的合法函数 A.错误 B.正确 满分:2 分 3.无论是在反馈模式下还是选择模式下,物体的信息总是在任何片断测试之前返回 A.错误 B.正确 满分:2 分 4.函数glLoadName用于将当前的名字替换名字堆栈顶部的元素 A.错误 B.正确 满分:2 分 5.函数glPerspective(GLdouble fogy,GLdouble aspect, GLdouble near,GLdouble far)所定义的视体仅限于和X和Y轴对称的平截头体 A.错误 B.正确 满分:2 分 6.视图变换和模型变换可以互逆变换 A.错误 B.正确 满分:2 分 7.位图字体无法进行旋转 A.错误 B.正确 满分:2 分 8.过滤函数中的参数GL_LINER它会对一小块区域的纹理单元值进行加权平均,用于放大或者缩小 A.错误 B.正确 满分:2 分 9.对物体进行平移变换和缩放变换的顺序不会对最后结果产生影响 A.错误 B.正确 满分:2 分 10.OpenGL至少可以在场景中包含1个光源 A.错误 B.正确 满分:2 分 11.已知两个向量,可以通过运算V1^.V^2获得它们所在平面的法线 A.错误 B.正确 满分:2 分 12.glEnable(GL_DEPTH_TEST)函数的作用是开启深度测试 A.错误 B.正确 满分:2 分 13.为了使用mipmap,必须提供全系列的大小为2的整数次方的纹理图像,其范围从2*2到纹理的最大单元 A.错误 B.正确 满分:2 分 14.纹理坐标必须在RGBA模式下才能使用 A.错误 B.正确 满分:2 分 15.函数glDepthMask的flag参数设置为GL_TRUE,则标志着深度缓冲区可以写入 A.错误 B.正确 满分:2 分 16.对于基本的求值器使用绘制步骤为先开启求值器,设置控制点,设置绘制属性和模式,最后进行渲染 A.错误 B.正确 满分:2 分 17.位图是由0和1组成的矩形数组 A.错误 B.正确 满分:2 分 18.镜面亮点的颜色就是光源的镜面光的颜色 A.错误 B.正确 满分:2 分 19.颜色混合操作在颜色索引模式下是非法的 A.错误 B.正确 满分:2 分 20.glRotatef(fRot,0.0f,1.0f,0.0f)函数可以让图形绕着X轴偏转fRot角度 A.错误 B.正确 满分:2 分第四篇:通信软件设计教学大纲
第五篇:3D游戏软件设计