《DirectX游戏编程》考试样题二剖析
- 格式:doc
- 大小:63.00 KB
- 文档页数:8
【真题详解】2020-5全国青少年编程等级考试(Scratch)⼆级真题解析全国青少年编程等级考试(Scratch)⼆级真题解析(2020.5)⼀、单选题(共20题,每题2.5分,共50分)1、舞台、⾓⾊、造型、脚本等构成图形化编辑器的基本要素,下列关于⾓⾊这⼀要素的表述中不正确的是()A.⾓⾊通常包括脚本、造型和声⾳三部分B.⼀个⾓⾊可以有多个造型C.⾓⾊必须显⽰在舞台上D.脚本可以实现⾓⾊的交互答案:C考点分析:考查⾓⾊、舞台、造型、脚本的基本信息,⾓⾊可以显⽰也可以不显⽰在舞台上,只有C是错的2、脚本区是对⾓⾊进⾏编程显⽰脚本的区域,下列说法不正确的是()A.脚本区显⽰的脚本可以缩⼩B.脚本区显⽰的脚本可以放⼤C.脚本区显⽰的脚本⼤⼩不可变D.脚本区显⽰的脚本可以⼀键还原到默认⼤⼩答案:C考点分析:考查脚本区的显⽰、脚本可以缩⼩也可以放到,还可以回到默认⼤⼩,只有C是错的3、Scratch 作品的默认保存格式是()A .sb3 B.mp4 C.txt D.exe答案:A考点分析:考查Scratch⽂件保存格式,Scratch3.0中⽂件后缀是(.sb3)4、Scratch 软件⾃带的可以启动程序的按钮是()A. B. C. D.答案:B考点分析:考查功能区图标对应的功能,A是停⽌程序,B是启动程序,C是选择语⾔,D是舞台最⼤化5、关于画笔的指令被隐藏在()A.事件B.⾃制积⽊C.侦测D.添加扩展答案:D考点分析:考查拓展功能模块添加,画笔模块是在扩展模块⾥⾯,所以D答案6、舞台是呈现脚本运⾏效果的地⽅,舞台中央的坐标是()A .(0,180)B.(0,0)C.(-240,0)D.(180,180)答案:B考点分析:考查舞台坐标系,看⼀张图⼩朋友们就⼀⽬了然了7、下⾯的流程图展⽰了⼀个简单的数7 游戏过程,当输⼊数字n 为17 时,执⾏的事件是()A .先受惩罚再玩游戏B.先玩游戏再受惩罚C.受惩罚D.玩游戏答案:D考点分析:考查流程图,判断分⽀结构流程图的理解,17不是7的倍数,所以条件判断语句不成⽴,执⾏否对应的积⽊指令,也就是玩游戏。
《DirectX程序设计》考核重点及复习资料一、客观部分(一)、选择部分1.D3DPRESENT_PARAMETERS参数很多,关于其中参数之一windowed的理解正确的是(ABD)A.取值FALSE则渲染全屏B.取值TRUE则渲染窗口C. int类型D.BOOL类型E.double类型★考核知识点: D3DPRESENT_PARAMETERS2.以下属于Direct 3D定义的图元类型的有(ABCD)A.点列表B.线段条带C.三角形列表D.三角形条带E.四边形列表★考核知识点: 图元3.以下属于Direct 3D提供的着色模式的是(AB )A.平面着色模式B.高洛德法着色模式C.渐变着色模式D.单颜色着色模式★考核知识点: 着色模式4.下面属于Direct3D提供的创建旋转矩阵的函数的是(ABC)A.D3DXMatrixRotarionXB. D3DXMatrixRotarionYC.D3DXMatrixRotarionZD. D3DXMatrixRotXE. D3DXMatrixRotY★考核知识点: 变换5.以下属于Direct3D提供的简化纹理过滤的过程的是(ABCD)A.最近点采样B.线性过滤C.各向异性过滤D.mipmap过滤★考核知识点: 纹理过滤6.D3DPRESENT_PARAMETERS参数很多,下面理解正确的是(ABCD)A.Windowed取值FALSE则渲染全屏B. BackBufferCount表示后备缓冲的数目C. SwapEffect表示交换缓冲类型D. BackBufferFormat表示后备缓冲的格式★考核知识点: D3DPRESENT_PARAMETERS7.以下属于Direct3D中提供的标准光源的是(ABC )A.点光源B.方向光源C.聚焦光源D.多点光源★考核知识点: 光源8.关于灵活顶点格式下列说法正确的是(ABD)A. D3DFVF_DIFFUSE表示顶点数据中包含的是漫反射颜色值;B. D3DFVF_SPECULAR表示顶点数据中包含的是镜面反射下的颜色值C. D3DFVF_XYZRHW表示顶点数据中包含的是未经过坐标变换的顶点坐标D. D3DFVF_XYZ顶点数据中包含未经坐标变换的顶点坐标考核知识点: 灵活顶点格式解析:C项应该是经过坐标变换后的顶点坐标9.关于顶点Alpha描述正确的是(AB)A.如果在程序中直接指定每个顶点的颜色,直接给出每个顶点颜色的Alpha值。
编程考试二级试卷加答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是Java语言的特性?A. 面向对象B. 跨平台C. 多线程D. 指针运算答案:D3. 在HTML中,用于定义最重要的标题的标签是:A. `<h1>`B. `<h6>`C. `<head>`D. `<body>`答案:A4. SQL中,用于查询语句的关键字是:A. SELECTB. INSERTC. UPDATED. DELETE答案:A5. 在Python中,以下哪个是正确的字符串格式化方法?A. `%s`B. `.format()`C. `%d`D. `%f`答案:B6. 在JavaScript中,用于定义函数的关键字是:A. functionB. varC. letD. const答案:A7. 在CSS中,用于选择所有`<p>`元素的类选择器是:A. pB. .pC. p.classD. .class答案:B8. 在PHP中,用于输出数据的函数是:A. echoB. printC. printfD. print_r答案:A9. 在XML中,用于定义文档类型声明的标签是:A. `<!DOCTYPE>`B. `<?xml version="1.0" encoding="UTF-8"?>`C. `<root>`D. `<element>`答案:A10. 在数据库设计中,用于确保数据完整性的约束是:A. 主键B. 外键C. 索引D. 触发器答案:B二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个整型变量的关键字是________。
答案:int2. Java语言的跨平台特性主要依赖于________。
《DirectX程序设计》20春期末考核
总分:100分时间:0秒 SHOW GO
答题中
一、单选题共10题,20分
1
2分
选项:C <-> 值: 方向光源
()为从无限远以特定的方向照射过来的光,光照强度随距离的增加而衰减,此光源不需要设置光源位置、衰减系数和光照作用范围。
A漫反射光
B聚焦光源
C方向光源
D点光源
2
2分
选项:A <-> 值: 最近点采样
采用()时,复制与这个浮点值地址最接近的整数地址的纹理元素的颜色
A最近点采样
B线性过滤
C各向异性过滤
Dmipmap过滤
3
2分
选项:B <-> 值: 4×4
在使用Direct3D编程时,我们使用()矩阵表示一个变换。
A3×3
B4×4
C2×2。
南开大学智慧树知到“计算机科学与技术”《DirectX程序设计》网课测试题答案(图片大小可自由调整)第1卷一.综合考核(共15题)1.Direct3D采用了两种方法进行雾化处理顶点雾化和像素雾化。
()A.正确B.错误2.接口函数d3d::ReleaseIDirect3DPixelShader9*(MultiTexPS),可以实现的功能是()。
3.()对像素操作,运行于渲染管线的光栅化处理阶段,辅助实现诸如纹理混合、光照模型计算或环境映射等效果。
A.像素着色器B.可编程着色器C.着色器D.顶点着色器4.观察体的大小依赖于窗口的大小。
()A.正确B.错误5.D3DCOLORVALUE结构体中包含r、g、b和a4个分量,表示物体表面对各种反射光的各种成分的反射比率。
r=g=0.0;b=a=1.0;r=g=0.0。
此时红光和绿光照射过来,分析正确的是()。
A.所有光线都被反射,材质看上去为白色B.只有红光被反射,即材质看上去为红色C.反射的光为红光和蓝光的混合色D.所有的光都不被反射,材质看上去为黑色6.在DirectX对窗口进行渲染之前,无需先对窗口进行渲染方面的配置。
()A.正确B.错误7.Direct3D中采用的纹理过滤方案中,()是采用了“首先取得与计算得到的纹理元素的浮点地址最接近的上、下、左、右4个纹理元素,对这4个纹理元素进行加权平均,得到最终显示的颜色值”思想的纹理过滤方案。
A.线性过滤(linear filtering)B.最近点采样(nearest point sampling)C.各向异性过滤(anisotropic filtering)D.mipmap过滤(mipmap filtering)8.cube.x文件内容解释:“xof”标识这是()A.X文件B.DirectX版本C.模板D.浮点数9.向量型的成员可以单独被访问,矩阵型不可以。
()A.正确B.错误10.一个Direct3D对象可以创建多个Direct3D设备对象。
[南开大学]21春学期《DirectX程序设计》在线作业试卷总分:100 得分:100一、单选题 (共 22 道试题,共 44 分)1.D3D9中粒子的表现图元是:()<A>项.点图元<B>项.三角形<C>项.公告板<D>项.方块面[-标准答案-]:A2.D3DCOLORVALUE结构体中包含r、g、b和a4个分量,表示物体表面对各种反射光的各种成分的反射比率。
r=g=0.0 b=a=1.0;r=g=0.0 。
此时红光和绿光照射过来,分析正确的是()<A>项.所有光线都被反射,材质看上去为白色<B>项.只有红光被反射,即材质看上去为红色<C>项.反射的光为红光和蓝光的混合色<D>项.所有的光都不被反射,材质看上去为黑色[-标准答案-]:D3.已经指定了定点数和面数,同时也分配了适当大小的内存给顶点缓存、索引缓存以及属性缓存等,只是没有填入相应的数据称为()<A>项.一级Mesh<B>项.空Mesh<C>项.初试Mesh<D>项.Mesh初始化[-标准答案-]:B4.()可以动态地有针对地将某些像素写入后台缓存<A>项.深度缓存<B>项.深度测试<C>项.Alpha测试<D>项.模板缓存[-标准答案-]:D5.替换顶点处理的部分叫做()<A>项.像素着色器<B>项.着色器<C>项.顶点着色器<D>项.可编程着色器[-标准答案-]:C6.在进行纹理映射时,我们需要设置纹理的过滤方式,使用下面的哪个方法(???)。
<A>项.SetRenderState<B>项.SetSamplerState<C>项.SetMaterial<D>项.SetLight[-标准答案-]:B7.()对像素操作,运行于渲染管线的光栅化处理阶段,辅助实现诸如纹理混合、光照模型计算或环境映射等效果<A>项.像素着色器<B>项.可编程着色器<C>项.着色器<D>项.顶点着色器[-标准答案-]:A8.纹理采样属性设置函数SetSamplerState()的参数有<A>项.1个<B>项.2个<C>项.3个<D>项.4个[-标准答案-]:C9.采用()时,复制与这个浮点值地址最接近的整数地址的纹理元素的颜色<A>项.最近点采样<B>项.线性过滤<C>项.各向异性过滤<D>项.mipmap过滤[-标准答案-]:A10.cub<E>项.x文件内容解释:“xof”标识这是()<A>项.X文件<B>项.DirectX版本<C>项.模板<D>项.浮点数[-标准答案-]:A11.对于所有纹理上的每一个纹理像素, Direct3D需要有一个统一的地址范围,是在()之间<A>项.0.0~1.0<B>项.0.0~2.0<C>项.1.0~2.0<D>项.0.0~3.0[-标准答案-]:A12.逆矩阵的特点是:()<A>项.和原矩阵相乘等于原矩阵<B>项.和原矩阵相乘等于逆矩阵<C>项.和原矩阵相乘等于单位矩阵<D>项.和原矩阵相乘等于全1矩阵[-标准答案-]:C13.()变换后的的几何体位于观察坐标系中。
24秋学期《DirectX程序设计》作业参考1.Direct3D中采用的纹理过滤方案中,()是采用了“首先取得与计算得到的纹理元素的浮点地址最接近的上、下、左、右4个纹理元素,对这4个纹理元素进行加权平均,得到最终显示的颜色值”思想的纹理过滤方案。
选项A:线性过滤(linear filtering)选项B:最近点采样(nearest point sampling)选项C:各向异性过滤(anisotropic filtering)选项D:mipmap过滤(mipmap filtering)参考答案:A2.在使用Direct3D编程时,我们使用()矩阵表示一个变换。
选项A:3×3选项B:4×4选项C:2×2选项D:1×4参考答案:B3.纹理采样属性设置函数SetSamplerState()的参数有选项A:1个选项B:2个选项C:3个选项D:4个参考答案:C4.替换顶点处理的部分叫做()选项A:像素着色器选项B:着色器选项C:顶点着色器选项D:可编程着色器参考答案:C5.()对像素操作,运行于渲染管线的光栅化处理阶段,辅助实现诸如纹理混合、光照模型计算或环境映射等效果选项A:像素着色器选项B:可编程着色器选项C:着色器选项D:顶点着色器参考答案:A6.在3DMAX等3D建模工具中创建好模型,模型转换为扩展名为.x的文件,称()选项A:.X文件选项B:3d文件选项C:X文件选项D:3dMax文件参考答案:C7.以下哪个释放顺序是正确的。
选项A:Direct3D对象、Direct3D设备对象选项B:Direct3D设备对象、Direct3D对象选项C:顺序任意选项D:无需释放参考答案:B8.Direct3D中使用的是()。
选项A:左手坐标系选项B:右手坐标系选项C:两个都可以选项D:两个都不是参考答案:A9.模板限制中,[…]表示()。
《DirectX游戏编程》考试样题二一、选择题1.我们通常通过两个向量〔A〕,来判断向量之间的夹角.A.点积B.相加C.叉积D.相减2.模拟类似玻璃的透明效果,我们采用的是〔D〕技术.A.光照B.模板C.纹理映射D.混合3.在进展纹理映射时,我们需要设置纹理的过滤方式,使用下面的哪个方法<B>. A.SetRenderStateB.SetSamplerStateC.SetMaterialD.SetLight4.下面哪项不属于绘制状态的填充状态值〔D〕.A.D3DFILL_WIREFRAMEB.D3DFILL_POINTC.D3DFILL_SOLID D.D3DFILL_LINE5.在Direct3D的光照模型中,光源发出的光由下面哪几种光线类型组成<ABD>.A.漫射光B.镜面光C.火焰光D.环境光6.在使用Direct3D编程时,我们使用〔B〕矩阵表示一个变换.A.3×3B.4×4C.2×2D.1×47.当需要对场景进展矩阵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、JPGB.DDS、PPT、DIBC.HDR、DOC、MAXD.PPM、PNG、PFM10.在进展混合运算的时候,我们需要设置源混合因子和目标混合因子,他们的默认值分别为〔C〕.A.D3DBLEND_ZERO,D3DBLEND_ONEB.D3DBLEND_SRCCOLOR,D3DBLEND_INVSRCCOLORC.D3DBLEND_ONE,D3DBLEND_ZEROD.D3DBLEND_SRCALPHA,D3DBLEND_INVSRCALPHA11.点精灵的行为主要是通过控制渲染状态来完成.device->SetRenderState<D3DRS_POINTSPRITEENABLE,true>表示:〔D〕A.表示点的大小将通过视图坐标系单位来指定.B.表示通过纹理坐标来指定texel〔假设顶点结构中有纹理坐标的话〕的方法来让纹理应用到点精灵上.C.表示点的大小将通过屏幕坐标系单位来指定.D.表示将当前纹理整个映射到点精灵上〔不根据纹理坐标〕.12.纹理采样属性设置函数SetSamplerState<>的参数有<C>A.1个B.2个C.3个D.4个13.D3D9中粒子的表现图元是:〔A〕A.点图元B.三角形C.公告板D.方块面14.为了检验3D设备的最大图元数和最大顶点索引数,一般通过D3DCAPS9结构中的:〔B〕A.MaxPrimitiveCount和MultiSampleTypeB.MaxPrimitiveCount和MaxVertexIndexC.MaxVertexIndex和MaxPrimitiveCountD.MultiSampleType和MaxPrimitiveCount14.关于逆矩阵的说法,哪个是不正确的<C〕A.只有正方形的矩阵〔方阵〕才能求逆,因此当我们说矩阵求逆,那么它就是方矩阵.B.n×n矩阵M的逆矩阵是一个n×n矩阵表示为M–1C.每个矩阵都有逆矩阵D.矩阵和它的逆矩阵相乘得到一个单位矩阵:MM–1=M–1M=I.注意当我们进展这样的操作时矩阵是可交换的15.向量的点乘的方法是以下哪个〔B〕A.D3DXVec3CrossB.D3DXVec3DotC.D3DXVec3PointD.D3DXVecMul16.逆矩阵的特点是:〔C〕A.和原矩阵相乘等于原矩阵B.和原矩阵相乘等于逆矩阵C.和原矩阵相乘等于单位矩阵D.和原矩阵相乘等于全1矩阵17.WindowsSDK方式的开发中,响应菜单或按钮我们需要关注的消息是:〔B〕A.WM_CREATEB.WM_MANDC.WM_MENUD.WM_BUTTON18.以如下出哪个不是ID3DXPMesh接口的相关方法〔D〕A.DWORDGetMaxFaces<VOID>;B.DWORDGetMaxVertices<VOID>; C.DWORDGetMinFaces<VOID>;D.DWORDGetNum<VOIDFaces>;19.在ID3DXBaseMesh中,得到指向顶点缓冲区的指针的方法正确的答案是〔A〕A.HRESULTID3DXMesh::GetVerterxBuffer<LPDIRECT3DVERTEXBUFFER9*ppVB>;B.VOIDID3DXMesh::DWORDGetFVF<VOID>;C.HRESULTID3DXMesh::OptimizeInplace<LPDIRECT3DVERTEXBUFFER9*ppVB>;D.H RESULTID3DXMesh::GetAttributeTable<LPDIRECT3DVERTEXBUFFER9*ppVB>;20.在Direct3D中,使用D3DMATERIAL9结构表示材质,代码Typedefstruct_D3DMATERIAL9{D3DCOLORV ALUEDiffuse,Ambient,Specular,Emissive;Floatpower;}D3DMA TERIAL9;中,Specular指的是什么意思〔D〕A.指定散射光的反射率B.指定环境光的反射率C.指定物体发出的光D.指定镜面高光的集中度21.D3D纹理贴图的时候,贴图左下角的u,v坐标为:〔A〕A.<0,1>B.<1,0>C.<0,0>D.<1,1>22.D3D中SetRenderState函数的用途非常大,那么如果打开雾效果需要调用语句:〔B〕A.<D3DRS_ZENABLE,TRUE>B.<D3DRS_FOGENABLE,TRUE>C.<D3DRS_LIGHT,TRUE>D.<D3DRS_RENDER,TRUE>23.D3D导入〞.X〞模型文件的时候调用的函数是:〔A〕A.D3DXLoadMeshFromXB.D3DLoadMeshFromXC.D3DXLoadMeshFromFileD.D3DLoadMeshFromFile24.D3D中代表移位的函数是:〔C〕A.D3DXMatrixScaling〔〕B.D3DXMatrixRotationX〔〕C.D3DXMatrixTranslation〔〕D.D3DXMatrixTranspose〔〕25.DirectX编程也可以说是一种编程,如果创建并释放接口对象A和B,流程是:〔C〕A.CreateA,CreateB,ReleaseA,ReleaseBB.CreateB,CreateA,ReleaseB,ReleaseAC.CreateA,C reateB,ReleaseB,ReleaseAD.CreateA,ReleaseA,CreateB,ReleaseB26.初始化Direct3D的第一步是要得到一个〔B〕接口.A.IDirect3DSurface9B.IDirect3D9C.IDirect3DDevice9D.二、填空题〔此题共20空,每空1分,共20分.〕1、DirectX DirectXAudio、DirectXInput、DirectXGraphics.2、在几何学中,向量用一个有向线段来表示,向量的两个重要属性是长度和方向.3、为了求平面的法向量,我们通常的方法是找到平面上相互不平行的两个向量,求他们的叉积.4、通过纹理映射技术,我们可以将2D图像数据映射到3D图元上,以增强场景的真实感.5、Direct3D支持三种类型的光源,分别是:点光源、方向光、聚光灯.6、无论硬件的配置是否高端,开发人员都可以完整的体验和测试DirectX所提供的全部功能,是因为DirectX在体系机构上使用了HAL和REF两层驱动的模式.7、Direct3D的观察坐标系中,默认状态下,顶点的排列顺序为逆时针的三角形单元是背面朝向的,这些三角形将在背面消隐的时候被剔除.8、Direct3D中有两种着色模式,分别是:平面着色、Gouraud着色〔平滑着色〕.9、在Direct3D中,我们将3D场景投影到2D的屏幕上,投影的平面是z=1.10、标记平面的朝向,与平面垂直的一个重要的量是平面的法向量.11、Direct3D中对物体进展的的三种根本变换类型是平移变换、旋转变换、缩放变换〔比例变换〕.四、判断题<F>1、假设两个向量的长度和方向一样,但起点位置不同,如此两向量是不相等的.〔〕<T>2、在Direct3D的程序设计过程中,如果用到了一些新的、特别的或高级的特性,最好要先检查一下我们使用的图形设备的性能.〔〕<F>3、在Direct3D中我们可以通过设置绘制状态来改变几何体的绘制方式,当指定了某种绘制状态绘制物体后,它会自动的恢复到默认状态.〔〕<T>4、在Direct3D中,我们可以自由的定义顶点的格式.〔〕<T>5、由于矩阵相乘不具有交换性,所以我们在对物体进展世界变换时一定要考虑变换的先后,以达到我们想要的变换效果.<T>6、必须在设备接口的BeginScene和EndScene构成的方法对之间调用绘制的方法.〔〕<F>7、在光照计算中,我们需要知道每个顶点的法线方向来确定顶点所接收到的光照,顶点的法线方向与其所在的外表是一样的.〔〕<T>8、访问缓存接口之前要对其进展锁定来获取指向缓存内容的指针,访问完毕之后,必须对其进展相应的解锁操作.〔〕<F>9、左手坐标系和右手坐标系的区别就是他们的三个坐标轴的方向都是相反的.〔〕<T>10、我们创建顶点缓存和索引缓存而非数组来存储数据,是因为顶点缓存和索引缓存可以被放置在显存中,能获得较快的绘制速度.<T>11雪特效的实现原理是绘制面片,然后给面片贴上雪花的纹理,接着控件雪花的密度和运动轨迹等就形成了雪特效.<><T>12.地形这些具备高度特征的效果都是通过调整地形来实现的.<><T>13.高度图是用来描述地表高度信息的平面图像,一般可以分为彩色高度图和灰度图,另外也可以用等高线等方式来存储.<><F>14.灰度图的图像看起来比拟黑,那么它所描述的地形高度是偏高的<><T>15.看似雾效的特殊效果如四散的浓烟、喷涌的气态物等并不是采用雾效来实现的,而是采用粒子系统来实现的.<><T>16.D3D中的D3DXMA TRIX表示4×4的矩阵.<><F>17.通过使用索引缓冲区,我们可以不再使用顶点缓冲区.〔〕<T>18、高度图常用来保存地形高度数据<><T>19、粒子系统通常由粒子管理器和假设干粒子组成.<T>20.点精灵的行为主要是通过控制渲染状态来完成.device->SetRenderState<D3DRS_POINTSCALEENABLE,true><T>21.接口ID3DXMesh提供了DrawSubset<DWORDAttribID>方法,渲染参数AttribID指的是子集中的各个三角形.〔〕<T>22.优化Mesh也就是可以重新组织其中的顶点和索引,以便更加有效地渲染Mesh.〔〕<T>23.建立属性表后,渲染一个子集就很容易了,仅仅查一下属性表找出自己的几何信息即可.〔〕<F>24.只可以使用D3DXCreateMeshFVF函数创建一个空的Mesh对象.〔〕<F>25.一种图形化描述高度图方法是使用灰度图,灰度图中黑色对应着比拟高的地方,白色对应着比拟低的地方.〔〕<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.我们通常将一X高度图当做是一个矩阵来处理,这样以便其中每项都与地形网格中的每一个顶点一一对应.〔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.D3DXCreateMesh和D3DXCreateMeshFVF两个函数都可以用来生成网格对象. 〔T〕60.模板缓冲区和深度缓冲区共享一样的外表,并同时被创建.〔F〕61.在定义灵活顶点格式〔FVF〕时,可以不设定顶点的位置坐标.〔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.JPGB.BMPC.DDSD.TGA<BCD>3.材质结构有如下那几个属性组成:<>A.VertexB.AmbientC.SpecularD.Emissive****<BC>4.平行光的特性包括:<>A.位置B.方向C.颜色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.D3DXMatrixTranslationB.D3DXMatrixScalingC.D3DXMatrixRotationAxisD.D3DXMatrixMultiply〔ABCD〕10.实现光照所要用的函数有:<>A.SetRenderState<>B.SetMaterial<>C.SetLight<>D.LightEnable<>〔ABC〕11.漫反射的特性包括:<>A.位置B.方向C.颜色D.观察者位置〔ABC〕12.D3D中的光照模型有:<>A.环境光B.漫反射C.镜面反射D.全反射***〔ABCD〕13.材质结构有如下那几个属性著称:<> A.DiffuseB.AmbientC.SpecularD.Emissive〔ABCD〕14.D3D中能够绘制的根本几何体有:<>A.点列和线列B.线带和三角形扇型C.三角形列D.三角形带〔ABCD〕15.设置雾效的时候可以设置的参数有:<>A.雾的初始X围B.雾的终止X围C.雾的衰减模式D.雾的颜色〔ABC〕16.D3D采用材质过滤技术有那些:<>A.最近点取样B.线性过滤C.mipmap过滤D.曲线过滤〔ABCD〕17.D3D中的常见的矩阵变化<>A.旋转B.缩放C.平移D.组合变换〔ABC〕18.D3D支持的灯光类型有:<>A.点光源B.平行光C.聚光灯D.环境光〔CD〕19.Windows程序设计如果用MFC的Appwizard开发,可选择的框架有:<> A.win32applicationB.win32consoleapplicationC.Appwizard<exe>D.appwizard<dll>〔AB〕20.为拦截按键被按下的消息,SDK方式的开发可以实现以下消息:<> A.WM_KEYDOWNB.WM_CHARC.WM_KEYD.WM_PRESS。
一、选择题(本题共10小题,每小题3分,共30分。
单选或者多选)1.为了求平面的法向量,我们通常的方法是找到平面上相互不平行的两个向量,求他们的(C )。
A.点积B.相加C.叉积D.相减2. 为了能够用Alpha分量来描述像素的透明度,必须将源混合因子和目标混合因子分别设置为(B)。
A.D3DBLEND_ZERO和D3DBLEND_ONEB.D3DBLEND_SRCALPHA和D3DBLEND_INVSRCALPHAC.D3DBLEND_SRCCOLOR和D3DBLEND_INVSRCCOLORD.D3DBLEND_SRCALPHA和D3DBLEND_DESTALPHA3. 在Direct3D中,我们可以自由定义顶点的格式,下面哪个不是灵活顶点格式的标记(D)。
A. D3DFVF_NORMALB. D3DFVF_XYZC. D3DFVF_TEX1D. D3DFVF_TEX4.以下哪些项是对表面像素深度缓存的格式描述的枚举常量(AD)。
A.D3DFMT_D32 B.D3DFMT_DXT1C.D3DFMT_R8G8B8 D.D3DFMT_D24S85. 在进行纹理映射的时候,为了调整纹理的大小去适应屏幕三角形的大小,我们通过设置纹理过滤器来设置纹理的过滤方式,通常需要设置的过滤器有(ABC)。
A.放大过滤器B.缩小过滤器C.多级渐进纹理过滤器D.线性过滤器6.Direct3D中的三种基本的变换类型不包括下面的哪项(B)。
A.比例变换B.翻转变换C.平移变换D.旋转变换7.当需要对场景进行矩阵M的投影变换,选择下面的( A )。
A.Device->SetTransform(D3DTS_PROJECTION, &M);B.Device->SetTransform(D3DTS_WORLD, &M);C.Device->SetTransform(D3DTS_TEXTURE0, &M);D.Device->SetTransform(D3DTS_VIEW, &M);8.通过(B)技术,我们可以将2D图像数据映射到3D图元上,以增强场景的真实感。
《DirectX程序设计》复习资料课程名称DirectX 程序设计名称《DirectX 游戏编程》出版社清华⼤学出版社作者周国庆等教材信息版次2010年1⽉第1版⼀、客观部分:(单项选择、多项选择、不定项选择、判断)(⼀)、选择部分1、1、()是图形中最基本的⼏何对象。
A.点B.线C.向量D.三⾓形★考核知识点: 点和向量2、 ()可以⽤来判断向量叉乘值的⽅向。
A.A .左⼿定则 B .右⼿定则B.C .左⼿坐标系 D .右⼿坐标系★考核知识点: 点和向量3、三维物体变为⼆维图形的变换称为()。
A.平⾏投影B.旋转变换C.投影变换D.缩放变换★考核知识点: 矩阵与坐标变换4、 ()是⽤于定义构成物体的三⾓形单元列表的坐标系。
A.A .世界坐标系 B .本地坐标系B.C .观察坐标系 D .屏幕坐标系★考核知识点: 坐标系5、5、()是HAL 设备的变体,只⽀持硬件顶点处理。
A.纯软件模式B.在不同设备上的混合顶点处理模式C.在同⼀设备上的混合顶点处理模式D.纯硬件模式★考核知识点:Direct3D底层结构概述6、6、()是应⽤程序第⼀个创建⽽最后⼀个释放的对象。
7、7、()是Win32编程的基础。
A.消息机制B.窗⼝过程C.消息机制或窗⼝过程D.消息机制和窗⼝过程★考核知识点: Win32+C+Direct3D的基础框架8、以下哪个释放顺序是正确的(B)。
A.Direct3D对象、Direct3D设备对象B.Direct3D设备对象、Direct3D对象C.顺序任意D.⽆需释放★考核知识点: Win32+C+Direct3D的基础框架9、Win32程序中利⽤()进⾏消息的捕获和处理.A.循环函数B.递归函数C.回调函数D.静态函数★考核知识点: Win32+C+Direct3D的基础框架10、 ()对象是⽤来指定字体属性的。
A.A.LPD3DXFONT B.LPDIRECT3D9B.C.LPDIRECT3DDEVICE9 D.RECT★考核知识点: Win32程序框架实现11、DXUT框架将与⽂本渲染相关的属性和接⼝都封装在()类中。
《DirectX游戏编程》考试样题二一、选择题1.我们通常通过两个向量( A ),来判断向量之间的夹角。
A.点积 B.相加 C.叉积 D.相减2. 模拟类似玻璃的透明效果,我们采用的是( D )技术。
A.光照 B.模板 C.纹理映射 D.混合3. 在进行纹理映射时,我们需要设置纹理的过滤方式,使用下面的哪个方法( B )。
A.SetRenderState B.SetSamplerStateC.SetMaterial D.SetLight4. 下面哪项不属于绘制状态的填充状态值( D)。
A.D3DFILL_WIREFRAME B.D3DFILL_POINTC.D3DFILL_SOLID D.D3DFILL_LINE5. 在Direct3D的光照模型中,光源发出的光由下面哪几种光线类型组成 ( ABD )。
A.漫射光 B.镜面光C.火焰光 D.环境光6. 在使用Direct3D编程时,我们使用( B )矩阵表示一个变换。
A.3×3 B.4×4 C.2×2 D.1×47. 当需要对场景进行矩阵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、DIBC.HDR、DOC、MAX D.PPM、PNG、PFM10.在进行混合运算的时候,我们需要设置源混合因子和目标混合因子,他们的默认值分别为( C )。
A.D3DBLEND_ZERO,D3DBLEND_ONEB.D3DBLEND_SRCCOLOR,D3DBLEND_INVSRCCOLORC.D3DBLEND_ONE ,D3DBLEND_ZEROD.D3DBLEND_SRCALPHA,D3DBLEND_INVSRCALPHA11.点精灵的行为主要是通过控制渲染状态来完成。
device->SetRenderState(D3DRS_POINTSPRITEENABLE, true)表示:(D)A.表示点的大小将通过视图坐标系单位来指定。
B.表示通过纹理坐标来指定texel(假如顶点结构中有纹理坐标的话)的方法来让纹理应用到点精灵上。
C.表示点的大小将通过屏幕坐标系单位来指定。
D.表示将当前纹理整个映射到点精灵上(不根据纹理坐标)。
12.纹理采样属性设置函数SetSamplerState()的参数有 ( C )A.1个 B.2个 C.3个 D.4个13.D3D9中粒子的表现图元是:(A)A.点图元 B.三角形 C.公告板 D.方块面14.为了检验3D设备的最大图元数和最大顶点索引数,一般通过D3DCAPS9结构中的:(B)A.MaxPrimitiveCount和MultiSampleTypeB.MaxPrimitiveCount和MaxVertexIndexC.MaxVertexIndex和MaxPrimitiveCountD.MultiSampleType和MaxPrimitiveCount14.关于逆矩阵的说法,哪个是不正确的 ( C)A.只有正方形的矩阵(方阵)才能求逆,因此当我们说矩阵求逆,那么它就是方矩阵。
B.n×n矩阵M的逆矩阵是一个n×n矩阵表示为M–1C.每个矩阵都有逆矩阵D.矩阵和它的逆矩阵相乘得到一个单位矩阵:M M–1 = M–1M = I。
注意当我们进行这样的操作时矩阵是可交换的15.向量的点乘的方法是以下哪个(B)A.D3DXVec3Cross B.D3DXVec3Dot C.D3DXVec3Point D.D3DXVecMul16.逆矩阵的特点是:(C)A.和原矩阵相乘等于原矩阵 B.和原矩阵相乘等于逆矩阵C.和原矩阵相乘等于单位矩阵 D.和原矩阵相乘等于全1矩阵17.Windows SDK方式的开发中,响应菜单或按钮我们需要关注的消息是:(B)A.WM_CREATE B.WM_COMMAND C.WM_MENU D.WM_BUTTON18.以下列出哪个不是ID3DXPMesh接口的相关方法(D)A.DWORD GetMaxFaces(VOID); B.DWORD GetMaxVertices(VOID);C.DWORD GetMinFaces(VOID); D.DWORD GetNum(VOID Faces);19.在ID3DXBaseMesh中,得到指向顶点缓冲区的指针的方法正确的是(A)A.HRESULT ID3DXMesh::GetVerterxBuffer(LPDIRECT3DVERTEXBUFFER9* ppVB); B.VOID I D3DXMesh::DWORD GetFVF(VOID);C.HRESULT ID3DXMesh::OptimizeInplace (LPDIRECT3DVERTEXBUFFER9* ppVB); D.HRESU LT ID3DXMesh::GetAttributeTable(LPDIRECT3DVERTEXBUFFER9* ppVB); 20.在Direct3D中,使用D3DMA TERIAL9结构表示材质,代码 Typedef struct_D3DMATERIAL9 {D3DCOLORV ALUE Diffuse,Ambient,Specular,Emissive; Float power; }D3DMA TERIAL9;中,Specular指的是什么意思(D)A.指定散射光的反射率 B.指定环境光的反射率C.指定物体发出的光 D.指定镜面高光的集中度21.D3D纹理贴图的时候,贴图左下角的u,v坐标为:(A)A.(0,1) B.(1,0) C.(0,0) D.(1,1)22.D3D中SetRenderState函数的用途非常大,那么如果打开雾效果需要调用语句:(B)A.(D3DRS_ZENABLE,TRUE) B.(D3DRS_FOGENABLE,TRUE)C.(D3DRS_LIGHT,TRUE) D.(D3DRS_RENDER,TRUE)23.D3D导入”.X”模型文件的时候调用的函数是: (A)A.D3DXLoadMeshFromX B.D3DLoadMeshFromXC.D3DXLoadMeshFromFile D.D3DLoadMeshFromFile24.D3D中代表移位的函数是:(C)A.D3DXMatrixScaling() B.D3DXMatrixRotationX()C.D3DXMatrixTranslation() D.D3DXMatrixTranspose()25.DirectX编程也可以说是一种COM编程,如果创建并释放接口对象A和B,流程是:(C)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 B26.初始化Direct3D的第一步是要得到一个(B)接口。
A.IDirect3DSurface9 B.IDirect3D9C.IDirect3DDevice9 D.COM二、填空题(本题共20空,每空1分,共20分。
)1、DirectX 9.0的三个组成部分 DirectX Audio、DirectX Input、DirectX Graphics。
2、在几何学中,向量用一个有向线段来表示,向量的两个重要属性是长度和方向。
3、为了求平面的法向量,我们通常的方法是找到平面上相互不平行的两个向量,求他们的叉积。
4、通过纹理映射技术,我们可以将2D图像数据映射到3D图元上,以增强场景的真实感。
5、Direct3D支持三种类型的光源,分别是:点光源、方向光、聚光灯。
6、无论硬件的配置是否高端,开发人员都可以完整的体验和测试DirectX所提供的全部功能,是因为DirectX 在体系机构上使用了HAL和 REF两层驱动的模式。
7、Direct3D的观察坐标系中,默认状态下,顶点的排列顺序为逆时针的三角形单元是背面朝向的,这些三角形将在背面消隐的时候被剔除。
8、Direct3D中有两种着色模式,分别是:平面着色、Gouraud着色(平滑着色)。
9、在Direct3D中,我们将3D场景投影到2D的屏幕上,投影的平面是 z=1 。
10、标记平面的朝向,与平面垂直的一个重要的量是平面的法向量。
11、Direct3D中对物体进行的的三种基本变换类型是平移变换、旋转变换、缩放变换(比例变换)。
四、判断题(F)1、若两个向量的长度和方向相同,但起点位置不同,则两向量是不相等的。
()(T)2、在Direct3D的程序设计过程中,如果用到了一些新的、特别的或高级的特性,最好要先检查一下我们使用的图形设备的性能。
()(F)3、在Direct3D中我们可以通过设置绘制状态来改变几何体的绘制方式,当指定了某种绘制状态绘制物体后,它会自动的恢复到默认状态。
()(T) 4、在Direct3D中,我们可以自由的定义顶点的格式。
()(T)5、由于矩阵相乘不具有交换性,所以我们在对物体进行世界变换时一定要考虑变换的先后,以达到我们想要的变换效果。
(T)6、必须在设备接口的BeginScene和EndScene构成的方法对之间调用绘制的方法。
()(F)7、在光照计算中,我们需要知道每个顶点的法线方向来确定顶点所接收到的光照,顶点的法线方向与其所在的表面是相同的。
()(T)8、访问缓存接口之前要对其进行锁定来获取指向缓存内容的指针,访问完毕之后,必须对其进行相应的解锁操作。
()(F)9、左手坐标系和右手坐标系的区别就是他们的三个坐标轴的方向都是相反的。
()(T)10、我们创建顶点缓存和索引缓存而非数组来存储数据,是因为顶点缓存和索引缓存可以被放置在显存中,能获得较快的绘制速度。