《DirectX程序设计》20春期末考核
一、单选题
1 ()为从无限远以特定的方向照射过来的光,光照强度随距离的增加而衰减,此光源不需要设置光源位置、衰减系数和光照作用范围。
A 漫反射光
B 聚焦光源
C 方向光源
D 点光源
参考答案:C
2 采用()时,复制与这个浮点值地址最接近的整数地址的纹理元素的颜色
A 最近点采样
B 线性过滤
C 各向异性过滤
D mipmap过滤
参考答案:A
3 在使用Direct3D编程时,我们使用()矩阵表示一个变换。
A 3×3
B 4×4
C 2×2
D 1×4
参考答案:B
4 ()是HAL设备的变体,只支持硬件顶点处理。
A 纯软件模式
B 在不同设备上的混合顶点处理模式
D 纯硬件模式
参考答案:D
5 替换顶点处理的部分叫做()
A 像素着色器
B 着色器
C 顶点着色器
D 可编程着色器
参考答案:C
6 ()是一个在图形卡的GPU上执行的程序,可对顶点进行操作;包括顶点坐标转换和光照处理
A 像素着色器
B 可编程着色器
C 着色器
D 顶点着色器
参考答案:D
7 纹理采样属性设置函数SetSamplerState()的参数有
A 1个
B 2个
C 3个
D 4个
参考答案:C
8 当需要对场景进行矩阵V的取景变换,选择下面的()。
A Device->SetTransform(D3DTS_PROJECTION, &V);
B Device->SetTransform(D3DTS_WORLD, &V);
D Device->SetTransform(D3DTS_VIEW, &V);
参考答案:D
9 ()变换后的的几何体位于观察坐标系中。
A 局部变换
B 取景变换
C 世界变换
D 空间变换
参考答案:B
10 ()的发光区域是一个圆锥体,具有颜色、位置和发出光的方向,由一个比较亮的内圆锥和一个较大的外圆锥组成,光强由内而外逐渐减小。
A 漫反射光
B 聚焦光源
C 镜面发射光
D 点光源
参考答案:B
二、多选题
1、 Direct3D提供了哪些()方法来简化纹理过滤的过程
A 最近点采样
B 线性过滤
C 各向异性过滤
D mipmap过滤
参考答案:ABCD
2、Direct3D中哪些光是分别独立地用于系统的光照计算的。
A 漫反射光
参考答案:ABC
3、 HAL的顶点处理模式包括()。
A 软件顶点处理
B 硬件顶点处理
C 在不同设备上的混合顶点处理
D 在同一设备上的混合顶点处理
参考答案:ABD
4、模板定义包含哪些项()
A 模板名字
B GUID
C 数据项
D 用于控制模板的限制程度
参考答案:ABCD
5 D3D中的常见的矩阵变化( )
A 旋转
B 缩放
C 平移
D 组合变换
参考答案:ABCD
6 D3D中的光照模型有:( )
A 环境光
参考答案:ABC
7 下面有哪些函数表示物体的基本变换是( )
A D3DXMatrixTranslation
B D3DXMatrixScaling
C D3DXMatrixRotationAxis
D D3DXMatrixMultiply
参考答案:ABC
8 Direct3D支持哪些多边形填充模式。
A 点模式
B 线框模式
C 实体模式
D 混合模式
参考答案:ABC
9 可以存储RGB数据的结构包括()。
A DWORD
B D3DCOLOR
C D3DCOLORVALUE
D D3DXCOLOR
参考答案:ABCD
10 常见的纹理寻址模式有()
A 重叠纹理寻址模式
C 钳位纹理寻址模式
D 边界颜色纹理寻址模式
参考答案:ABCD
三、判断题
1 向量型的成员可以单独被访问,矩阵型不可以
A 错误
B 正确
参考答案:A
2 Alpha分量主要是用来指定像素的透明等级
A 错误
B 正确
参考答案:B
3 Direct3DHAL仅实现与设备相关的代码并且不做任何模拟。
A 错误
B 正确
参考答案:B
4 有材质和纹理的X文件中,还需定义材质模板、颜色模板、纹理文件名模板、纹理坐标模板等
A 错误
B 正确
参考答案:B
5 如果没有使用材质和问题,当前绘制像素的Alpha分量来自每个顶点颜色设置的Alpha值
A 错误
参考答案:B
6 光栅化过程是通过硬件和软件混合图形处理来完成的。
A 错误
B 正确
参考答案:A
7 渲染后的物体看起来像是由许许多多的三角形、四边形或五边形组成的,就像网一样,我们称为网状结构
A 错误
B 正确
参考答案:A
8 Direct3D中的光照模型就是光源类型。
A 错误
B 正确
参考答案:A
9 Direct3D采用了两种方法进行雾化处理:顶点雾化和像素雾化。
A 错误
B 正确
参考答案:B
10 优化Mesh也就是可以重新组织其中的顶点和索引,以便更加有效地渲染Mesh。
A 错误
B 正确
参考答案:B
11 深度缓冲(又称Z-buffer)的作用是确保多边形能够正确地显示在它们本来的深度(相对于摄像机)上。
B 正确
参考答案:B
12 Alpha混合是渲染状态的一种,不启用Alpha混合也能进行相关计算
A 错误
B 正确
参考答案:A
13 顶点和像素由GPU来执行,是固定功能管线的一部分
A 错误
B 正确
参考答案:B
14 直线与平面的夹角小于等于90°。
A 错误
B 正确
参考答案:B
15 一个采样对象包含一个纹理对象以及对该纹理进行采样所需要的一些状态
A 错误
B 正确
参考答案:B
四、主观填空题
1 ##函数创建一个Direct3D对象并获得指向Direct3D对象接口的指针,且参数必须设置为D3D_SDK_VERSION。
参考答案:Direct3DCreate9
参考答案:设置着色模式为高洛德着色模式
2 接口函数d3d::Release<IDirect3DPixelShader9*>(MultiTexPS),可以实现的功能是##。
参考答案:销毁像素着色器
3 ##是建立在Direct3D9和Direct3D10上的一个程序框架,其目标是建立一个强大而容易使用的Direct3D游戏开发框架,它简化了Win32和Direct3D API的使用。
参考答案:;DXUT(The DirectX Utility Library)
4 创建一个ID3DXMesh对象,然后从X文件中读取集合信息数据填入到这个对象中。请给出读取函数的定义,及相关参数的含义。
参考答案:HRESULT D3DXLoadMeshFromX(LPCSTR pFilename, //X 文件名 ;DWORD Options, //创建标志;LPDIRECT3DDEVICE9 pDevice, //与创建Mesh有关的设备;LPD3DXBUFFER* ppAdjacency, //返回包含DWORD的ID3DXBuffer类型; ; //的指针,描述Mesh的邻接信息 ;LPD3DXBUFFER* ppMaterials, ;//返回包含D3DXMATERIAL结构的数组 ; ; ; ; ; ; ; ;//的ID3DXBuffer指针,存储了Mesh的材质数据 ;LPD3DXBUFFER* ppEffectInstances, //返回一个包含D3DXEFFECTINSTANCE结; ; //构的数组的ID3DXBuffer类型指针;PDWORD pNumMaterials, ;//返回Mesh的材质数 ;LPD3DXMESH * ppMesh ; ; ; ; ; ; ; ;//返回填充了X文件几何信息的ID3DXMesh对象 ;);
五、简答题
1 请问在Direct3D的一个场景中,最多可设置几个光源,请给出相应的设置函数。
参考答案:最多可设置8个光源; ; ; ; ; ; HRESULT SetLight(DWORD Index,CONST D3DLight9 *pLight );