版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DirectX 程序设计课程期末复习资料第一章3D游戏开发的数学基础本章包含的全部知识点:点和向量直线与平面 矩阵与坐标变换 坐标系章节重点:矩阵和坐标变换第二章Windows编程基础 本章包含的全部知识点:基本概念介绍Win dows程序结构Win32程序开发实例第三章 DirectX 快速入门本章包含的全部知识点:DirectX 概述Direct3D 底层结构概述DirectX9.0 的配置和安装章节重点:DirectX9.0 的配置和安装第四章 DirectX 程序框架本章包含的全部知识点:Win32+C+Direct3D 的基础框架DXUT 匡架章节重点:Win32+C+Direct3
2、D 的基础框架 第五章 文本显示 本章包含的全部知识点:文本绘制流程Win32程序框架实现DXUT程序框架实现章节重点:Win32 程序框架实现第六章 基本图形的绘制 本章包含的全部知识点: 图元灵活顶点格式( FVF) 使用顶点缓存绘制图形 索引缓存颜色表示法渲染状态绘制准备D3DX几何物体实例设计与实现 章节重点:顶点缓存索引缓存 第七章 变 换 本章包含的全部知识点: 摄像机 顶点变换 光栅化实例 章节重点:顶点变换 第八章 3D 数学基础补充 本章包含的全部知识点: 常见坐标系 向量 矩阵线性变换章节重点:线性变换 第九章 光照和材质 本章包含的全部知识点: 真实感图形基本概念 Dir
3、ect3D 中的光照 Direct3D 中的材质 光照和材质例子 章节重点:Direct3D 中的光照Direct3D 中的材质 第十章 纹理映射 本章包含的全部知识点: 纹理贴图 纹理坐标 纹理寻址模式 纹理过滤纹理混合状态纹理实例解析 章节重点:纹理寻址模式纹理过滤 第十一章 深度测试和反走样 本章包含的全部知识点: 深度缓存与深度测试 图形反走样 深度测试实例章节重点: 深度缓存与深度测试第十二章 网格( 一) 本章包含的全部知识点:ID3DXMesh 子集和属性缓存 绘制 邻接信息 优化 属性表 创建一个 Mesh 例子 章节重点:子集和属性缓存 创建一个 Mesh第十三章 网格( 二
4、)本章包含的全部知识点:X文件格式解析读取 X 文件渐进网格 渐进网格例子章节重点:深度缓存与深度测试 第十四章 混合和模板 本章包含的全部知识点:混合因子混合计算Alpha 来源Alpha 混合实例 模板章节重点:Alpha 混合实例 第十五章 着色器入门 本章包含的全部知识点:着色器概述HLSL的变量HLSL的函数HLSL基本语法在 Direct3D 中使用 HLSL章节重点:Alpha 混合实例 第十六章 顶点着色器本章包含的全部知识点: 顶点着色器概述 顶点声明 使用顶点着色器 顶点着色器实例第十七章 像素着色器 本章包含的全部知识点: 像素着色器概述 使用像素着色器HLSL米样器对象
5、多重纹理例子程序、客观部分:(单项选择、多项选择、不定项选择、判断)一)、选择部分1. D3DPRESENT_PARAME参数很多,关于其中参数之一 windowed的理解正确的是( ABD )C. intA. 取值FALSE则渲染全屏B.取值TRUE则渲染窗口型 D.BOOL 类型 E.double 类型考核知识点 : D3DPRESENT_PARAMETERS2. 以下属于 Direct 3D 定义的图元类型的有( ABCDA. 点列表 B. 线段条带C. 三角形列表D. 三角形条带E .四边形列表考核知识点 : 图元AB3. 以下属于 Direct 3D 提供的着色模式的是(A. 平面着
6、色模式B. 高洛德法着色模式C.渐变着色模式D .单颜色着色模式考核知识点 : 着色模式ABC )4. 下面属于 Direct3D 提供的创建旋转矩阵的函数的是(A. D3DXMatrixRotarionXB. D3DXMatrixRotarionYC.D3DXMatrixRotarionZD. D3DXMatrixRotX E. D3DXMatrixRotY考核知识点 : 变换5. 以下属于 Direct3D 提供的简化纹理过滤的过程的是( ABCD )A. 最近点采样 B. 线性过滤 C. 各向异性过滤 D.mipmap 过滤 考核知识点 : 纹理过滤6. D3DPRESENT_PARAM
7、E参数很多,下面理解正确的是( ABCD )A.Windowed取值FALSE则渲染全屏B.BackBufferCount表示后备缓冲的数目C. SwapEffect表示交换缓冲类型 D.BackBufferFormat表示后备缓冲的格式考核知识点 : D3DPRESENT_PARAMETERS7. 以下属于 Direct3D 中提供的标准光源的是( ABC )A. 点光源 B. 方向光源 C. 聚焦光源 D. 多点光源 考核知识点 : 光源8. 关于灵活顶点格式下列说法正确的是(ABD )A. D3DFVF_DIFFUS表示顶点数据中包含的是漫反射颜色值;B. D3DFVF_SPECULAR
8、示顶点数据中包含的是镜面反射下的颜色值C. D3DFVF_XYZRH表示顶点数据中包含的是未经过坐标变换的顶点坐标D. D3DFVF_XY顶点数据中包含未经坐标变换的顶点坐标考核知识点 : 灵活顶点格式解析:C项应该是经过坐标变换后的顶点坐标9. 关于顶点 Alpha 描述正确的是( AB )A. 如果在程序中直接指定每个顶点的颜色,直接给出每个顶点颜色的 Alpha 值。B. 渲染对象中每个像素的 Alpha 值由该对象的 Alpha 值和着色模式决定。C. 高洛德着色模式,所有像素的 Alpha 值都等于该多边形的第一个顶点的Alpha 值。D. 平面着色模式,每个多边形上的像素的 Alp
9、ha 值由它的各个顶点的 Alpha 值进行线性插值得到。考核知识点 : 顶点 Alpha解析: C 项应该是 平面着色模式,所有像素的 Alpha 值都等于该多边形的第一 个顶点的Alpha值。D项应该是高洛德着色模式,每个多边形上的像素的Alpha值由它的各个顶点的 Alpha 值进行线性插值得到。(二)、判断部分1. Direct3D将给每个采样器对象连接一个唯一的纹理阶段 (stage),在应用程序 中找出与采样器对象相关联的阶段, 并设置相应的纹理和采样器状态给该阶 段。 ( 正确 )考核知识点 : 纹理2. 一个Direct3D对象只能创建一个 Direct3D设备对象。 (错误)
10、考核知识点:Direct3D设备对象考核知识点解释一个Direct3D对象可以创建多个 Direct3D设备对象。3. 由于Direct3D设备对象是由Direct3D对象创建的,因此应先释放 Direct3D设 备对象。(正确)考核知识点 : Direct3D 对象及设备对象4. D3DFVF_XYZ顶点数据中包含未经坐标变换的顶点坐标,不能与D3DFVF_XYZRHV同时使用。(正确)考核知识点 : 灵活顶点格式5. D3DFVF_XYZ顶点数据中包含未经坐标变换的顶点坐标,可以与D3DFVF_XYZRHV同时使用。(错误)考核知识点 : 灵活顶点格式考核知识点解释D3DFVF_XYZ顶点
11、数据中包含未经坐标变换的顶点坐标,不可以与D3DFVF_XYZRHV同时使用。6. D3DFVF_XYZRHW顶点数据中包含经过坐标变换的顶点坐标,不能与D3DFVF_XYZ口 D3DFVF_N0RMA同时使用。(正确)考核知识点:灵活顶点格式7. Direct3D 创建的场景和对象都是由简单的“图元”按照一定的方式排列组合 而成的, Direct3D 中的所有图元都是一维或二维对象,包括单个的点和直线 及复杂的多边形。(正确)考核知识点 : 图元8. 在索引缓存中定位顶点也就是在顶点缓存中定位顶点。(正确)考核知识点 : 顶点缓存索引缓存二、主观部分:(一) 、填空部分1) 像素着色器的输入
12、仅有颜色和纹理坐标两种语义。考核知识点 : 像素着色器2) 像素着色器的工作是在顶点着色器之后,后者的输出将为前者提供输入。 考核知识点 : 像素着色器3) D3DFVF_DIFFUS表示顶点数据中包含的是漫反射颜色值;考核知识点 : 灵活顶点格式4) D3DFVF_SPECULA表示顶点数据中包含的是镜面反射下的颜色值;考核知识点 : 灵活顶点格式5) D3DFVF_XYZRH表示顶点数据中包含的是经过坐标变换的顶点坐标 考核知识点 : 灵活顶点格式6) Direct3DCreate9函数创建一个 Direct3D对象并获得指向Direct3D对象接口的 指针,且参数必须设置为 D3D_SD
13、K_VERSIQN考核知识点:Direct3D对象7) DXUT( The DirectX Utility Library)是建立在 Direct3D9 和 Direct3D10 上的一个 程序框架,其目标是建立一个强大而容易使用的 Direct3D 游戏开发框架,它 简化了 Win32和Direct3D API的使用。考核知识点 : DXUT8) 创建DirectX设备对象的函数为 CreateDevica 考核知识点 : 设备对象9) Direct3D 图形程序通过调用 IDirect3DDevice9:SetRenderState(函数来设置渲 染状态。考核知识点 : 设置渲染状态10)
14、 g_pd3dDevice-SetRenderState(D3DRS_SHADEMODE,D3DSHADE_Fi这行代码完成的功能是( 设置着色模式为平面着色模式)。考核知识点 : 设置着色模式11) g_pd3dDevice-SetRenderState(D3DRS_SHADEMODE,D3DSHADE_GOUR,AUD) 这行代码完成的功能是( 设置着色模式为高洛德着色模式)。考核知识点 : 设置着色模式(二) 、名词解释1 、请你给出创建顶点声明, 并获得 IDirect3DVertexDeclaration9 接口指针的方法。 考核知识点 : 顶点声明考核知识点解释HRESULT ID
15、irect3DDevice9: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 *pL)i;ght7、光照程序一般步骤。考核知识点 : 光照考核知识点解释(1) 创建光源、 设置其位置及相关属性; SetLight 函数将光源设置到渲染管道 流水线中; LightEnable 函数激活光源;SetRe nderState打开渲染管道流水线的光照开关;(3) 创建材质,设置物体的材质属性, SetMaterial 设定材质;8、请给出点列表图元的含义,并说明其应用。考核知识点 : 图元考核知识点解释点列表是一个对每点独立进行渲染
19、的顶点集合。程序可以在 3D 场景中使用 它模拟星空视野,或作为多边形表面的点化线。9、请给出线段列表图元的含义,并说明其应用。考核知识点 : 图元 考核知识点解释 线段列表是一系列的独立线段,用于为 3D 场景加入冰雹或大雨等效果,线 段列表中顶点的数量必须是大于等于 2 的偶数。10、请给出线段条带图元的含义,并说明其应用。考核知识点 : 图元 考核知识点解释线段条带是一个由相互链接的线段组合成的造型, 程序可以用它产生不封闭 的多边形;11、请给出三角形列表图元的含义,并说明其应用。考核知识点 : 图元 考核知识点解释 三角形列表是一系列独立的三角形,它们之间可能靠的很近,也可能不是,
20、顶点总数必须能被 3 整除;使用三角形列表建立一个由离散面片组成的物体; 如建立力场墙的一种方法是指定一个由互相不相连的小三角形组成的大型 列表;然后将一个可以发散光线的材质和纹理应用到这个三角形列表上12、请给出三角形条带图元的含义,并说明其应用。考核知识点 : 图元 考核知识点解释 三角形条带是一连串相邻接的三角形。 3D 场景中大部分物体都是由三角条 带组成的。13、请给出三角形扇图元的含义,并说明其应用。考核知识点 : 图元 考核知识点解释 三角形扇和三角形条带类似,但其所有三角形共享一个顶点。 3D 场景中曲 面的描述。14、请给出 Direct3D 中设置渲染状态的函数原型,并解释
21、其参数含义。考核知识点 : 渲染状态考核知识点解释Direct3D图形程序通过调用IDirect3DDevice9:SetRenderState函数来设置渲染状态。枚举类型D3DRENDERSTATETY列举出所有可能的渲染状态;使用SetRe nderState(设置:HRESULT IDirect3DDevice9:SetRenderState(D3DRENDERSTATETYPE Sta更改的渲染状态DWORD Value ); /新的状态值15、请你解释平面着色模式的含义。考核知识点 : 着色模式考核知识点解释Direct3D 绘制流水线使用多边形第一个顶点的材质颜色作为整个多边形的颜
22、 色来渲染该多边形;如果多边形不共面,被平面着色方式渲染的三维物体在 多边形之间将具有可视的清晰边缘;平面着色是最快的着色方式。16、请你解释高洛德着模式的含义。考核知识点 : 着色模式考核知识点解释它使用顶点法线和光照参数为每个顶点计算颜色, 然后穿越多边形的表面进 行插值,插值以线性方式完成, 高洛德着色使物体的表面看上去弯曲而平滑。17、可编程管线渲染一个球体的步骤。考核知识点 : 着色模式考核知识点解释1)找到用于渲染该球体的 VertexShader 和 PixelShader ;2)将 参 数传 递给 VertexShader ,VertexShader 的 输出 再传 递给Pix
23、elShader ;3)绘制该球体;18、 请说明怎样对多级渐进纹理过滤器进行设置, 并具体解释 Filter 的取值。考核知识点 : 多级渐进纹理过滤考核知识点解释Device-SetSamplerState(0,D3DSAMP_MIPFILTER,Filter);D3DTEXF_N0N禁用多级渐进纹理过滤;D3DTEXF_P0INT就会只使用与图元大小最匹配的一级纹理; D3DTEXF_LINEARDirect3D 就将与图元大小最匹配的两级纹理以线性方式混 合。19、请你给出物体表面材质的定义方式,并解释每个参数的概念。 考核知识点 : 材质 考核知识点解释typedef strcut
24、D3DMATERIAL9D3DC0L0RVALUE Diffuse; / 慢射光的反射属性D3DC0L0RVALUE Ambient;/ 环境光的反射属性D3DC0L0RVALUE Specular;/ 镜面光的反射属性D3DC0L0RVALUE Emissive/;/ 自发光的反射属性 float Power;/ 镜面光的高光强度D3DMATERIAL9,*LPD3DMATERIAL9;(三) 、简答1、着色器代码编译后,获得一个IDirect3DVertexShader9接口的指针,它代表一 个顶点着色器,具体方法,及其调用过程。考核知识点 : 着色器考核知识点解释HRESULT IDir
25、ect3DDevice9:CreateVertexShader( const DW0RD* pFunction,IDirect3DVertexShader9*ppShader );其中,输入参数 pFunction 指向编译成功的着色器代码段,输出参数 ppShader 指向最终生成的顶点着色器。假设变量shader是一个包含已编译的着色器代码的ID3DXBuffer指针,如果要获 得一个 IDirect3DVertexShader9接口,可以这样写:IDirect3DVertexShader9* NewShader = 0; hr=Device-CreateVertexShader(DW0R
26、D*)shader-GetBufferPointer(),&NewShade r);2、如何测定像素着色器的支持。考核知识点 : 像素着色器考核知识点解释可用对SetDeviceCap啲调用来测定像素着色器的支持。Caps结构包括一个叫做PixelShaderVersion的DWORD成员,其值对主版本号和子版本号进行编码,解释这个值的含义的最佳方法是用D3DPS_VERSIO宏:D3DCAPS8 Caps;M_pD3D-GetDeviceCaps(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,&Caps);If(Caps.PixelShaderVersion = D3D
27、PS_VERSION(1,1)If(Failed(EasyCreateWindowed(m_hWnd,D3DDEVTYPE_HAL,D3DCREATE_HAR DWARE_VERTEXPROCESSING)Return FALSE;3、请给出 D3DPRESENT_PARAMETEI的定义,并解释 BackBufferFormat, SwapEffect, Windowed 三个参数的含义。考核知识点 : D3DPRESENT_PARAMETERS考核知识点解释typedef struct _D3DPRESENT_PARAMETERS_UINTUINT高度D3DFORMATUINTBackBu
28、fferWidth;BackBufferHeight;BackBufferFormat; BackBufferCount;/ 全屏幕式后备缓冲的宽度/ 全屏幕式后备缓冲的/ 后备缓冲的格式/ 后备缓冲的数目D3DMULTISAMPLE_TYPE MultiSampleType;/ 全屏抗锯齿类型DWORDMultiSampleQuality;/ 全屏抗锯齿质量等级D3DSWAPEFFECT SwapEffect; / 交换缓冲类型HWNDhDeviceWindow;BOOLWindowed;/ 全屏或窗口BOOLEnableAutoDepthStencil;/ 激活深度缓冲D3DFORMATA
29、utoDepthStencilFormat; / 深度缓冲格式DWORDFlags;UINTUINTFullScreen_RefreshRateInHz; / 显示器刷新率PresentationInterval; / 图像最大刷新速度 D3DPRESENT_PARAMETERS;? BackBufferFormat后备缓冲的格式,DX9只支持16位和32位的后备缓 冲格式,如D3DFMT_R5G6B5表示后备缓冲的格式为每个像素 16位,红 色5位、绿色6位、蓝色5位,也可设置为D3DFMT_UNKN0WN这时使 用桌面的格式。? SwapEffect交换缓冲支持的效果类型,它是 D3DSW
30、APEFFEC枚举类型, 此处设定为D3DSWAPEFFECT_DISCAR即后备缓存的内容被复制到屏幕 上后,后备缓存的内容失效,可以丢弃。? Windowed 如果为FALSE表示渲染全屏,若为 TRUE则渲染窗口。4、基于 win32 基本框架,绘制文本的函数原型及调用。考核知识点 : 绘制文本考核知识点解释在Render函数中通过 DrawText函数控制文本显示,该函数是LPD3DXFON类的 成员函数,其函数原型如下:INT DrawText ( LPD3DXSPRITEpSprite,LPctstr pString,INT Count,LPRECT pRect,DWORD For
31、mat,D3DCOLOR Co)lor;此处的调用为 :g_pFont-DrawText(NULL, strText,-1, &clientRect, DT_SINGLELINE|DT_NOCLIP|DT_CENTER|DT_VCENTER, 0xfff)ff;fff5、顶点缓存中的顶点可以包含顶点坐标、颜色、法线方向、纹理坐标等属性,具体包含哪些属性,可以使用灵活顶点格式(Flexible Vertex Form at, FVF)进行 描述;请解释下面部分FVF描述符:D3DFVF_DIFFUS, ED3DFVF_NORMA,LD3DFVF_XY,ZD3DFVF_XYZRH,WD3DFVF_
32、SPECULA.R考核知识点 : 灵活顶点格式考核知识点解释D3DFVF_DIFFUSffi点数据中包含漫反射颜色值;D3DFVF_N0RMA顶点数据中包含法线向量,不能和D3DFVF_XYZRHV同时使用;D3DFVF_XYZ顶点数据中包含未经坐标变换的顶点坐标,不能与 D3DFVF_XYZRHV同 时使用;D3DFVF_XYZRHW顶点数据中包含经过坐标变换的顶点坐标,不能与D3DFVF_XYZ口 D3DFVF_N0RMA同时使用;D3DFVF_PSIZ顶点信息指明绘制点的大小;D3DFVF_SPECULAR点数据中镜面反射效果下的颜色值;6、请给出创建顶点缓存的函数原型,并解释其参数含义
33、。考核知识点 : 顶点缓存考核知识点解释创建顶点缓存的函数IDirect3DDevice9:CreateVertexBuffer(声明如下:HRESULT IDirect3DDevice9:CreateVertexBuff(rUINT Length,/分配给缓存的字节大小;DW0RD Usag,e/指定关于怎样使用缓存的额外信息;DW0RD FVF, /存储在缓存中的灵活顶点格式;D3DP00L Pool, / 缓存放置在哪一个内存池中;IDirect3DVertexBuffer9 * ppVertexBuffer,/ 返回创建好的顶点缓存的指 针;HANDLE* pSharedHandle
34、);/ 没有使用;设置为 0;7、访问顶点缓存数据时需要对其访问区域加锁,请给出加锁函数原型并解释其 参数含义。考核知识点 : 顶点缓存访问考核知识点解释HRESULT IDirect3DVertexBuffer9:Lock(UINT OffsetToLock,/偏移量,以字节为单位,从缓存开始位置到锁定开始位置的距离UINT SizeToLock/,/ 锁定的字节数BYTE* ppbDate,/ / 返回的指向锁定内存开始位置的指针DWORD Flags );/ 标记描述如何锁定内存8、请给出创建索引缓存的函数原型,并解释其参数含义。考核知识点 : 索引缓存考核知识点解释 创建索引缓存的函数
35、如下:HRESULT IDirect3DDevice9:CreateIndexBuffer(UINT Length, / 分配给缓存的字节大小;DWORD Usag,e/ 指定关于怎样使用缓存的额外信息;D3DF0RMAT Format,/指定索引大小,使用 D3DFMT_INDEX1助16位索 引,D3DFMTNDEX32为32位索引,但并非所有设备都支持32 位索引D3DP00L Pool,IDirect3DIndexBuffer9* ppIndexBuffer, /返回创建好的索引缓存的指 针HANDLE* pSharedHandle );9、请给出使用带有索引缓存的模型绘制的函数原型,
36、并解释其参数含义。 考核知识点 : 索引缓存考核知识点解释使用函数 IDirect3DDevice9:DrawlndexedPrimitive绘制带索引模型: HRESULT IDirect3DDevice9:DrawIndexedPrimitive(D3DPRIMITIVETYPE Type要绘制的图元类型INT BaseVertexIndex, /为索引增加一个基数,用顶点数目度量UINT MinIndex, /允许被引用的最小索引值UINT NumVertices, /本次调用中将被引用的顶点总数UINT StartIndex, /索引缓存中的某个位置, 表示开始渲染的开始索引 点 八、
37、UINT PrimitiveCount );/绘制图元总数10、创建一个ID3DXMes对象,然后从X文件中读取集合信息数据填入到这个对象 中。请给出读取函数的定义,及相关参数的含义。考核知识点:ID3DXMesh对象考核知识点解释HRESULT D3DXLoadMeshFromX(LPCSTR pFilename,/X 文件名DWORD Options, / 创建标志LPDIRECT3DDEVICE9 pDevice, / 与创建 Mesh有关的设备LPD3DXBUFFER* ppAdjacency, / 返回包含 DWORDID3DXBuffer 类型/的指针,描述Mesh的邻接信息LPD
38、3DXBUFFER* ppMaterials, / 返回包含 D3DXMATERI结构的数组/ 的ID3DXBuffer指针,存储了 Mesh的材质数据LPD3DXBUFFER* ppEffectInstances,/ 返回一个包含D3DXEFFECTINSTA结CE/构的数组的ID3DXBuffer类型指针PDWORD pNumMaterials,/返回Mesh的材质数LPD3DXMESH * ppMesh /返回填充了 X文件几何信息的ID3DXMesh对象);(五八程序题1、下面是Alpha纹理实例程序片段,请将程序补充完整。考核知识点:Alpha纹理示例程序及答案HRESULT In
39、itializeD3D( HWND hWnd)/省略部分代码g_pd3dDevice-SetRe nderState(D3DRS_CULLMODE,D3DCULL_NONE); /启用Alpha混合g_pd3dDevice-SetRenderState( D3DRS_ALPHABLENDENABLErue):/设置源混合因子g_pd3dDevice-SetRenderState( D3DRS_SRCBLEND_,D3DBLEND_SRCALPHA);/设置目标混合因子g_pd3dDevice-SetRenderState( _D3DRS_DESTBLEND,D3DBLEND_INVS RCAL
40、PHA);g_pd3dDevice-SetTextureStageState(0,D3DTSS_COLOROP,D3DTOP_SELECTARG1);g_pd3dDevice-SetTextureStageState(0,D3DTSS_COLORARG1,D3DTA_TEXTURE);g_pd3dDevice-SetTextureStageState(0,D3DTSS_ALPHAOP,D3DTOP_MODULATE);g_pd3dDevice-SetTextureStageState(0,D3DTSS_ALPHAARG1,D3DTA_TEXTURE);g_pd3dDevice-SetTextu
41、reStageState(0,D3DTSS_ALPHAARG2,D3DTA_DIFFUSE);/设置纹理过滤方式g_pd3dDevice-SetSamplerState(0, D3DSAMP_MAGFILTER_ ,D3DTEXF_POINT);/省略部分代码2、下面是移动线框正方体的程序片段,完成设置观察矩阵及投影矩阵的片段, 请将程序补充完整。考核知识点:变换示例程序及答案/ Position and aim the camera.D3DXVECTOR3 position(0.0f, 0.0f, -5.0f);D3DXVECTOR3 target(0.0f, 0.0f, 0.0f);D3D
42、XVECTOR3 up(0.0f, 1.0f, 0.0f);D3DXMATRIX V;D3DXMatrixLookAtLH(&V, &position, &target, &up );Device-SetTra nsform(D3DTS_VIEW,&V );/ Set the projectio n matrix.D3DXMATRIX proj;D3DXMatrixPerspectiveFovLH(&proj,D3DX_PI * 0.5f,(float)Width / (float)Height,1.0f,1000.0f);Device-SetTransform( D3DTS PROJECTI
43、ON ,&proj);3、下面是模拟箱子挡住茶壶,进行深度测试的程序片段,请将程序补充完整。 考核知识点:深度测试示例程序及答案bool Setup()/此处省略部分代码/ 设置 Texture Filter States.Device-SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR);Device-SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR);Device-SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR);/激活深度测试、设置深度测试函数Device-SetRenderState( D3DRS ZENABLE,TRUE);Device-SetRenderState( _D3DRS ZFUNC,D3DCMP LESS);/此处省略部分代码LRESULT WINAPI MsgProc(HWND hWnd,UINT msg,WPARAM wPara m,L PARAM IParam)switch ( msg )case WM_KEYUP:switch (wParam)/此处省略部分代码case VK_ESCAPE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业机器人操作员系统优化配置手册
- 员工关系管理中的领导力应用
- 关于市场调查报告归档的通知函5篇
- 2026年重庆市能源投资集团有限公司人员招聘笔试参考试题及详细答案解析
- 2026年安徽电信人员招聘笔试备考试题及详细答案解析
- 2026年重庆三峡融资担保集团股份有限公司人员招聘考试参考试题及详细答案解析
- 2026年宁夏煤业人员招聘考试备考题库及详细答案解析
- 2026年天翼安全科技有限公司人员招聘参考题库及详细答案解析
- 2026年天津能源投资集团有限公司人员招聘考试题库及详细答案解析
- 通报年终绩效考核结果及申诉流程(6篇范文)
- 精神科转岗医师
- 科学使用回收地膜项目物资及服务采购方案投标文件(技术方案)
- 2025广东红海湾发电有限公司校园招聘笔试历年参考题库附带答案详解
- DBJT15-73-2010 建筑塔式起重机安装检验评定规程
- 汽车救援考试题及答案
- 《可能性》(第1课时)教学课件
- 混凝土材料使用管理制度
- HY/T 0388-2023海洋灾害基本术语
- 大学计算机-计算思维与信息素养 课件 第1章 引论
- 2024年湖南汽车工程职业学院单招职业技能测试题库标准卷
- 2024年新疆中考数学试卷(含答案解析)
评论
0/150
提交评论