DX期末复习题
江西司法警官学院-武警工程大学分数线
《DirectX游戏设计》考试样题一
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
装
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
订
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
线
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
题号
得分
一
二
三
总分
学
院
班
级
学
号
姓
名
CABBC CBABD
BDCAA CCAAB
ABACA ADACB
一、
单选题(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.D3DXMatrix
Inverse、D3DXMatrixIdentity、D3DXMatrixTranspose
B. D3DXMatrixIdentity、D3DXMatrixInverse、D3DXMa
trixTranspose
C.D3DXMatrixIdentity、D3DXMatrixT
ranspose、D3DXMatrixInverse
D.D3DXMatrixInverse、D3DXMatrixTranspose、
D3DXMatrixIdentity
6.逆矩阵的特点是:( C )
A.
和原矩阵相乘等于原矩阵 B.和原矩阵相乘等于逆矩阵
C. 和原矩阵相乘等于单位矩阵
D.和原矩阵相乘等于全1矩阵
7.初始化Direct3D的第一步是要得到一个( B
)接口。
A.IDirect3DSurface9
-1-
B.IDirect3D9
D.IUnknown
C.IDirect3DDevice9
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.长方体
C.半个正方体
B.平截台体
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.无法确定,视情况而定
-2-
16.
D3D纹理贴图的时候,贴图左上角的u,v坐标为:( C )
A.(0,1)
B.(1,0) C.(0,0) D.(1,1)
17.
在D3D编程中,保存像素深度值的缓冲区是:( C )
A.Front Buffer
C.Z Buffer
B.Back 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 )
-3-
A.D3DXLoadMeshFromX
B.D3DLoadMeshFromX
C.D3DXLoadMeshFromFile
D.D3DLoadMeshFromFile
26.在ID3DXBaseMesh中,得到指向顶点缓冲区的指针的方法正确的是( A )
T ID3DXMesh::GetVerterxBuffer(LPDIRECT3DVERTE
XBUFFER9* ppVB);
ID3DXMesh::DWORD
GetFVF(VOID);
T ID3DXMesh::OptimizeInplace
(LPDIRECT3DVERTEXBUFFER9* ppVB);
T 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.对于一个如下的顶点结构来说: C
Struct
Vertex
{
D3DXVECTOR3 pos;
D3DXVECTOR3 normal;
};
成员pos为第一个成员,因此它的偏移
值为0,又sizeof(pos)为12,那么成员normal偏移值为( )
A.0 B.1
C.12
D.13
30.ID3DXEffect::Begin函数的作用: ( B )
A.用参数指针返回所有的technique所拥有的pass的数量。
B.用参数指针返回当前被激活的technique所拥有的pass的数量。
C.用参数指针返回所有被激活的technique所拥有的pass的名称。
D.用参数指针返回当前被激活的technique所拥有的pass的名称。
1. AB 2. CD 3. ABCD 4. ABCD
5. ABCD
6. ABCD 7. ABC 8. ABC 9. BC
10. ABC
11. ACD 12. ABC 13. ABD 14. ABCD
15. ABCD
16. ABCD 17. ABC 18. ABCD 19.
ABCD 20. ABCD
二、
多选题(20题,每题2分,共40分)
-4-
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. 线性采样
-5-
)
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
)
D3DPOOL_DEFAULT
*****19.模板缓冲区能实现的效果是 ( ABCD )
A.阴影
20
.HLSL中,语言所支持的内部数据类型包括:( ABCD )
B.镜面效果
C.淡入淡出 D. 贴图
B.
D3DPOOL_MANAGED
D. D3DPOOL_SCRATCH C.
D3DPOOL_SYSTEMMEM
A. 标量
B.
矩阵
FTFTT
B.向量
D.结构
FTTFF TFTTT FTTTF
TFTFF
TFTFF
三、 判断题(30题,每题1分,共30分)
1.Direct3D只能实现
硬件所支持的功能和特性,而无法通过软件模拟的方法来实现Direct3D提供的所有
特性。(
F )
2.世界变换完成世界空间中所有物体位置、大小、以及与相互之间关系的设置。( T
)
3.Direct3D中的顶点只具有空间位置属性。( F )
-6-
4.调用IDirect3DDevice9::SetStreamSou
rce方法,把顶点缓冲和数据流挂接在一起。( T )
5.Direct3D通过为每个物体都定义一个材质属性来模拟自然界中反射的现象( T )
6.在定义灵活顶点格式(FVF)时,可以不设定顶点的位置坐标。( F )
7.模板缓冲区和深度缓冲区共享相同的表面,并同时被创建。( T )
8.D3DX
CreateMesh和D3DXCreateMeshFVF两个函数都可以用来生成网格对象。( T
)
9.X文件中的材质数组的元素只包括物体材质。( F )
10.ID3DXC
onstantTable::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 )
3D中的光照模型就是光源类型。( 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 )
《DirectX游戏编程》考试样题一答案
-7-
一、 单选题
CABBC CBABD
BDCAA CCAAB
ABACA ADACB
二、 多选题
1. AB 2.
CD 3. ABCD 4. ABCD 5. ABCD
6.
ABCD 7. ABC 8. ABC 9. BC 10. ABC
11. ACD 12. ABC 13. ABD 14. ABCD 15.
ABCD
16. ABCD 17. ABC 18. ABCD 19. ABCD
20. ABCD
三、 判断题
FTFTT FTTFF
TFTTT FTTTF
TFTFF TFTFF
《DirectX游戏编程》考试样题二
一、 选择题
题号
答案
1.我们通常通过两个向量( A ),来判断向量之间的夹角。
A.点积 B.相加 C.叉积 D.相减
2.
模拟类似玻璃的透明效果,我们采用的是( D )技术。
A.光照 B.模板
C.纹理映射 D.混合
3.
在进行纹理映射时,我们需要设置纹理的过滤方式,使用下面的哪个方法( B )。
A.SetRenderState B.SetSamplerState
C.SetMaterial D.SetLight
4.
下面哪项不属于绘制状态的填充状态值( D )。
A.D3DFILL_WIREFRAME B.D3DFILL_POINT
C.D3DFILL_SOLID
D.D3DFILL_LINE
5.
在Direct3D的光照模型中,光源发出的光由下面哪几种光线类型组成 ( ABD )。
A.漫射光 B.镜面光
C.火焰光
D.环境光
1
A
2
D
3
B
4
D
5
ABD
6
B
7
D
8
A
9
AD
10
C
6.
在使用Direct3D编程时,我们使用( B )矩阵表示一个变换。
A.3×3
B.4×4 C.2×2 D.1×4
7.
当需要对场景进行矩阵V的取景变换,选择下面的( D )。
A.Device->SetTransform(D3DTS_PROJECTION, &V);
B.Device->SetTransform(D3DTS_WORLD, &V);
C.Device->SetTransform(D3DTS_TEXTURE0, &V);
D.Device->SetTransform(D3DTS_VIEW, &V);
8.
Direct3D中我们使用左手坐标系来进行三维建模,左手坐标系的z轴正方向是( A )。
A. 穿过纸面向里 B. 在纸面上向左
C. 穿出纸面向外
D. 在纸面上向右
9.
下面哪项中的图像格式都是D3DXCreateTextureFromFile支持加载纹理图像的格式(
AD )。
A.BMP、TGA、JPG
B.DDS、PPT、DIB
-8-
C.HDR、DOC、MAX D.PPM、PNG、PFM
10.在进行混合运算的时候,我们需要设置源混合因子和目标混合因子,他们的默认值分别为( C
)。
A.D3DBLEND_ZERO,D3DBLEND_ONE
B.D3DBLEND_SRCCOLOR,D3DBLEND_INVSRCCOLOR
C.D3DBLEND_ONE ,D3DBLEND_ZERO
D.D3DBLEND_SRCALPHA,D3DBLEND_INVSRCALPHA
(D)11.点精灵的行为主要是通过控制渲染状态来完成。
device->SetRenderState(D3DRS_POINTSPRITEENABLE,
true)表示:
A.表示点的大小将通过视图坐标系单位来指定。
B.表示通过纹理坐标来指定texel(假如顶点结构中有纹理坐标的话)的方法来让纹理应用到点精灵上。
C.表示点的大小将通过屏幕坐标系单位来指定。
D.表示将当前纹理整个映射到点精灵上(不根据纹理坐标)。
( C )
12.纹理采样属性设置函数SetSamplerState()的参数有( )
A.1个
B.2个 C.3个
D.4个
(A)13.D3D9中粒子的表现图元是:
A.点图元
B.三角形
C.公告板
D.方块面
(B)12.为了检验3D设备的最大图元数和最大顶点索引数,一般通过D3DCAPS9结构中的:
A.MaxPrimitiveCount和MultiSampleType
B.MaxPrimitiveCount和MaxVertexIndex
C.MaxVertexIndex和MaxPrimitiveCount
D.MultiSampleType和MaxPrimitiveCount
C)14.关于逆矩阵的说法,哪个是不正确的
A.只有正方形的矩阵(方阵)才能求逆,因此当我们说矩阵求逆,那么它就是方矩阵。
B.n×n矩阵M的逆矩阵是一个n×n矩阵表示为M–1
C.每个矩阵都有逆矩阵
D.矩阵和它的逆矩阵相乘得到一个单位矩阵:M M–1 = M–1M =
I。注意当我们进行这样的操作时矩
阵是可交换的
****(B)15.向量的点乘的方法是以下哪个
A.D3DXVec3Cross
B.D3DXVec3Dot
C.D3DXVec3Point
D.D3DXVecMul
(C)16.逆矩阵的特点是:( )
A.和原矩阵相乘等于原矩阵
B.和原矩阵相乘等于逆矩阵
C.和原矩阵相乘等于单位矩阵
D.和原矩阵相乘等于全1矩阵
(B)17.Windows SDK方式的开发中,响应菜单或按钮我们需要关注的消息是:( )
-9-
A.WM_CREATE
B.WM_COMMAND
C.WM_MENU
D.WM_BUTTON
(D)18.以下列出哪个不是ID3DXPMesh接口的相关方法( )
A.DWORD GetMaxFaces(VOID);
B.DWORD GetMaxVertices(VOID);
C.DWORD
GetMinFaces(VOID);
D.DWORD GetNum(VOID
Faces);
(A)19.在ID3DXBaseMesh中,得到指向顶点缓冲区的指针的方法正确的是( )
A.HRESULT ID3DXMesh::GetVerterxBuf
fer(LPDIRECT3DVERTEXBUFFER9* ppVB);
B.VOID ID3DXMesh::DWORD GetFVF(VOID);
C.HRESULT ID3DXMesh::OptimizeInplace
(LPDIRECT3DVERTEXBUFFER9* ppVB);
D.HRESULT ID3DXMesh::GetAttributeTable(LPDIRECT3D
VERTEXBUFFER9* ppVB);
(D)20.
在Direct3D中,使用D3DMATERIAL9结构表示材质,代码
Typedef struct_D3DMATERIAL9
{
D3DCOLORVALUE Diffuse,Ambient,Specular,Emissive;
Float power;
}D3DMATERIAL9;
中,Specular指的是什么意思( )
A.指定散射光的反射率
B.指定环境光的反射率
C.指定物体发出的光
D.指定镜面高光的集中度
(A)21.D3D纹理贴图的时候,贴图左下角的u,v坐标为:( )
A.(0,1)
B.(1,0)
C.(0,0)
D.(1,1)
(b)22.D3D中SetRenderState函数的
用途非常大,那么如果打开雾效果需要调用语
句:( )
A.(D3DRS_ZENABLE,TRUE)
B.(D3DRS_FOGENABLE,TRUE)
C.(D3DRS_LIGHT,TRUE)
D.(D3DRS_RENDER,TRUE)
(A)23.D3D导入”.X”模型文件的时候调用的函数是:()
A.D3DXLoadMeshFromX
B.D3DLoadMeshFromX
-10-
C.D3DXLoadMeshFromFile
D.D3DLoadMeshFromFile
(C)24.D3D中代表移位的函数是:()
A.D3DXMatrixScaling()
B.D3DXMatrixRotationX()
C.D3DXMatrixTranslation()
D.D3DXMatrixTranspose()
(C)25.DirectX编程也可以说是一种COM编程,如果创建并释放接口对象A和B,
流程是:( )
A.Create
A,Create B,Release A,Release B
B.Create
B,Create A,Release B,Release A
C.Create
A,Create B,Release B,Release A
D.Create
A,Release A,Create B,Release B
(B)26.初始化Direct3D的第一步是要得到一个( )接口。
A.IDirect3DSurface9
B.IDirect3D9
C.IDirect3DDevice9
D.COM
二、填空题(本题共20空,每空1分,共20分。)
1、DirectX 9.0的三个组成部分 、
、 。
2、在几何学中,向量用一个有向线段来表示,向量的两个重要属性是 和
。
3、为了求平面的法向量,我们通常的方法是找到平面上相互不平行的两个向量,求他们的
。
4、通过
技术,我们可以将2D图像数据映射到3D图元上,以增强场景的真实感。
5、Direct3D支持三种类型的光源,分别是: 、
、 。
6、无论硬件的配置是否高端,开发人员都可以完整的体验和测试Dir
ectX所提供的全部功能,是因为DirectX
在体系机构上使用了 和
两层驱动的模式。
7、Direct3D的观察坐标系中,默认状态下,顶点的排列顺序为
的三角形单元是背面朝向的,这些三
角形将在背面消隐的时候被剔除。
8、Direct3D中有两种着色模式,分别是: 、
。
9、在Direct3D中,我们将3D场景投影到2D的屏幕上,投影的平面是
。
10、标记平面的朝向,与平面垂直的一个重要的量是平面的 。
11、Direct3D中对物体进行的的三种基本变换类型是 、
、 。
二、 填空题答案
三、 填空题(20×1分)
1、DirectX Audio、DirectX Input、DirectX Graphics
2、长度、方向
3、叉积
4、纹理映射
5、点光源、方向光、聚光灯
6、HAL、REF
7、逆时针
8、平面着色、Gouraud着色(平滑着色)
-11-
9、z=1
10、法向量
11、平移变换、旋转变换、缩放变换(比例变换)
四、 判断题
题号
答案
1、若两个向量的长度和方向相同,但起点位置不同,则两向量是不相等的。
( )
2、在Direct3D的程序设计过程中,如果用到了一些新的、特别的或高级的特性,最
好要先检查一下我们使用
的图形设备的性能。
( )
3、在Direct3D中我们可以通过设置绘制状态来改变几何体的绘制方式,当指定了某
种绘制状态绘制物体后,
它会自动的恢复到默认状态。
( )
4、在Direct3D中,我们可以自由的定义顶点的格式。
变换效果。
6、必须在设备接口的BeginScene和EndScene构成的方法对之间调用绘制的方法。
表面是相同的。
作。
( )
7、在光照计算中,我们需要知
道每个顶点的法线方向来确定顶点所接收到的光照,顶点的法线方向与其所在的
( )
8、访问缓存接口之前要对其进行锁定来获取指向缓存内容的指针,访问完毕之后,必须对其进行相应的解锁操<
br> ( )
9、左手坐标系和右手坐标系的区别就是他们的三个坐标轴的方向都是相反的。
( )
10、我们创建顶点缓存和索引缓存而非数组来存储数据,是因为顶点缓存和索引缓存可以被
放置在显存中,能
获得较快的绘制速度。
(T) 11 雪特效的实现原理是绘制面
片,然后给面片贴上雪花的纹理,接着控件雪花的密度和运动轨迹等就形成
了雪特效.( )
(T)12. 地形这些具备高度特征的效果都是通过调整地形来实现的。 ( )
(T)13. 高度图是用来描述地表高度信息的平面图像,一般可以分为彩色高度图和灰度图,另外
也可以用等高线
等方式来存储。 ( )
(F)14.
灰度图的图像看起来比较黑,那么它所描述的地形高度是偏高的( )
(T)15. 看似雾效的特
殊效果如四散的浓烟、喷涌的气态物等并不是采用雾效来实现的,而是采用粒子系统来实
现的。
( )
(T)16 .D3D中的D3DXMATRIX表示4×4的矩阵。( )
(F)17 .通过使用索引缓冲区,我们可以不再使用顶点缓冲区。()
(T)18
、高度图常用来保存地形高度数据( )
(T)19、粒子系统通常由粒子管理器和若干粒子组成。
(T)20.点精灵的行为主要是通过控制渲染状态来完成。
device->
SetRenderState(D3DRS_POINTSCALEENABLE, true)
角形。( )
(T)22.优化Mesh也就是可以重新组织其中的顶点和索引,以便更加有效地渲染Mesh。(
)
(T)23.建立属性表后,渲染一个子集就很容易了,仅仅查一下属性表找出自己的几何信息即可。(
)
(F)24.只可以使用D3DXCreateMeshFVF函数创建一个空的Mesh对象。(
)
(F)25.一种图形化描述高度图方法是使用灰度图,灰度图中黑色对应着比较高的地方,白色对
应着比较低的地
方。( )
-12-
1
×
2
√
3
×
4
√
5
√
6
√
7
×
8
√
9
×
10
√
( )
5、由于矩阵相乘不具有交换性,所以我们在对物体进行世
界变换时一定要考虑变换的先后,以达到我们想要的
(T)21.接口ID3DXMesh提供了DrawSubset(DWORD
AttribID)方法,渲染参数AttribID指的是子集中的各个三
(T)29.深度缓冲(又称Z-
buffer)的作用是确保多边形能够正确地显示在它们本来的深度(相对于摄像机)上。
( )
(F)30.激活Direct3D的Alpha混合计算的方法是:g_pd3dDevice->
SetRenderState(D3DRS_ALPHATESTENABLE,
TRUE)。(
)
(T)31.Alpha测试在速度上要优于Alpha混合。( )
(F)32.
Flat渲染计算多边形每一个顶点的光照颜色值,并对每一个多边形的面上的像素按照它的各个顶点颜色
进行线性插值Direct3D默认的渲染方式。( )
(T)33.Direct3D支持最多8层的多层纹理映射。( )
(T)34.Direct3D采用了两种方法进行雾化处理:顶点雾化和像素雾化。( ) (T)35.雪特效的实现原理是绘制面片,然后给面片贴上雪花的纹理,接着控制雪花的密度和运动轨迹,
就形成
了雪特效。( )
T)36.我们通常将一张高度图当做是一个矩阵来
处理,这样以便其中每项都与地形网格中的每一个顶点一一对
应。
(F)37.顶点结构可以包含很多属性,比如材质属性
(T)38.投影变换的实质就是定义可视体并将可视体内的几何图形投影到投影窗口上去。
(T)39.顶点列表包含所有不重复的顶点,索引列表中则用顶点列表中定义的值来表示每
一个三角形的构造方
式。
(T)40.一个mesh由一个或数个子集组成。一个子集是在
mesh中的使用相通属性渲染的一组三角形
(F)41.在D3D9.0b和D3D9.0c中,对效果框架使用的接口都是一致的
(T)42.高度图可以用程序生成或者是用图片编辑工具(PS)来制作
(F)43.通过使用索引缓冲区,我们可以不再使用顶点缓冲区。
(F)44.D3D中的D3DXMATRIX表示3×3的矩阵。
(T)45.纹理包装在u和v方向上可以同时使用。
(F)46.纹理包装和纹理寻址可以同时使用。
(T)47.点光源没有方向,有衰减。
(F)48.方向光有发光位置,没有衰减。
(T)49.光源类型试图模拟自然界各种真实的光源。
(F)50.Direct3D中的光照模型就是光源类型。
(T)51.
Alpha测试在速度上要优于Alpha混合。
(F)52.Flat渲染计算多边形每一个顶点
的光照颜色值,并对每一个多边形的面上的像素按照它的各个顶点颜
色进行线性插值Direct3D默
认的渲染方式。
(T)53.深度缓冲(又称Z-
buffer)的作用是确保多边形能够正确地显示在它们本来的深度(相对于摄像机)上。
(T)54.下面的程序片断设置了像素雾化效果为线性:
g_pd3dDevice->SetRenderState( D3DRS_FOGTABLEMODE ,
D3DFOG_LINEAR);
(T)55.Direct3D采用了2种方法进行雾化处理:顶点雾化和像素雾化。
(F)56.
参数D3DTSS_COLORARG1和D3DTSS_COLORARG2用来指定混合方程式。
(T)57.Direct3D支持最多8层的多层纹理映射。
(F)58.X文件中的材质数组的元素只包括物体材质。
(T)59.D3DXCrea
teMesh和D3DXCreateMeshFVF两个函数都可以用来生成网格对象。
(T)60.模板缓冲区和深度缓冲区共享相同的表面,并同时被创建。
(F)61.在定义灵活顶点格式(FVF)时,可以不设定顶点的位置坐标。
-13-
(T)62.Direct3D通过为每个物体都定义一个材质属性来模拟自然界中反射的现象( )
(T)65.调用IDirect3DDevice9::SetStreamSource
方法,把顶点缓冲和数据流挂接在一起。
(F)64.Direct3D中的顶点只具有空间位置属性。( )
(T)65.世界变换完成世界空间中所有物体位置、大小、以及与相互之间关系的设置。( )
(F)66.Direct3D只能实现硬件所支持的功能和特性,而无法通过软件模拟的方
法来实现Direct3D提供的所
有特性。( )
多选题
(AB)1 、D3D中点精灵需要设置渲染状态有 ( )
A、SetRenderState(D3DRS_POINTSPRITEENABLE,
TRUE);
B、SetRenderState(D3DRS_POINTSCALEENABLE,
TRUE);
C、SetRenderState(D3DRS_LIGHTING,FALSE);
D、SetRenderState(D3DRS_ZENABLE ,
FALSE);
(ABCD)2. D3D中用DirectX 支持得纹理格式有那些( )
A. JPG B. BMP
C.
DDS D. TGA
****(BCD)3.材质结构有如下那几个属性组成:( )
A. Vertex
B. Ambient
C. Specular D.
Emissive
****(BC)4.平行光的特性包括:( )
A. 位置
C. 颜色
B. 方向
D. 衰减
****(ABC) 5.游戏中虚拟摄影机的属性包含有( )
A.位置 B. 正方向
C. 视点 D. 大小
(ABC)6.纹理过滤的类型有( )
A.缩小过滤
B.放大过滤 C.多纹理过滤 D.双线性过滤
(ABCD)7.纹理采样方式有( )
A.最近点采样
B.线性纹理过滤
C.各向异性过滤
D.多级渐进纹理过滤
(BCD)8.漫反射的特性包括( )
A.位置
B.方向 C.颜色
D.观察者位置
****(ABC)9.下面有哪些函数表示物体的基本变换是( )
A.D3DXMatrixTranslation
B.D3DXMatrixScaling
C.D3DXMatrixRotationAxis
D.D3DXMatrixMultiply
****(ABCD)10.实现光照所要用的函数有:( )
A.SetRenderState()
B.SetMaterial()
C.SetLight()
-14-
D.LightEnable()
(ABC)11.漫反射的特性包括:( )
A.位置
B.方向
C.颜色
D.观察者位置
**(ABC)12.D3D中的光照模型有:( )
A.环境光
B.漫反射
C.镜面反射
D.全反射
***(ABCD)13.材质结构有如下那几个属性著称:( )
A.Diffuse
B.Ambient
C.Specular
D.Emissive
(ABCD)14.D3D中能够绘制的基本几何体有:( )
A.点列和线列
B.线带和三角形扇型
C.三角形列
D.三角形带
(ABCD)15.设置雾效的时候可以设置的参数有:( )
A.雾的初始范围
B.雾的终止范围
C.雾的衰减模式
D.雾的颜色
(ABC)16.D3D采用材质过滤技术有那些:( )
A.最近点取样
B.线性过滤
C.mipmap过滤
D.曲线过滤
(ABCD)17.D3D中的常见的矩阵变化( )
A.旋转
B.缩放
C.平移
D.组合变换
(ABC)18.D3D支持的灯光类型有:( )
-15-
A.点光源
B.平行光
C.聚光灯
D.环境光
(CD)19.Windows程序设计如果用MFC的App
wizard开发,可选择的框架有:( )
A. win32
application
B.win32 console
application
C.Appwizard(exe)
D.appwizard(dll)
(AB)20.为拦截按键被按下的消息,SDK方式的开发可以实现以下消息:( )
A.WM_KEYDOWN
B.WM_CHAR
C.WM_KEY
D.WM_PRESS
-16-