《DirectX游戏设计》考试样题
2010-06-27 09:52:57| 分类: 游戏人生|字号 订阅
一、 单选题(30题,每题1分,共30分)
1.典型的windows SDK方式的开发中,遵循这样一个过程:( C )
A.创建窗口->显示窗口->注册窗口类->初始化窗口类
B. 注册窗口类->初始化窗口类->创建窗口->显示窗口
C.初始化窗口类->注册窗口类->创建窗口->显示窗口
D.创建窗口->注册窗口类->初始化窗口类->显示窗口
2. Windows编程中,退出消息循环的条件是:( A)
A. GetMessage()从消息队列中获得WM_QUIT消息
B. 用户按下窗口关闭按钮
C. 用户调用DestroyWindow()函数
D. 用户利用Ctrl+Alt+Del,在Windows任务管理器中关闭进程
3.Windows SDK方式的开发中,响应菜单或按钮我们需要关注的消息是:( B)
A.WM_CREATE B. WM_COMMAND
C.WM_MENU D.WM_BUTTON
4.D3D中属于旋转函数的是:(B)
A.D3DXMatrixScaling() B. D3DXMatrixRotationX()
C.D3DXMatrixTranslation() D.D3DXMatrixTranspose()
5.单位矩阵、矩阵转置、逆矩阵的调用函数分别是:(C)
A.D3DXMatrixInverse、D3DXMatrixIdentity、D3DXMatrixTranspose
B. D3DXMatrixIdentity、D3DXMatrixInverse、D3DXMatrixTranspose
C.D3DXMatrixIdentity、D3DXMatrixTranspose、D3DXMatrixInverse
D.D3DXMatrixInverse、D3DXMatrixTranspose、 D3DXMatrixIdentity
6.逆矩阵的特点是:( C)
A. 和原矩阵相乘等于原矩阵 B.和原矩阵相乘等于逆矩阵
C. 和原矩阵相乘等于单位矩阵 D.和原矩阵相乘等于全1矩阵
7.初始化Direct3D的第一步是要得到一个( B )接口。
A.IDirect3DSurface9 B.IDirect3D9
C.IDirect3DDevice9 D.IUnknown
8. D3D中SetTransform函数的第一个参数通常要指定所需要进行的坐标变换方式,那么世界变换和视图变换分别采用的参数标志是:(A )
A.D3DTS_WORLD和D3DTS_VIEW B.D3DTS_WORLD和D3DTS_PROJECT
C.D3DTS_PROJECT和D3DTS_VIEW D.D3DTS_PROJECT和D3DTS_WORLD
9.在透视投影变换中,所定义的摄像机可视范围是:(B )
A.长方体 B.平截台体
C.半个正方体 D.四棱锥
10.D3D中可以使用自定义顶点格式,那么如果顶点结构体中包含顶点坐标、颜色信息、向量信息、贴图坐标信息,那么设置顶点格式的时候需要指定:( D)
A.D3DFVF_TEX1|D3DFVF_DIFFUSE|D3DFVF_XYZ
B. D3DFVF_DIFFUSE|D3DFVF_XYZ
C.D3DFVF_XYZ|D3DFVF_NORMAL
D.D3DFVF_NORMAL|D3DFVF_TEX1|D3DFVF_DIFFUSE|D3DFVF_XYZ
11.D3D中缺省的背面拣选方式为:( B )
A.顺时针排列的三角形被拣选
B.逆时针排列的三角形被拣选
C.不拣选
D.全部拣选
12.视图空间变换矩阵通过以下D3DX函数计算
D3DXMATRIX *D3DXMatrixlookAtLH(
D3DXMATRIX* pOut,//指向视图矩阵的指针
CONST D3DXVECTOR3 * pEye, //摄像机在世界坐标系中的位置
CONST D3DXVECTOR3 * pAt, //摄像机的观察点
CONST D3DXVECTOR3 * pUp, //摄像机的向上向量);
向量*pAt - *pEye所获得的向量是视图空间( D )
A.X轴正方向 B.X轴负方向
C.Y轴正方向 D.Z轴正方向
13.以下光照效果与观察者位置相关的是: (C)
A.环境光 B.漫反射光
C.镜面反射光 D.自发光
14.在平面着色模型中,图元的颜色是由( A )决定的
A.第一个顶点的颜色 B.各顶点颜色的线性内插值
C.最近点顶点的颜色 D.相邻像素的颜色
15.在纹理采样的算法中,速度最快、精度最差的是:(A )
A.最近点采样 B.线性过滤采样
C.各向异性过滤采样 D.无法确定,视情况而定
16. D3D纹理贴图的时候,贴图左上角的u,v坐标为:( C)
A.(0,1) B.(1,0) C.(0,0) D.(1,1)
17.在D3D编程中,保存像素深度值的缓冲区是:( C)
A.Front Buffer B.Back Buffer
C.Z Buffer D.Index Buffer
18.模版缓冲区和( A )共享同一个表面缓冲区。
A.深度缓冲区 B.顶点缓冲区
C.索引缓冲区 D.广度缓冲区
19. D3D中SetRenderState函数的用途非常大,那么如果设置深度缓冲打开需要调用语
句:( A )
A.(D3DRS_ZENABLE,TRUE) B.(D3DRS_FOGENABLE,TRUE)
C.(D3DRS_LIGHT,TRUE) D.(D3DRS_RENDER,TRUE)
20. 在Direct3D中,使用D3DMATERIAL9结构表示材质,代码
Typedef struct_D3DMATERIAL9
{
D3DCOLORVALUE Diffuse,Ambient,Specular,Emissive;
Float power;
}D3DMATERIAL9;
中,Ambient指的是什么意思( B )
A.指定散射光的反射率 B.指定环境光的反射率C.指定物体发出的光 D.指定镜面高光的集中度
21.在游戏中那一个不能达成阴影的效果( A )
A. 采用光照模型 B.使用贴图
C. 平面阴影技术 D.使用阴影锥技术
22.在实现下列特效时,需要使用模板缓冲区的是:( B)
A.铬表面金属壶 B.阴影体
C.卡通渲染 D.凹凸不平的墙面
23.在D3D中进行Alpha混合需要首先设置如下的那种渲染状态(A)
A.SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE );
B.SetRenderState( D3DRS_ALPHATESTENABLE, TRUE );
C.SetRenderState(D3DRS_ALPHAREF, TRUE );
D.SetRenderState(D3DRS_ ALPHAFUNC, TRUE );
24.想要创建立体效果的文字使用( C )方法
A.ID3DFont B.CD3DFont
C.D3DXCreatText D.3DFont
25. D3D导入”.X”模型文件的时候调用的函数是:( A )
A.D3DXLoadMeshFromX B.D3DLoadMeshFromX
C.D3DXLoadMeshFromFile D.D3DLoadMeshFromFile
26.在ID3DXBaseMesh中,得到指向顶点缓冲区的指针的方法正确的是( A )
A.HRESULT ID3DXMesh::GetVerterxBuffer(LPDIRECT3DVERTEXBUFFER9* ppVB);
B.VOID ID3DXMesh::DWORD GetFVF(VOID);
C.HRESULT ID3DXMesh::OptimizeInplace (LPDIRECT3DVERTEXBUFFER9* ppVB);
D.HRESULT ID3DXMesh::GetAttributeTable(LPDIRECT3DVERTEXBUFFER9* ppVB);
27.以下列出哪个不是ID3DXPMesh接口的相关方法( D )
A.DWORD GetMaxFaces(VOID);
B. DWORD GetMaxVertices(VOID);
C. DWORD GetMinFaces(VOID);
D. DWORD GetNum(VOID Faces);
28.VertexShdaer相当于固定渲染管线的:( A )
A.变换及光照 B.纹理采样
C.剪裁 D.Alpha混合
29.对于一个如下的顶点结构来说:
Struct Vertex
{
D3DXVECTOR3 pos;
D3DXVECTOR3 normal;
};
成员pos为第一个成员,因此它的偏移值为0,又sizeof(pos)为12,那么成员normal偏移值为( C )
A.0 B.1
C.12 D.13
30.ID3DXEffect::Begin函数的作用: ( B )
A.用参数指针返回所有的technique所拥有的pass的数量。
B.用参数指针返回当前被激活的technique所拥有的pass的数量。
C.用参数指针返回所有被激活的technique所拥有的pass的名称。
D.用参数指针返回当前被激活的technique所拥有的pass的名称。
二、 多选题(20题,每题2分,共40分)
1. 为拦截按键被按下的消息,SDK方式的开发可以实现以下消息:( AB )
A. WM_KEYDOWN B. WM_CHAR
C. WM_KEY D. WM_PRESS
2. Windows程序设计如果用MFC的App wizard开发,可选择的框架有:( CD )
A. win32 application B. win32 console application
C. Appwizard(exe) D. appwizard(dll)
3. D3D中的常见的矩阵变化( ABCD )
A. 旋转 B. 缩放
C. 平移 D. 组合变换
4.D3DX函数,可以实现的旋转包括:( ABCD )
A.绕X轴的旋转 B.绕Y轴的旋转
C.绕Z轴的旋转 D.绕任意轴的旋转
5. D3D中能够绘制的基本几何体有:( ABCD )
A. 点列和线列 B.线带和三角形扇型
C. 三角形列 D.三角形带
6. D3D中的变换空间主要包括: ( ABCD )
A. 本地空间 B.世界空间
C. 视图空间 D.视口
7.D3D支持的灯光类型有:(ABC )
A. 点光源 B.平行光
C. 聚光灯 D.环境光
8. D3D中的光照模型有:(ABC )
A.环境光 B. 漫反射
C.镜面反射 C. 全反射
9.DirectX9.0中需要设定方向的光源类型有:( BC )
A.点光源 B.聚光灯
C.直射光 D.环境光
10.计算漫反射的需要考虑的因素包括:( ABC )
A.光源照射范围 B.光源照射方向
C. 光源颜色 D. 观察者位置
11.开闭灯光所涉及的函数有:( ACD )
A.SetRenderState() B. SetMaterial()
C. SetLight() D. LightEnable()
12.D3D采用材质采样技术有那些:( ABC)
A. 最近点取样 B. 线性采样
C. 各向异性采样 D. 曲线采样
13.D3D采用纹理过滤技术有哪些:( ABD )
A. 缩小过滤 B. 放大过滤
C. 噪音过滤 D. mipmap过滤
14.D3D中的纹理寻址方式包括有:( ABCD )
A.环绕纹理寻址(wrap texture)
B.镜像纹理寻址(mirror texture)
C.截取纹理寻址(clamp texture)
D.边框颜色纹理寻址(border color texture)
15.材质结构有如下那几个属性组成:( ABCD )
A. Diffuse B. Ambient
C. Specular D. Emissive
16.设置雾效的时候可以设置的参数有:( ABCD )
A. 雾的初始范围 B.雾的终止范围
C. 雾的衰减模式 D.雾的颜色
17.Clear()函数能够清空的缓冲区有:(ABC )
A.深度缓冲区 B. 模板缓冲区
C. 颜色缓冲区 D.顶点缓冲区
18.D3D的内存池有如下那几种管理方式是:( ABCD )
A.D3DPOOL_DEFAULT B. D3DPOOL_MANAGED
C. D3DPOOL_SYSTEMMEM D. D3DPOOL_SCRATCH
19.模板缓冲区能实现的效果是 ( ABCD )
A.阴影 B.镜面效果
C.淡入淡出 D. 贴图
20.HLSL中,语言所支持的内部数据类型包括:( ABCD )
A. 标量 B.向量
B. 矩阵 D.结构
三、 判断题(30题,每题1分,共30分)
1.Direct3D只能实现硬件所支持的功能和特性,而无法通过软件模拟的方法来实现Direct3D提供的所有特性。( F )
2.世界变换完成世界空间中所有物体位置、大小、以及与相互之间关系的设置。( T )
3.Direct3D中的顶点只具有空间位置属性。( F )
4.调用IDirect3DDevice9::SetStreamSource方法,把顶点缓冲和数据流挂接在一起。(T )
5.Direct3D通过为每个物体都定义一个材质属性来模拟自然界中反射的现象( T )
6.在定义灵活顶点格式(FVF)时,可以不设定顶点的位置坐标。( F )
7.模板缓冲区和深度缓冲区共享相同的表面,并同时被创建。( T )
8.D3DXCreateMesh和D3DXCreateMeshFVF两个函数都可以用来生成网格对象。( T )
9.X文件中的材质数组的元素只包括物体材质。( F )
10.ID3DXConstantTable::SetMatrix用于将Shader中的矩阵值赋给D3D应用程序中的矩阵类型。( F )
11. Direct3D支持最多8层的多层纹理映射。( T)
12. 参数D3DTSS_COLORARG1和D3DTSS_COLORARG2用来指定混合方程式。( F)
13. Direct3D采用了2种方法进行雾化处理:顶点雾化和像素雾化。( T)
14.下面的程序片断设置了像素雾化效果为线性:
g_pd3dDevice->SetRenderState( D3DRS_FOGTABLEMODE , D3DFOG_LINEAR); ( T)
15. 深度缓冲(又称Z-buffer)的作用是确保多边形能够正确地显示在它们本来的深度(相对于摄像机)上。(T )
16. Flat渲染计算多边形每一个顶点的光照颜色值,并对每一个多边形的面上的像素按照它的各个顶点颜色进行线性插值Direct3D默认的渲染方式。 ( F)
17. Alpha测试在速度上要优于Alpha混合。( T)
18.D3DXFRAME结构体的pFringSibling指向同一层次的兄弟Frame。( T)
19. TransformationaMtrix是一个存放相对于父框架坐标系的变换矩阵(骨骼矩阵)(T)
20.Direct3D中的光照模型就是光源类型。(F )
21.光源类型试图模拟自然界各种真实的光源。( T)
22.方向光有发光位置,没有衰减。(F )
23.点光源没有方向,有衰减。(T )
24.聚光灯的光强在内锥形以内强度不变。( F)
25.只可以使用D3DXCreateMeshFVF函数创建一个空的Mesh对象。( F)
26. 在骨骼动画中,一个角色由作为皮肤的单一网格模型和按照一定层次组织起来的骨骼组成。(T )
27.纹理包装和纹理寻址可以同时使用。( F)
28.纹理包装在u和v方向上可以同时使用。(T )
29.D3D中的D3DXMATRIX表示3×3的矩阵。( F)
30.通过使用索引缓冲区,我们可以不再使用顶点缓冲区。(F)
源文档 <http://shahei1021.blog.163.com/blog/static/44257281201052795257821/>