《DirectX程序设计》复习资料(24页).doc
《《DirectX程序设计》复习资料(24页).doc》由会员分享,可在线阅读,更多相关《《DirectX程序设计》复习资料(24页).doc(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-DirectX程序设计复习资料-第 24 页DirectX程序设计课程期末复习资料第一章3D游戏开发的数学基础本章包含的全部知识点:l 点和向量l 直线与平面l 矩阵与坐标变换l 坐标系章节重点:矩阵和坐标变换第二章Windows编程基础本章包含的全部知识点:l 基本概念介绍l Windows程序结构l Win32程序开发实例第三章 DirectX快速入门本章包含的全部知识点:l DirectX概述l Direct3D 底层结构概述l DirectX9.0的配置和安装章节重点:DirectX9.0的配置和安装第四章 DirectX程序框架本章包含的全部知识点:l Win32+C+Direct
2、3D的基础框架l DXUT框架章节重点:Win32+C+Direct3D的基础框架第五章 文本显示本章包含的全部知识点:l 文本绘制流程l Win32程序框架实现l DXUT程序框架实现章节重点: Win32程序框架实现第六章 基本图形的绘制本章包含的全部知识点:l 图元l 灵活顶点格式(FVF)l 使用顶点缓存绘制图形l 索引缓存l 颜色表示法l 渲染状态l 绘制准备l D3DX几何物体l 实例设计与实现章节重点:顶点缓存索引缓存第七章 变 换本章包含的全部知识点:l 摄像机l 顶点变换l 光栅化l 实例章节重点:顶点变换第八章 3D数学基础补充本章包含的全部知识点:l 常见坐标系l 向量l
3、 矩阵l 线性变换章节重点:l 线性变换第九章 光照和材质本章包含的全部知识点:l 真实感图形基本概念l Direct3D中的光照l Direct3D中的材质l 光照和材质例子章节重点: Direct3D中的光照Direct3D中的材质第十章 纹理映射本章包含的全部知识点:l 纹理贴图l 纹理坐标l 纹理寻址模式l 纹理过滤l 纹理混合状态l 纹理实例解析章节重点:纹理寻址模式纹理过滤第十一章 深度测试和反走样本章包含的全部知识点:l 深度缓存与深度测试l 图形反走样l 深度测试实例章节重点:深度缓存与深度测试第十二章 网格(一)本章包含的全部知识点:l ID3DXMeshl 子集和属性缓存l
4、 绘制l 邻接信息l 优化l 属性表l 创建一个Meshl 例子章节重点:子集和属性缓存创建一个Mesh第十三章 网格(二)本章包含的全部知识点:l X文件格式解析l 读取X文件l 渐进网格l 渐进网格例子章节重点:深度缓存与深度测试第十四章 混合和模板本章包含的全部知识点:l 混合因子l 混合计算l Alpha来源l Alpha混合实例l 模板章节重点: Alpha混合实例第十五章 着色器入门本章包含的全部知识点:l 着色器概述l HLSL的变量l HLSL的函数l HLSL基本语法l 在Direct3D中使用HLSL章节重点: Alpha混合实例第十六章 顶点着色器本章包含的全部知识点:l
5、 顶点着色器概述l 顶点声明l 使用顶点着色器l 顶点着色器实例第十七章 像素着色器本章包含的全部知识点:l 像素着色器概述l 使用像素着色器l HLSL采样器对象l 多重纹理l 例子程序一、客观部分:(单项选择、多项选择、不定项选择、判断)(一)、选择部分1. D3DPRESENT_PARAMETERS参数很多,关于其中参数之一windowed的理解正确的是( ABD )A.取值FALSE则渲染全屏 B.取值TRUE则渲染窗口 C. int类型 D.BOOL类型 E.double类型考核知识点: D3DPRESENT_PARAMETERS2. 以下属于Direct 3D定义的图元类型的有(
6、ABCD )A.点列表 B.线段条带 C.三角形列表 D.三角形条带 E.四边形列表考核知识点: 图元3. 以下属于Direct 3D提供的着色模式的是( AB )A.平面着色模式 B.高洛德法着色模式 C.渐变着色模式 D.单颜色着色模式 考核知识点: 着色模式4. 下面属于Direct3D提供的创建旋转矩阵的函数的是( ABC )A. D3DXMatrixRotarionX B. D3DXMatrixRotarionY C. D3DXMatrixRotarionZ D. D3DXMatrixRotX E. D3DXMatrixRotY考核知识点: 变换5. 以下属于Direct3D提供的简
7、化纹理过滤的过程的是( 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、核知识点: 光源8. 关于灵活顶点格式下列说法正确的是( ABD )A. D3DFVF_DIFFUSE表示顶点数据中包含的是漫反射颜色值; B. D3DFVF_SPECULAR表示顶点数据中包含的是镜面反射下的颜色值 C. D3DFVF_XYZRHW表示顶点数据中包含的是未经过坐标变换的顶点坐标 D. D3DFVF_XYZ顶点数据中包含未经坐标变换的顶点坐标考核知识点: 灵活顶点格式解析:C项应该是经过坐标变换后的顶点坐标9. 关于顶点Alpha描述正确的是( AB )A. 如果在程序中直接指定每个顶点的颜色,直接给出每个顶点颜色的Alpha值。B. 渲染对象中每个像素的Alpha值由该对象的
9、Alpha值和着色模式决定。C. 高洛德着色模式,所有像素的Alpha值都等于该多边形的第一个顶点的Alpha值。D. 平面着色模式,每个多边形上的像素的Alpha值由它的各个顶点的Alpha值进行线性插值得到。考核知识点: 顶点Alpha解析:C项应该是平面着色模式,所有像素的Alpha值都等于该多边形的第一个顶点的Alpha值。D项应该是高洛德着色模式,每个多边形上的像素的Alpha值由它的各个顶点的Alpha值进行线性插值得到。(二)、判断部分1. Direct3D将给每个采样器对象连接一个唯一的纹理阶段(stage),在应用程序中找出与采样器对象相关联的阶段,并设置相应的纹理和采样器状
10、态给该阶段。 ( 正确 )考核知识点: 纹理2. 一个Direct3D对象只能创建一个Direct3D设备对象。 ( 错误 )考核知识点: Direct3D设备对象考核知识点解释一个Direct3D对象可以创建多个Direct3D设备对象。3. 由于Direct3D设备对象是由Direct3D对象创建的,因此应先释放Direct3D设备对象。(正确)考核知识点: Direct3D对象及设备对象4. D3DFVF_XYZ顶点数据中包含未经坐标变换的顶点坐标,不能与D3DFVF_XYZRHW同时使用。(正确)考核知识点: 灵活顶点格式5. D3DFVF_XYZ顶点数据中包含未经坐标变换的顶点坐标,
11、可以与D3DFVF_XYZRHW同时使用。(错误)考核知识点: 灵活顶点格式考核知识点解释D3DFVF_XYZ顶点数据中包含未经坐标变换的顶点坐标,不可以与D3DFVF_XYZRHW同时使用。6. D3DFVF_XYZRHW顶点数据中包含经过坐标变换的顶点坐标,不能与D3DFVF_XYZ和D3DFVF_NORMAL同时使用。(正确)考核知识点: 灵活顶点格式7. Direct3D创建的场景和对象都是由简单的“图元”按照一定的方式排列组合而成的,Direct3D中的所有图元都是一维或二维对象,包括单个的点和直线及复杂的多边形。(正确)考核知识点: 图元8. 在索引缓存中定位顶点也就是在顶点缓存中
12、定位顶点。(正确)考核知识点: 顶点缓存索引缓存二、主观部分:(一)、填空部分1) 像素着色器的输入仅有颜色和纹理坐标两种语义。考核知识点: 像素着色器2) 像素着色器的工作是在顶点着色器之后,后者的输出将为前者提供输入。 考核知识点: 像素着色器3) D3DFVF_DIFFUSE表示顶点数据中包含的是漫反射颜色值;考核知识点: 灵活顶点格式4) D3DFVF_SPECULAR表示顶点数据中包含的是镜面反射下的颜色值;考核知识点: 灵活顶点格式5) D3DFVF_XYZRHW表示顶点数据中包含的是经过坐标变换的顶点坐标考核知识点: 灵活顶点格式6) Direct3DCreate9函数创建一个D
13、irect3D对象并获得指向Direct3D对象接口的指针,且参数必须设置为D3D_SDK_VERSION。考核知识点: Direct3D对象7) DXUT(The DirectX Utility Library)是建立在Direct3D9和Direct3D10上的一个程序框架,其目标是建立一个强大而容易使用的Direct3D游戏开发框架,它简化了Win32和Direct3D API的使用。考核知识点: DXUT8) 创建DirectX设备对象的函数为CreateDevice。考核知识点: 设备对象9) Direct3D图形程序通过调用IDirect3DDevice9:SetRenderSta
14、te()函数来设置渲染状态。考核知识点: 设置渲染状态10) g_pd3dDevice-SetRenderState(D3DRS_SHADEMODE,D3DSHADE_FLAT),这行代码完成的功能是( 设置着色模式为平面着色模式)。考核知识点: 设置着色模式11) g_pd3dDevice-SetRenderState(D3DRS_SHADEMODE,D3DSHADE_GOURAUD),这行代码完成的功能是( 设置着色模式为高洛德着色模式)。考核知识点: 设置着色模式(二)、名词解释1、请你给出创建顶点声明,并获得IDirect3DVertexDeclaration9接口指针的方法。考核知识
15、点: 顶点声明考核知识点解释HRESULT IDirect3DDevice9:CreateVertexDeclaration(CONST D3DVERTEXELEMENT9* pVertexElements, /要创建的顶点声明 IDirect3DVertexDeclaration9* ppDecl/返回创建的IDirect3DVertexDeclaration9接/口指针 );2、请你给出环境光(ambient light)的概念,并说明如何设置渲染状态为整个场景添加环境光。考核知识点: 环境光考核知识点解释环境光(ambient light)由光源发出经环境多次散射而无法确定其方向的光,即
16、好像是来自四面八方的光;室内成分大,室外成分少,没有位置或方向上的特征,只有颜色亮度值,不会衰减;通过设置渲染状态为整个场景添加环境光:g_device-SetRenderState(D3DRS_AMBIENT,D3DCOLOR_X#);3、请你给出镜面反射光的概念,并说明如何设置渲染状态。考核知识点: 镜面反射光考核知识点解释镜面光来自特定方向并被反射到特定方向;在默认状态下,Direct3D不对物体进行镜面反射计算,需设置相关的渲染状态:g_device-SetRenderState(D3DRS_SPECULARENABLE,TRUE);如果需要进行漫反射或镜面反射运算,那么在顶点缓冲器中
17、必须包含顶点的法向量信息;4、请给出设置像素着色器的函数原型及调用示例代码。考核知识点: 像素着色器考核知识点解释HRESULT IDirect3DDevice9:SetPixelShader(IDirect3DPixelShader9* pShader );这个方法只接受一个参数,通过它传递一个我们要使用的指向像素着色器的指针。示例代码如下: Device-SetPixelShader(MultiTexPS); 5、销毁像素着色器接口函数原型考核知识点: 像素着色器考核知识点解释d3d:Release(MultiTexPS);6、在Direct3D的一个场景中,最多可设置几个光源,设置函数形
18、式。考核知识点: 光源考核知识点解释最多可设置8个光源HRESULT SetLight(DWORD Index,CONST D3DLight9 *pLight );7、光照程序一般步骤。考核知识点: 光照考核知识点解释(1) 创建光源、设置其位置及相关属性;SetLight函数将光源设置到渲染管道流水线中;LightEnable函数激活光源;(2) SetRenderState打开渲染管道流水线的光照开关;(3) 创建材质,设置物体的材质属性,SetMaterial设定材质;8、请给出点列表图元的含义,并说明其应用。考核知识点: 图元考核知识点解释点列表是一个对每点独立进行渲染的顶点集合。程序
19、可以在3D场景中使用它模拟星空视野,或作为多边形表面的点化线。9、请给出线段列表图元的含义,并说明其应用。考核知识点: 图元考核知识点解释线段列表是一系列的独立线段,用于为3D场景加入冰雹或大雨等效果,线段列表中顶点的数量必须是大于等于2的偶数。10、请给出线段条带图元的含义,并说明其应用。考核知识点: 图元考核知识点解释线段条带是一个由相互链接的线段组合成的造型,程序可以用它产生不封闭的多边形;11、请给出三角形列表图元的含义,并说明其应用。考核知识点: 图元考核知识点解释三角形列表是一系列独立的三角形,它们之间可能靠的很近,也可能不是,顶点总数必须能被3整除;使用三角形列表建立一个由离散面
20、片组成的物体;如建立力场墙的一种方法是指定一个由互相不相连的小三角形组成的大型列表;然后将一个可以发散光线的材质和纹理应用到这个三角形列表上12、请给出三角形条带图元的含义,并说明其应用。考核知识点: 图元考核知识点解释三角形条带是一连串相邻接的三角形。3D场景中大部分物体都是由三角条带组成的。13、请给出三角形扇图元的含义,并说明其应用。考核知识点: 图元考核知识点解释三角形扇和三角形条带类似,但其所有三角形共享一个顶点。3D场景中曲面的描述。14、请给出Direct3D中设置渲染状态的函数原型,并解释其参数含义。考核知识点: 渲染状态考核知识点解释Direct3D图形程序通过调用IDire
21、ct3DDevice9:SetRenderState()函数来设置渲染状态。枚举类型D3DRENDERSTATETYPE列举出所有可能的渲染状态;使用SetRenderState()设置:HRESULT IDirect3DDevice9:SetRenderState(D3DRENDERSTATETYPE State,/更改的渲染状态DWORD Value);/新的状态值15、请你解释平面着色模式的含义。考核知识点: 着色模式考核知识点解释Direct3D绘制流水线使用多边形第一个顶点的材质颜色作为整个多边形的颜色来渲染该多边形;如果多边形不共面,被平面着色方式渲染的三维物体在多边形之间将具有可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DirectX程序设计 DirectX 程序设计 复习资料 24
限制150内