南开19秋学期(1709、1803、1809、1903、1909)《3D游戏软件设计》在线作业
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 40 分)
1.在进行点选操作时,我们使用一个名称标识了三个重叠的圆形。现在对它进行一次点击,那么它产生的点击记录为多少次
A.3
B.2
C.1
D.0
2.glLoadIdentity()函数对于4×4矩阵操作结果为
A.[1,1,1,1;1,1,1,1;1,1,1,1;1,1,1,1]
B.[1,0,0,1;0,1,0,1;0,0,1,1;0,0,0,1]
C.[1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1]
D.[0,0,0,0;0,0,0,0;0,0,0,0;0,0,0,0]
3.OpenGL中复杂的图形绘制一般都是如何实现的
A.用曲线模拟
B.用四边形拼接
C.用三角形拼接
D.只要是凸多边形拼接就可以
4.OpenGL提供了最大数目为N的模型变换矩阵堆栈,N为
A.8
B.64
C.32
D.16
5.下列哪个不属于计算机上支持的像素位数
A.4位
B.32位
C.24位
D.20位
6.在复合变换中,活动坐标模式的变换,对于坐标变换操作的调用和执行顺序描述中,正确的是
A.相对于同一个活动坐标系调用和执行的顺序没有必然联系
B.相对于同一个活动坐标系先调用的变换后执行
C.相对于同一个活动坐标系先调用的变换先执行
D.以上说法都不对
7.利用3×3矩阵进行二维点集变化时,我们使用的矩阵为[1,0,0;0,-1,0;0,0,1],那么变化后的效果为
A.沿着直线y=x对称变换
B.沿着原点对称变换
C.沿着Y轴对称变换
D.沿着X轴对称变换
8.两个矢量之间的叉乘结果为答
A.如果为零则不是矢量,其它情况下皆为矢量
B.以上说法都不对
C.一个矢量
D.一个标量
9.OpenGL提供了几种基本的三角形顶点连接方式
A.4
B.3
C.2
D.1
10.一个矢量加上一个矢量结果为
A.如果为零则不是矢量,其它情况下皆为矢量
B.以上说法都不对
C.一个矢量
D.一个标量
11.通常,我们的运动模糊效果,可以利用哪个缓冲区实现
A.颜色缓冲区
B.积累缓冲区
C.深度缓冲区
D.模板缓冲区
12.下列哪个颜色不属于三原色
A.黑
B.蓝
C.绿
D.红
13.现有三组逆时针环绕的轮廓线,依次包含。现在,如果把区域的环绕属性设置为奇数类型,那么最终绘制出的区域描述正确的是
A.无法确定具体填充区域
B.实体块
C.一个环形加一个实体块
D.一个环形
14.glClear(GL_COLOR_BUFFER_BIT)函数的功能是什么
A.把屏幕颜色清除成黑色
B.把屏幕颜色清除成红色
C.把屏幕颜色清除成当前设置清除颜色
D.把屏幕颜色全部清除成白色
15.启动混合后,如果红色物体和一个黑色物体用glBlendFunc(GL_ONE,GL_ONE)方式混合后,结果的混合部分的颜色为
A.黑色
B.绿色
C.红色
D.白色
16.我们在绘制完物体后,如果锁定了深度缓冲区,接着再调换物体的z方向的次序,此时关于遮挡关系以下说法中正确的是
A.遮挡关系发生改变,AB物体遮挡关系互调
B.遮挡关系不变
C.无法判断
D.AB物体重叠部分会发生混合
17.函数void glBlendEquation(Glenum mode)函数中的mode对取值为GL_FUNC_SUBSTRACT描述正确的是
A.CsopCd
B.CsS-CdD
C.CsS+CdD
D.CdD-CsS
18.OpenGL中,四种独立的光照模型中哪种光线在环境中经过了充分的散射,无法辨识出它的方向
A.镜面光
B.环境光
C.散射光
D.发射光
19.将一条不经过原点的直线进行简单的缩放变换,缩放后直线和原来直线相比
A.长度变化位置不变
B.位置和长度都会变化
C.位置变化长度不变
D.以上说法都不对
20.函数glAlpaFunc用于设置alpha测试的参考值和比较函数的参数中,哪个参数的意义表示“绝不接受这个片段”
A.GL_NERVER
B.GL_LESS
C.GL_EQUAL
D.GL_ALWAYS
二、多选题 (共 10 道试题,共 20 分)
21.OpenGL包含有哪几个缓冲区
A.颜色缓冲区
B.积累缓冲区
C.深度缓冲区
D.模板缓冲区
22.OpenGL允许把与颜色相关的哪三个不同参数和光源相关联
A.GL_SPECULAR
B.GL_DIFFUSE
C.GL_AMBIENT
D.GL_AMBIENT
23.在如下哪些模式下,不会产生任何绘图像素,并且屏幕被“冻结”
A.都不是
B.选择模式
C.渲染模式
D.反馈模式
24.以下是正交投影glOrtho函数作用特点的是
A.视体是一个椎体
B.视体为立方体
C.物体近大远小
D.物体的距离并不影响它看上去的大小
25.在多边形偏移中,可以有哪几种模式用于不同的多边形光栅化
A.GL_TRANGLES
B.GL_POINT
C.GL_LINE
D.GL_FILL
26.当前程序的状态处于常规的绘图模式,那么接下来使用下列哪些函数可以推出当前绘图模式
A.glRender(GL_SELECT);
B.glRender(GL_RENDERMODE);
C.glRender(GL_FEEDBACK);
D.glEnd();
27.以下对函数gluLookAt(0,0,0, 0,0,-3,0,1,0)描述正确的是
A.观察点在原点
B.观察方向指向z轴负方向
C.观察方向指向z轴正方向
D.正方向为y轴正方向
28.glVertex3f函数的参数的意义描述正确的有哪些
A.第二个参数为点的Y坐标值
B.第三个参数为点的Y坐标值
C.第三个参数为点的W值
D.第一个参数为点的X坐标值
29.在自动生成纹理坐标的模式中,如果我们想给球体进行环境贴图,那么常用的渲染模式为
A.GL_TRIANGLES
B.GL_SPHERE_MAP
C.GL_REFLECTION_MAP
D.GL_NORMAL_MAP
30.在OpenGL中我们用函数auxDIBImageLoad可以正确导入纹理图片的像素尺寸是
A.256×256
B.16×16
C.128×128
D.100×100
三、判断题 (共 20 道试题,共 40 分)
31.假设一面砖墙高度只有宽度的2/3,但是只要开启纹理过滤函数glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);然后进行纹理坐标映射就不会出现纹理扭曲
32.glBlendFunc(Glenum srcfac,Glenum Destfac)参数Destfac表示已经存储在帧缓冲区中的像素的混合因子
33.glNormal*函数是glBegin和glEnd之间的合法函数
34.glEnable(GL_DEPTH_TEST)函数的作用是开启深度测试
35.过滤函数中的参数GL_NEAREST可以将靠近像素中心的那个纹理单元用于放大和缩小来防止纹理扭曲
36.位图是由0和1组成的矩形数组
37.纹理坐标必须在RGBA模式下才能使用
38.已知两个向量,可以通过运算V1^.V^2获得它们所在平面的法线
39.矩阵[cosA,-sinA;sinA,cosA]实现对二维空间上的图元的的逆时针旋转
40.为了使用mipmap,必须提供全系列的大小为2的整数次方的纹理图像,其范围从2*2到纹理的最大单元
41.对于基本的求值器使用绘制步骤为先开启求值器,设置控制点,设置绘制属性和模式,最后进行渲染
42.模板测试只有存在模板缓冲的情况下才会执行,否则模板测试总是能够通过
43.在光栅屏幕中,我们的锯齿效果可以通过各种优化技术完全消除
44.OpenGL的全称是OpenGraphicsLibrary吗
45.在OpenGL中一次只有一个纹理图像能够处于有效状态
46.函数glPerspective(GLdouble fogy,GLdouble aspect, GLdouble near,GLdouble far)所定义的视体仅限于和X和Y轴对称的平截头体
47.glRotatef(fRot,0.0f,1.0f,0.0f)函数可以让图形绕着X轴偏转fRot角度
48.一束白光照射一个有光泽的红色球体,那么这个球体的整体看上去是红色的,它上面的亮点则是红色的
49.OpenGL的1.5版本中加入了OpenGLShadingLanguage
50.glDrawPixels函数被调用时,数据首先根据当前生效的像素存储模式从内存进行解包,接着执行像素传输操作。