《DirectX游戏编程》的考试样题二汇总.doc
《DirectX程序设计》复习资料

《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表示后备缓冲的数目。
编程考试二级试卷加答案

编程考试二级试卷加答案一、选择题(每题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程序设计》全部试题及50%试题答案

对
B
对
1
11
3
绘制
单选题
中
2
调用渲染状态设置函 D3DRS_MULTISAMPLEANTIA 数SetRenderState(), LIAS##TRUE##FALSE##D3D 参数1为() RS_SAMPLEANTIALIAS 如果要对Mesh进行优 化,需要知道Mesh的 三角形的邻接信息情 况,这些信息存储在 ()中 使用 OptimizeInplace()进 行网格优化后,Mesh 的几何信息将按照属 性进行排序,这样各 个子集的顶点/索引将 组成连续的块 除了进行几何信息的 排序外,还将创建一 个 属性表,该表是 () 使用 SetAttributeTable( )方法来直接设置属性 表 已经指定了定点数和 面数,同时也分配了 适当大小的内存给顶 点缓存、索引缓存以 及属性缓存等,只是 没有填入相应的数据 称为() 在3DMAX等3D建模工具 中创建好模型,模型 转换为扩展名为.x的 文件,称() 邻接矩阵##邻接缓存##深 度缓存##邻接数组 D
判断题
中
2
纹理阶段混合状态用 于指定当前纹理颜色 值和Alpha值的混合方 法 ()是Direct3D用来 广度缓存##深度缓存##深 存储绘制到屏幕上的 度测试##广度测试 每个像素点深度信息 的一块内存缓冲区 通常情况下,深度缓 存用于判断三维空间 中物体的遮挡情况 设置深度缓存是指设 置深度测试成功时对 深度缓存如何操作 图形学中称由于采样 频率不足而造成的失 真为走样,反走样通 过多重采样改善图形 锯齿效果 渲染后物体模型通常 是由三角形图元组成 的,我们称它为一个 Mesh结构 若要从缓存中只读不 写数据,就不需要锁 定缓存,用完后解锁 三角形属性ID存储在 Mesh的属性缓存中, 由于每个三角形都对 应一项属性缓存,所 以属性缓存中的项目 数等于Mesh中的三角 形的个数
《DirectX程序设计》期末试卷及答案

一、选择题(本题共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程序设计》20春期末考核答案

《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。
南开24秋学期《DirectX程序设计》作业参考二

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程序设计》网课测试题答案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设备对象。
DirectX考点归纳

Direct3D游戏编程入门教程第2版考点归纳试卷的考题类型有:单选题、多选题、名词解释/简答题、分析题等。
第01章 Direct3D/DirectX历史 1第05章基础7第06章动画初步16第07章纹理映射基础P109 27第08章使用多重纹理32第09章使用高级shader语言进行shader编程50第01章 Direct3D/DirectX历史DirectX8有哪些新特性:1 Point spite(点精灵)2 3D体纹理3 对direct3DX库的改进4 N-patches5 顶点shader和像素shaderPoint spite可以生成:火花、爆炸、雨、雪等效果。
3D体纹理可以完成:光照效果、点光、聚光效果、大气效果。
DirectX8实用库增强的DirectX7的辅助功能:1枚举设备配置2设置一个设备3统一处理全屏模式或窗口模式4处理调整大小的操作5向量和矩阵的计算操作6简化图像文件的加载和纹理的创建7绘制简单的形状、精灵和立方体贴图(cube map)。
DirectX8提供的新的功能:1、蒙皮网格(skinned mesh)2、多分辨率的细节级别(Level-Of-Detail, LOD)几何体3、.X文件的高阶表面数据(higher-order surface data)支持4、N-patches(可以在图形卡的帮助下提高模型的精度,即传入一个低精度多边形模型数据,完成镶嵌操作(加入更多的多边形))DirectX8.0支持的shader:顶点shader标准vs_1_1 和像素shader标准ps_1_1DirectX8.1支持的shader:像素shader标准ps_1_2、ps_1_3、ps_1_4DirectX9支持的shader:像素shader标准ps_2_0、ps_2_x、ps_2_a 、ps_3_0DirectX9引入了:HLSL(High-Level Shader Language)剪裁测试(scissor test)行抗锯齿(line anti-aliasing)球形映射texgen双面模板(two-sided stencil),允许给封闭几何体添加阴影体(shadow volume)多重渲染目标(multiple render target)的渲染能力(G-buffer)多重元素纹理(multi-element texture)位移贴图(displacement map)24位颜色精度支持根据监视器gamma支持来改变gamma值片断颜色(fragment color)->剪裁测试->alpha测试第02章 HAL和COM概述HAL (Hardware Abstraction Layer,硬件抽象层)HAL和COM技术使Direct3D能在不同硬件上发挥最快速度的同时,具有一个通用的接口和向后兼容的能力:1 具备一致的API才有生存力2 若硬件不支持Direct3D所要求的一些特性,应有一种相对低效的机制来保证程序能继续运行3 接口的变革应尽可能降低程序员学习新接口难度所有使用早期DirectX版本开发的游戏都保证能在将来的DirectX版本下运行游戏根据HAL所提供的特性来开启或关闭相应的特征,过程如下:1游戏检查HAL的能力;2游戏适当地开启或关闭某些特征;3若某些特征被关闭,便会以一种低效的方法来实现,可能是模拟某个特征。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《 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× 3B . 4× 4C. 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 .D3DXVec3CrossB .D3DXVec3DotC .D3DXVec3PointD .D3DXVecMul 16.逆矩阵的特点是:(C)A .和原矩阵相乘等于原矩阵B .和原矩阵相乘等于逆矩阵C.和原矩阵相乘等于单位矩阵D.和原矩阵相乘等于全 1 矩阵17. Windows SDK 方式的开发中,响应菜单或按钮我们需要关注的消息是:(B)A .WM_CREATEB .WM_COMMAND C.WM_MENU D.WM_BUTTON 18.以下列出哪个不是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 ID3DXMesh::DWORD GetFVF(VOID);C. HRESULT ID3DXMesh::OptimizeInplace (LPDIRECT3DVERTEXBUFFER9* ppVB);D . HRESULT ID3DXMesh::GetAttributeTable(LPDIRECT3DVERTEXBUFFER9* ppVB); 20.在Direct3D中,使用D3DMATERIAL9结构表示材质,代码Typedef struct_D3DMATERIAL9{D3DCOLORV ALUE Diffuse,Ambient,Specular,Emissive;Float power;}D3DMATERIAL9;中, 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,ReleaseB B. Create B,Create A,Release B,Release AC. Create A,Create B,Release B,Release A D. Create A,Release A,Create B,Release B 26.初始化Direct3D 的第一步是要得到一个( B )接口。
A . IDirect3DSurface9B . 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、在光照计算中,我们需要知道每个顶点的法线方向来确定顶点所接收到的光照,顶点的法线方向与其所在的表面是相同的。