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