19秋学期(1709、1803、1809、1903、1909)《3D游戏软件设计》在线作业-0002
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 40 分)
1.OpenGL提供了最大数目为N的模型变换矩阵堆栈,N为
A.8
B.16
C.32
D.64
2.OpenGL中如何判断一个点接收了光源的多少光线
A.通过距离光源的距离进行计算
B.通过法线相对光源的方向进行计算
C.通过物体的颜色值进行计算
D.通过物体和光源的颜色值的综合考虑进行计算
3.函数void glBlendEquation(Glenum mode)函数中的mode对取值为GL_FUNC_SUBSTRACT描述正确的是
A.CsS+CdD
B.CsS-CdD
C.CdD-CsS
D.CsopCd
4.在复合变换中,固定坐标模式的变换,对于坐标变换操作的调用和执行顺序描述中,正确的是
A.相对于同一个固定坐标系先调用的变换先执行
B.相对于同一个固定坐标系先调用的变换后执行
C.相对于同一个固定坐标系调用和执行的顺序没有必然联系
D.以上说法都不对
5.glLoadIdentity()函数对于4×4矩阵操作结果为
A.[1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1]
B.[0,0,0,0;0,0,0,0;0,0,0,0;0,0,0,0]
C.[1,1,1,1;1,1,1,1;1,1,1,1;1,1,1,1]
D.[1,0,0,1;0,1,0,1;0,0,1,1;0,0,0,1]
6.在利用矩阵进行图形三维变换时,我们只用3×3矩阵无法完成的变换操作是
A.平移
B.旋转
C.错切
D.以上说法都不对
7.OpenGL提供的投影矩阵堆栈个数为
A.1
B.2
C.4
D.8
8.glPixelMap{ui us f}v( Glenum map,Glint mapsize,const TYPE* values )函数被加载,它的函数参数参数mapsize的取值有意义的是
A.10
B.20
C.32
D.42
9.我们使用函数gluLookAt(0,1,0, 0,0,-3,0,1,0)观察物体,那么,我们的视点起始处为
A.(0,1,0)
B.(0,0,-3)
C.(-3,0,1)
D.(1,0,0)
10.使用函数glDisk(GLUquadric*qobj,Gldouble innerRadius,Gldouble outerRadius,Glint slices,Glint rings)如果要绘制一个没有空的圆盘,我们的参数innerRadius应该如何设置
A.大小和outerRadius相同
B.1
C.0
D.大于outerRadius
11.函数glAlpaFunc用于设置alpha测试的参考值和比较函数的参数中,哪个参数的意义表示“绝不接受这个片段”
A.GL_NERVER
B.GL_ALWAYS
C.GL_LESS
D.GL_EQUAL
12.一个矢量加上一个矢量结果为
A.一个矢量
B.一个标量
C.如果为零则不是矢量,其它情况下皆为矢量
D.以上说法都不对
13.利用3×3矩阵进行二维点集变化时,我们使用的矩阵为[1,0,0;0,-1,0;0,0,1],那么变化后的效果为
A.沿着X轴对称变换
B.沿着Y轴对称变换
C.沿着原点对称变换
D.沿着直线y=x对称变换
14.启动混合后,如果红色物体和一个黑色物体用glBlendFunc(GL_ONE,GL_ONE)方式混合后,结果的混合部分的颜色为
A.红色
B.绿色
C.白色
D.黑色
15.OpenGL中,四种独立的光照模型中哪种光线在环境中经过了充分的散射,无法辨识出它的方向
A.环境光
B.散射光
C.镜面光
D.发射光
16.下列哪个几何图元的基本名称和含义“一系列的直线连接”对应
A.GL_POINTS
B.GL_LINES
C.矩形
D.GL_LINE_STRIP
E.GL_QUADS
17.现在有控制点为四个,每个顶点有三个坐标,现在我们想利用函数gluNurbsSurface进行NURBS表面设置,那么u_stride的值应该设置为
A.3
B.4
C.12
D.48
18.当我们的源和目标的alpha值都为0.75时,当使用函数glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA)进行像素混合,得出的结果描述正确的是
A.源和目标混合效果相同
B.混合色更接近源
C.混合色更接近目标
D.无法判断
19.启动混合后,如果白色物体和一个黑色物体用glBlendFunc(GL_ONE,GL_ONE)方式混合后,结果的混合部分的颜色为
A.白色
B.灰色
C.黑色
D.黄色
20.白色的颜色值为
A.(0,0,0)
B.(255,0,255)
C.(255,255,255)
D.(1,1,1)
二、多选题 (共 10 道试题,共 20 分)
21.通过矩阵[sx,0;0,sy]对二维的不经过原点的图元进行缩放变换,有可能得到的结果为
A.图元相对原点的位置变化了
B.图元自身尺寸变化了
C.图元自身发生了旋转
D.图元可以完全不发生变化
22.以下是描述glBindTexture函数功能的是
A.将生成的纹理的名称绑定到指定的纹理上
B.创建纹理并加载
C.选择已经加载的纹理进行贴纹理操作
D.以上都对
23.glVertex3f函数的参数的意义描述正确的有哪些
A.第一个参数为点的X坐标值
B.第二个参数为点的Y坐标值
C.第三个参数为点的Y坐标值
D.第三个参数为点的W值
24.下列哪些是OpenGL的常用库
A.GL
B.GLU
C.GLAUX
D.GLUT
25.实现物体坐标到达屏幕坐标的处理管线中,包括的处理步骤有
A.视图模型矩阵操作
B.投影操作
C.透视除法进行规范化
D.视口变换
26.在多边形偏移中,可以有哪几种模式用于不同的多边形光栅化
A.GL_FILL
B.GL_LINE
C.GL_POINT
D.GL_TRANGLES
27.在局部光源模型中,随着光源的距离增加,光的强度不会随之衰减的有
A.环境光
B.散射光
C.镜面光
D.发射光
28.在如下哪些模式下,不会产生任何绘图像素,并且屏幕被“冻结”
A.反馈模式
B.选择模式
C.渲染模式
D.都不是
29.OpenGL允许把与颜色相关的哪三个不同参数和光源相关联
A.GL_AMBIENT
B.GL_DIFFUSE
C.GL_SPECULAR
D.GL_AMBIENT
30.glCopyPixels的像素路径包括
A.像素传输操作
B.光栅化操作
C.基于片断的操作
D.在帧缓冲区暂存
三、判断题 (共 20 道试题,共 40 分)
31.Void glBitmap( Glsizei width,Glsizei height,Glfloat xb,Glfloat yb,GLfloat xi,GLfloat yi,const Glubyte *bitmap)中,width必须是8的倍数
32.OpenGL的全称是OpenGraphicsLibrary吗
33.glEnable(GL_DEPTH_TEST)函数的作用是开启深度测试
34.对物体进行平移变换和缩放变换的顺序不会对最后结果产生影响
35.位图字体无法进行旋转
36.视图变换和模型变换可以互逆变换
37.OpenGL光照模型中,表面的发射颜色可以增加物体的强度,但是他们不受任何光源的影响,在整个场景中,并没有作为一种额外的光照
38.纹理坐标必须在RGBA模式下才能使用
39.glReadPixels函数被调用时,数据从帧缓冲区读回,并执行像素传输操作。最终的数据包装到处理器内存中
40.设置光源位置时,当我们的光源坐标位置(x,y,z,w)中的w为0时代表我们的光为局部光源
41.OpenGL的1.5版本中加入了OpenGLShadingLanguage
42.模板测试只有存在模板缓冲的情况下才会执行,否则模板测试总是能够通过
43.无论是在反馈模式下还是选择模式下,物体的信息总是在任何片断测试之前返回
44.雾化效果在颜色索引模式下是不可用的
45.假设一面砖墙高度只有宽度的2/3,但是只要开启纹理过滤函数glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);然后进行纹理坐标映射就不会出现纹理扭曲
46.glNormal*函数是glBegin和glEnd之间的合法函数
47.函数glLoadName用于将当前的名字替换名字堆栈顶部的元素
48.glRotatef(fRot,0.0f,1.0f,0.0f)函数可以让图形绕着X轴偏转fRot角度
49.OpenGL至少可以在场景中包含1个光源
50.过滤函数中的参数GL_NEAREST可以将靠近像素中心的那个纹理单元用于放大和缩小来防止纹理扭曲