南开20春学期(1709、1803、1809、1903、1909、2003)《3D游戏软件设计》在线作业
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 40 分)
1.OpenGL中复杂的图形绘制一般都是如何实现的
A.用曲线模拟
B.用四边形拼接
C.用三角形拼接
D.只要是凸多边形拼接就可以
2.OpenGL提供了几种基本的三角形顶点连接方式
A.1
B.2
C.3
D.4
3.OpenGL中在颜色索引模式下使用的用于选择单值索引的函数是
A.glIndex*
B.glClampColor
C.glClear
D.glColor3f
4.下列哪个颜色不属于三原色
A.红
B.蓝
C.绿
D.黑
5.我们使用函数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)
6.将一条不经过原点的直线进行简单的缩放变换,缩放后直线和原来直线相比
A.位置变化长度不变
B.长度变化位置不变
C.位置和长度都会变化
D.以上说法都不对
7.白色的颜色值为
A.(0,0,0)
B.(255,0,255)
C.(255,255,255)
D.(1,1,1)
8.OpenGL中如何判断一个点接收了光源的多少光线
A.通过距离光源的距离进行计算
B.通过法线相对光源的方向进行计算
C.通过物体的颜色值进行计算
D.通过物体和光源的颜色值的综合考虑进行计算
9.进行点选操作后,假设当前的选择缓冲区为pSelectBuff,那么其中的pSelectBuff[0]的值得含义是
A.名字堆栈中压入的名字数
B.自上一个点击记录之后,与视景体相交的图元的所有顶点的最小窗口坐标的z值
C.自上一个点击记录之后,与视景体相交的图元的所有顶点的最大窗口坐标的z值
D.点击发生时名字堆栈的内容
10.在利用矩阵进行图形三维变换时,我们只用3×3矩阵无法完成的变换操作是
A.平移
B.旋转
C.错切
D.以上说法都不对
11.在复合变换中,固定坐标模式的变换,对于坐标变换操作的调用和执行顺序描述中,正确的是
A.相对于同一个固定坐标系先调用的变换先执行
B.相对于同一个固定坐标系先调用的变换后执行
C.相对于同一个固定坐标系调用和执行的顺序没有必然联系
D.以上说法都不对
12.使用函数glDisk(GLUquadric*qobj,Gldouble innerRadius,Gldouble outerRadius,Glint slices,Glint rings)如果要绘制一个没有空的圆盘,我们的参数innerRadius应该如何设置
A.大小和outerRadius相同
B.1
C.0
D.大于outerRadius
13.下列哪个几何图元的基本名称和含义“一系列的直线连接”对应
A.GL_POINTS
B.GL_LINES
C.矩形
D.GL_LINE_STRIP
E.GL_QUADS
14.在进行点选操作时,我们使用一个名称标识了三个重叠的圆形。现在对它进行一次点击,那么它产生的点击记录为多少次
A.3
B.1
C.2
D.0
15.在复合变换中,活动坐标模式的变换,对于坐标变换操作的调用和执行顺序描述中,正确的是
A.相对于同一个活动坐标系先调用的变换先执行
B.相对于同一个活动坐标系先调用的变换后执行
C.相对于同一个活动坐标系调用和执行的顺序没有必然联系
D.以上说法都不对
16.glEnd()函数的意义
A.标志着一个顶点数据列表的结束
B.标志着程序的执行结束
C.标志着OpenGL的绘制操作结束
D.标志着当前函数的结束
17.通常,我们的运动模糊效果,可以利用哪个缓冲区实现
A.颜色缓冲区
B.深度缓冲区
C.模板缓冲区
D.积累缓冲区
18.现在有控制点为四个,每个顶点有三个坐标,现在我们想利用函数gluNurbsSurface进行NURBS表面设置,那么u_stride的值应该设置为
A.3
B.4
C.12
D.48
19.当我们的源和目标的alpha值都为0.75时,当使用函数glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA)进行像素混合,得出的结果描述正确的是
A.源和目标混合效果相同
B.混合色更接近源
C.混合色更接近目标
D.无法判断
20.两个矢量之间的叉乘结果为
A.一个矢量
B.一个标量
C.如果为零则不是矢量,其它情况下皆为矢量
D.以上说法都不对
二、多选题 (共 10 道试题,共 20 分)
21.在OpenGL中我们用函数auxDIBImageLoad可以正确导入纹理图片的像素尺寸是
A.256×256
B.16×16
C.128×128
D.100×100
22.以下是描述glBindTexture函数功能的是
A.将生成的纹理的名称绑定到指定的纹理上
B.创建纹理并加载
C.选择已经加载的纹理进行贴纹理操作
D.以上都对
23.glCopyPixels的像素路径包括
A.像素传输操作
B.光栅化操作
C.基于片断的操作
D.在帧缓冲区暂存
24.以下对函数gluLookAt(0,0,0, 0,0,-3,0,1,0)描述正确的是
A.观察点在原点
B.观察方向指向z轴负方向
C.观察方向指向z轴正方向
D.正方向为y轴正方向
25.实现物体坐标到达屏幕坐标的处理管线中,包括的处理步骤有
A.视图模型矩阵操作
B.投影操作
C.透视除法进行规范化
D.视口变换
26.以下是正交投影glOrtho函数作用特点的是
A.视体是一个椎体
B.物体近大远小
C.视体为立方体
D.物体的距离并不影响它看上去的大小
27.在如下哪些模式下,不会产生任何绘图像素,并且屏幕被“冻结”
A.反馈模式
B.选择模式
C.渲染模式
D.都不是
28.OpenGL允许把与颜色相关的哪三个不同参数和光源相关联
A.GL_AMBIENT
B.GL_DIFFUSE
C.GL_SPECULAR
D.GL_AMBIENT
29.通过矩阵[sx,0;0,sy]对二维的不经过原点的图元进行缩放变换,有可能得到的结果为
A.图元相对原点的位置变化了
B.图元自身尺寸变化了
C.图元自身发生了旋转
D.图元可以完全不发生变化
30.在自动生成纹理坐标的模式中,如果我们想给球体进行环境贴图,那么常用的渲染模式为
A.GL_SPHERE_MAP
B.GL_REFLECTION_MAP
C.GL_TRIANGLES
D.GL_NORMAL_MAP
三、判断题 (共 20 道试题,共 40 分)
31.在光栅屏幕中,我们的锯齿效果可以通过各种优化技术完全消除
32.glDrawPixels函数被调用时,数据首先根据当前生效的像素存储模式从内存进行解包,接着执行像素传输操作。
33.Void glBitmap( Glsizei width,Glsizei height,Glfloat xb,Glfloat yb,GLfloat xi,GLfloat yi,const Glubyte *bitmap)中,width必须是8的倍数
34.无论是在反馈模式下还是选择模式下,物体的信息总是在任何片断测试之前返回
35.OpenGL光照模型中,表面的发射颜色可以增加物体的强度,但是他们不受任何光源的影响,在整个场景中,并没有作为一种额外的光照
36.假设一面砖墙高度只有宽度的2/3,但是只要开启纹理过滤函数glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);然后进行纹理坐标映射就不会出现纹理扭曲
37.颜色混合操作在颜色索引模式下是非法的
38.OpenGL至少可以在场景中包含1个光源
39.对物体进行平移变换和缩放变换的顺序不会对最后结果产生影响
40.为了使用mipmap,必须提供全系列的大小为2的整数次方的纹理图像,其范围从2*2到纹理的最大单元
41.对于基本的求值器使用绘制步骤为先开启求值器,设置控制点,设置绘制属性和模式,最后进行渲染
42.过滤函数中的参数GL_LINER它会对一小块区域的纹理单元值进行加权平均,用于放大或者缩小
43.glRotatef(fRot,0.0f,1.0f,0.0f)函数可以让图形绕着X轴偏转fRot角度
44.纹理坐标必须在RGBA模式下才能使用
45.镜面亮点的颜色就是光源的镜面光的颜色
46.函数glLoadName用于将当前的名字替换名字堆栈顶部的元素
47.雾化效果在颜色索引模式下是不可用的
48.位图是由0和1组成的矩形数组
49.函数glDepthMask的flag参数设置为GL_TRUE,则标志着深度缓冲区可以写入
50.设置光源位置时,当我们的光源坐标位置(x,y,z,w)中的w为0时代表我们的光为局部光源