《2022年《directx程序设计》复习资料史广顺说课材料 .pdf》由会员分享,可在线阅读,更多相关《2022年《directx程序设计》复习资料史广顺说课材料 .pdf(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 Di r ect X 程 序 设计 复 习 资 料 - 史 广 顺名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 23 页 - - - - - - - - - 学习 好资料精品资料课程名称DirectX 程序设计教材信息名称DirectX 游戏编程出版社清华大学出版社作者周国庆等版次2010年 1月第 1版一、客观部分:(单项选择、多项选择、不定项选择、判断)(一)、选择部分1、 1、()是图形中最基本的几何对象。A. 点B. 线C. 向量D. 三角形 考核知识点 :
2、点和向量2、 () 可以用来判断向量叉乘值的方向。A. A左手定则 B右手定则B. C左手坐标系 D右手坐标系 考核知识点 : 点和向量3、 三维物体变为二维图形的变换称为()。A. 平行投影B. 旋转变换C. 投影变换D. 缩放变换 考核知识点 : 矩阵与坐标变换4、 () 是用于定义构成物体的三角形单元列表的坐标系。A. A世界坐标系B本地坐标系B. C观察坐标系D 屏幕坐标系 考核知识点 : 坐标系5、 5、()是 HAL 设备的变体,只支持硬件顶点处理。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - -
3、 - - - - - 第 2 页,共 23 页 - - - - - - - - - 学习 好资料精品资料A. 纯软件模式B. 在不同设备上的混合顶点处理模式C. 在同一设备上的混合顶点处理模式D. 纯硬件模式 考核知识点 : Direct3D 底层结构概述6、 6、() 是应用程序第一个创建而最后一个释放的对象。A. ADirect3D 设备对象 BCOM 组件对象B. CDirect3D 对象D 类工厂对象 考核知识点 : Direct3D底层结构概述7、 7、()是 Win32 编程的基础。A. 消息机制B. 窗口过程C. 消息机制或窗口过程D. 消息机制和窗口过程 考核知识点 : Win
4、32+C+Direct3D的基础框架8、 以下哪个释放顺序是正确的(B) 。ADirect3D 对象、 Direct3D 设备对象BDirect3D 设备对象、 Direct3D 对象C顺序任意D无需释放 考核知识点 : Win32+C+Direct3D的基础框架9、 Win32 程序中利用 ()进行消息的捕获和处理 . A. 循环函数B. 递归函数C. 回调函数D. 静态函数 考核知识点 : Win32+C+Direct3D的基础框架10、 () 对象是用来指定字体属性的。A. ALPD3DXFONT BLPDIRECT3D9名师资料总结 - - -精品资料欢迎下载 - - - - - -
5、- - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 23 页 - - - - - - - - - 学习 好资料精品资料B. CLPDIRECT3DDEVICE9 DRECT 考核知识点 : Win32 程序框架实现11、DXUT 框架将与文本渲染相关的属性和接口都封装在()类中。A.ID3DXFont B.ID3DXSprite C.DIRECT3DDEVICE9 D.CDXUTTextHelper 考核知识点 : DXUT 程序框架实现12、3D 世界中最基本的图形是 ()。A.点B.线C.向量D.三角形 考核知识点 : 图元13、 ()
6、是一个由相互连接的线段组合成的造型,程序可用它产生不封闭的多边形。A.点列表B.线段列表C.线段条带D.三角形列表 考核知识点 : 图元14、Direct3D 中使用的是 ()。A.左手坐标系B.右手坐标系C.两个都可以D.两个都不是 考核知识点 : 坐标系15、灵活顶点格式是描述顶点的()属性。A.顶点坐标名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 23 页 - - - - - - - - - 学习 好资料精品资料B.顶点数据相关属性C.法线方向D.纹理坐标 考核知
7、识点 : 灵活顶点格式( FVF )16、 ()缓存方式通常被放置在显存中,其中的数据能被有效地处理。A.静态缓存B.动态缓存C.两种都可以D.两种都不可以 考核知识点 : 使用顶点缓存绘制图形17、 ()是最快的着色方式。A.平面着色B.高洛德着色C.两种方式都很快D.两种方式都很慢 考核知识点 : 渲染状态18、 ()是将物体顶点坐标从模型自己的坐标系空间转换到世界坐标系空间。A.局部变换B.空间变换C.投影变换D.世界变换 考核知识点 : 顶点变换19、 ()变换后的的几何体位于观察坐标系中。A.局部变换B.取景变换C.世界变换D.空间变换 考核知识点 : 顶点变换名师资料总结 - -
8、-精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 23 页 - - - - - - - - - 学习 好资料精品资料20、 ()是由光源发出经多次散射而无法确定其方向的光。A.漫反射光B.环境反射光C.镜面发射光D.自发光 考核知识点 :Direct3D中的光照21、 ()光垂直于物体时比倾斜时更明亮。A.漫反射光B.环境反射光C.镜面发射光D.自发光 考核知识点 :Direct3D中的光照22、 ()光源的发光区域是一个圆锥体。A.点光源B.方向光源C.聚焦光源D.混合光源 考核知识点 :Di
9、rect3D中的光照23、对于所有纹理上的每一个纹理像素,Direct3D 需要有一个统一的地址范围,是在()之间 A.0.01.0 B.0.02.0 C.1.02.0 D.0.03.0 考核知识点 : 纹理坐标24、采用( A)时,复制与这个浮点值地址最接近的整数地址的纹理元素的颜色A.最近点采样B.线性过滤名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 23 页 - - - - - - - - - 学习 好资料精品资料C.各向异性过滤D.mipmap过滤 考核知识点
10、: 纹理过滤25、()是 Direct3D 用来存储绘制到屏幕上的每个像素点深度信息的一块内存缓冲区A.广度缓存B.深度缓存C.深度测试D.广度测试 考核知识点 : 深度缓存与深度测试26、如要绘制子集 0 中的所有三角形,代码如何() A.Mesh-DrawSubset() B.Mesh-DrawSubset(1) C.Mesh-DrawSubset(0) D.Mesh-DrawSubset 考核知识点 : 绘制27、如果要对 Mesh进行优化,需要知道Mesh的三角形的邻接信息情况,这些信息存储在()中A.邻接矩阵B.邻接缓存C.深度缓存D.邻接数组 考核知识点 : 邻接信息28、除了进行
11、几何信息的排序外,还将创建一个属性表,该表是()A.数组B.缓存C.序列D.线性表 考核知识点 : 属性表名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 23 页 - - - - - - - - - 学习 好资料精品资料29、已经指定了定点数和面数,同时也分配了适当大小的内存给顶点缓存、索引缓存以及属性缓存等,只是没有填入相应的数据称为()A.一级 Mesh B.空 Mesh C.初试 Mesh D.Mesh初始化 考核知识点 : 创建一个 Mesh 30、在 3DMAX
12、 等 3D 建模工具中创建好模型,模型转换为扩展名为.x 的文件,称()A.X 文件B.3d文件C.X 文件D.3dMax 文件 考核知识点 :X 文件格式解析31、cube.x文件内容解释:“xof”标识这是()A.X 文件B.DirectX 版本C.模板D.浮点数 考核知识点 :X 文件格式解析32、模板限制中, 表示()A.开放的B.闭合的C.受限的D.半开放的 考核知识点 :X 文件格式解析33、()可以动态地有针对地将某些像素写入后台缓存A.深度缓存B.深度测试名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整
13、理 - - - - - - - 第 8 页,共 23 页 - - - - - - - - - 学习 好资料精品资料C.Alpha 测试D.模板缓存 考核知识点 : 模板34、利用模板缓存来阻止对后台缓存村长哦功能某些特定区域进行绘制,判定是否将某个像素写入后台缓存的决策过程称为()A.模板测试B.深度缓存C.深度测试D.Alpha 测试 考核知识点 : 模板35、替换顶点处理的部分叫做()A.像素着色器B.着色器C.顶点着色器D.可编程着色器 考核知识点 : 着色器入门36、()的功能是对进入管线的每一个像素点进行着色处理A.像素着色器B.着色器C.顶点着色器D.可编程着色器 考核知识点 :
14、着色器概述37、DirectX9 中发布了高级着色器语言,是()A.GLSL B.HLSL C.Cg D.C+ 考核知识点 : 着色器概述名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 23 页 - - - - - - - - - 学习 好资料精品资料38、()是一个在图形卡的GPU 上执行的程序,可对顶点进行操作;包括顶点坐标转换和光照处理A.像素着色器B.可编程着色器C.着色器D.顶点着色器 考核知识点 : 顶点着色器概述39、()对像素操作,运行于渲染管线的光栅化处
15、理阶段,辅助实现诸如纹理混合、光照模型计算或环境映射等效果A.像素着色器B.可编程着色器C.着色器D.顶点着色器 考核知识点 : 像素着色器概述40、DirectX 主要由 ()和()所构成。A.硬件抽象层B.软件抽象层C.硬件模拟层D.软件模拟层 考核知识点 :DirectX概述41、HAL 的顶点处理模式包括 ()。A.软件顶点处理B.硬件顶点处理C.在不同设备上的混合顶点处理D.在同一设备上的混合顶点处理 考核知识点 :Direct3D底层结构概述42、可以存储 RGB 数据的结构包括 ()。A.DWORD B.D3DCOLOR 名师资料总结 - - -精品资料欢迎下载 - - - -
16、- - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 23 页 - - - - - - - - - 学习 好资料精品资料C.D3DCOLORVALUE D.D3DXCOLOR 考核知识点 : 颜色表示法43、Direct3D 支持哪些多边形填充模式。A.点模式B.线框模式C.实体模式D.混合模式 考核知识点 : 渲染状态44、哪些变换分别用于设定物体在世界坐标系中的位置、方向以及模型大小。A.平移变换B.投影变换C.旋转变换D.缩放变换 考核知识点 : 顶点变换45、投影变换包括哪几种投影方式。()A.平面投影B.透视投影C.正射投
17、影D.缩放投影 考核知识点 : 顶点变换46、Direct3D 中哪些光是分别独立地用于系统的光照计算的。()漫反射光环境反射光镜面发射光自发光 考核知识点 :Direct3D中的光照47、常见的纹理寻址模式有()名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 23 页 - - - - - - - - - 学习 好资料精品资料A.重叠纹理寻址模式B.镜像纹理寻址模式C.钳位纹理寻址模式D.边界颜色纹理寻址模式 考核知识点 : 纹理寻址模式48、Direct3D 提供了哪
18、些()方法来简化纹理过滤的过程A.最近点采样B.线性过滤C.各向异性过滤D.mipmap过滤 考核知识点 : 纹理过滤49、模板定义包含哪些项()A.模板名字B.GUID C.数据项D.用于控制模板的限制程度 考核知识点 :X 文件格式解析50、渲染管线首先要设定哪些数据信息()A.顶点B.图元C.纹理D.材质 考核知识点 : 着色器入门(二)、判断部分1、 直线与平面的夹角小于等于90。考核知识点 : 直线与平面2、 观察体的大小依赖于窗口的大小。考核知识点 : 矩阵与坐标变换名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名
19、师精心整理 - - - - - - - 第 12 页,共 23 页 - - - - - - - - - 学习 好资料精品资料3、 裁剪操作时,两个平面必须在投影参考点的不同侧。考核知识点 : 矩阵与坐标变换4、 DirectX 是 Windows 的一种多媒体 API,但是不能保证设备无关性。考核知识点 :DirectX概述5、 Direct3DHAL 仅实现与设备相关的代码并且不做任何模拟。考核知识点 :Direct3D底层结构概述6、 Direct3DAPI 对象与 GDI 并排存在,且各自有操作硬件的硬件抽象层。考核知识点 :Direct3D底层结构概述7、 Direct3D 开发和部署
20、的基本环境是DXUT 的编程环境。考核知识点 :Win32+C+Direct3D 的基础框架8、 一个 Direct3D 对象可以创建多个Direct3D 设备对象。考核知识点 :Win32+C+Direct3D 的基础框架9、 在 DirectX 对窗口进行渲染之前,无需先对窗口进行渲染方面的配置。10、考核知识点 :Win32+C+Direct3D 的基础框架11、DXUT 框架只支持 Direct3D 设备和窗口的一一对应。考核知识点 :DXUT框架12、绘制文本无需在渲染循环函数中执行。考核知识点 : 文本绘制流程13、创建字体对象时应获得当前渲染区域的信息。考核知识点 :Win32
21、程序框架实现14、创建的字体对象不是占用内存的资源对象,因此无需释放。考核知识点 :Win32 程序框架实现15、图元是 Direct3D 中定义的基本图形表示,是组成一个单一实体的一组点和线的集合。考核知识点 : 图元16、三角形条带的顶点顺序必须是按照顺时针画的。考核知识点 : 图元名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 23 页 - - - - - - - - - 学习 好资料精品资料17、使用索引缓存时,必须将要绘制的模型的索引缓存与设备相关联且每次只能
22、使用一个索引缓存。考核知识点 : 索引缓存18、裁剪操作是在拍摄过程中的第四步按动快门拍摄时进行的。考核知识点 : 摄像机19、光栅化过程是通过硬件和软件混合图形处理来完成的。考核知识点 : 光栅化20、建模是指用一定的数学和物理方法建立所需3D 场景的几何描述。考核知识点 : 真实感图形基本概念21、在场景中,设置光源后即可,无需再对光源进行激活。考核知识点 :Direct3D中的光照22、物体表面的颜色不仅与照射光源的属性有关,还与物体的材质属性相关。考核知识点 :Direct3D中的材质23、对于图元在二维屏幕上图像的每个像素来说,都必须从纹理中获得一个颜色值,这个过程称为纹理过滤考核知
23、识点 : 纹理过滤24、当三维物体表面与投影平面不平行时,它在屏幕上的投影会扭曲,这种现象称为 mipmap过滤考核知识点 : 纹理过滤25、纹理阶段混合状态用于指定当前纹理颜色值和Alpha 值的混合方法考核知识点 : 纹理混合状态26、通常情况下,深度缓存对应与屏幕大小相同的一块二维区域考核知识点 : 深度缓存与深度测试27、设置深度缓存是指设置深度测试成功时对深度缓存如何操作考核知识点 : 深度缓存与深度测试28、图形学中称由于采样频率不足而造成的失真为走样,反走样通过多重采样改善图形锯齿效果考核知识点 : 图形反走样名师资料总结 - - -精品资料欢迎下载 - - - - - - -
24、- - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 23 页 - - - - - - - - - 学习 好资料精品资料29、渲染后的物体看起来像是由许许多多的三角形、四边形或五边形组成的,就像网一样,我们称为网状结构考核知识点 :ID3DXMesh 30、若要从缓存中读取数据,需要锁定缓存,用完后解锁考核知识点 :ID3DXMesh 31、三角形属性 ID 存储在 Mesh的属性缓存中,由于每个三角形都对应一项属性缓存,所以属性缓存中的项目数等于Mesh中的三角形的个数考核知识点 : 子集和属性缓存32、使用 OptimizeInplace(
25、)进行网格优化后, Mesh的几何信息将按照属性进行排序,这样各个子集的顶点/索引将组成连续的块考核知识点 : 属性表33、使用 SetAttributeTable()方法来直接设置属性表考核知识点 : 属性表34、X 文件是由模版驱动的,模版定义了如何存储一个数据对象考核知识点 :X 文件格式解析35、模板限制指在存储数据对象时,是否可以增加其他数据类型的数据,在模板定义中结束部分的标识考核知识点 :X 文件格式解析36、有材质和纹理的 X 文件中,还需定义材质模板、颜色模板、纹理文件名模板、纹理坐标模板等考核知识点 :X 文件格式解析37、这种随着人们视线的远近而对模型绘制的多边形数目进行
26、动态调整的技术被称为层次网格考核知识点 : 渐进网格38、混合定义是将两个或两个以上的图像叠合在一起构成一幅新图像的方法 考核知识点 : 混合因子名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 23 页 - - - - - - - - - 学习 好资料精品资料39、是用源像素颜色与目标像素颜色通过一种规则进行计算,计算的结果为该像素的最终颜色,这个过程就是混合 考核知识点 : 混合因子40、Alpha 分量主要是用来指定像素的透明等级考核知识点 : 混合计算41、Alp
27、ha 混合是渲染状态的一种,不启用Alpha 混合也能进行相关计算考核知识点 : 混合计算42、如果没有使用材质和问题,当前绘制像素的Alpha 分量来自每个顶点颜色设置的 Alpha 值考核知识点 :Alpha 来源43、平面着色模式,所有像素的Alpha 值都大于等于该多边形的第一个顶点的 Alpha 值考核知识点 :Alpha 来源44、像素的 Alpha 值就是纹理 Alpha 混合之后的值考核知识点 :Alpha 来源45、Alpha 测试并不把当前像素的颜色与颜色缓冲中像素的颜色混合,像素要么完全不透明,要么完全透明考核知识点 :Alpha 测试46、模板测试成功或者失败,模板中的
28、值都会有相应的更新操作47、考核知识点 : 模板48、可编程管线允许用户自定义一段可以在GPU 上执行的程序考核知识点 : 着色器入门49、顶点和像素由 GPU 来执行,是固定功能管线的一部分考核知识点 : 着色器概述50、顶点着色器与像素着色器不允许成对出现考核知识点 : 着色器概述51、一个采样对象包含一个纹理对象以及对该纹理进行采样所需要的一些状态考核知识点 :HLSL 的变量名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 23 页 - - - - - - - -
29、 - 学习 好资料精品资料52、向量型的成员可以单独被访问,矩阵型不可以 考核知识点 :HLSL 的变量( 三) 填空题1、用于定义构成物体的三角形单元列表的坐标系叫做本地坐标系(局部坐标系或模型坐标系)。2、Direct3D 的着色模式中,平面着色模式在绘制流水线使用多边形第一个顶点的材质颜色作为整个多边形的颜色来渲染该多边形;如果多边形不共面,被平面着色方式渲染的三维物体在多边形之间将具有可视的清晰边缘;3、世界变换是将物体顶点坐标从模型自己的坐标系空间转换到世界坐标系空间;4、Direct3D 的着色模式中,高洛德着色模式使用顶点法线和光照参数为每个顶点计算颜色,然后穿越多边形的表面进行
30、插值,插值以线性方式完成;它会使物体的表面看上去弯曲而平滑;5、局部坐标系 (local space)或 建模坐标系 (modeling space) ,是用于定义构成物体的三角形单元列表的坐标系。6、创建的字体对象也是一种占用内存的资源对象,也要遵循“最先申请,最后释放”的准则适时释放它。7、DirectX 中的 3 维坐标系遵循的是左 手法则。8、两种基本的投影方式为平行投影和透视投影。9、DirectX 主要由硬件抽象层( HAL )和硬件模拟层( HEL )所构成。10、Direct3D 是通过( COM )组件对象模型对象和接口实现的,C+ 应用程序可以直接访问这些接口和对象。11、
31、通常,图元是多边形( polygon ),最简单的多边形是三角形。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 23 页 - - - - - - - - - 学习 好资料精品资料12、Direct3D 定义了六种基本图元类型:点列表(D3DPT_POINTLIST),线段列表(D3DPT_LINELIST ),线段条带( D3DPT_LINESTRIP),三角形列表(D3DPT_TRIANGLELIST),三角形条带( D3D_TRIANGLESTRIP), 三角形扇
32、(D3DPT_TRIANGLEFAN)。13、Direct3D 的填充模式中,会有点模式(D3DFILL_POINT ),线框模式(D3DFILL_WIREFRAME),面模式( D3DFILL_SOLID )模式。14、纹理是指定区域像素颜色计算的过程;纹理过滤的4 种类型分别是最近点采样、线性过滤、各向异性过滤、 mipmap过滤。15、设 P1(X1,Y1),P2(X2,Y2) 为空间中的两个点,那么距离P1P2= 。16、透视投影方式中,将投影平面置于观察点与投影对象之间,透视投影的投影线互不平行,会聚于一点,此点为观察点,也称投影中心。17、图元( primitive)是 Direc
33、t3D 中定义的基本图形表示,它是组成一个单一实体的一组顶点;最简单的图元是三维坐标系中多个点的集合,称为点列表( point list)。18、三维物体变为二维图形的变换称为投影变换。19、视口变换 (viewport transform)的任务是将顶点坐标从投影窗口转换到屏幕的一个矩 形区域中,该矩形区域称为视口。20、Shader Model (着色器模型)是微软公司定义图形平台性能的一个标准,着色器是渲染像素和顶点的小程序,分为顶点着色器(Vertex Shader )和像素着色器( Pixel Shader )。21、假设平面1和2的法线向量分别为1111(,)A B Cn和2222
34、(,)ABCn,则两平面的夹角为cos。222121()()XXYY12121212222222111222cos()A AB BC CABCABCn ,n名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 23 页 - - - - - - - - - 学习 好资料精品资料22、观察坐标系中是将摄像机的坐标作为原点, X轴向右, Z 轴向前 ,Y 轴向上。( 四) 程序题1、在绘制字体实例中,初始化Direct3D 的函数如下,请将空白处补充完整:HRESULT Initi
35、alizeD3D( HWND hWnd) /创建 Direct3D 对象,该对象用来创建Direct3D 设备对象if (NULL = (g_pD3D = Direct3DCreate9(D3D_SDK_VERSION ) ) return false; /设置 D3DPRESENT_PARAMETERS 结构,准备创建 Direct3D 设备对象D3DPRESENT_PARAMETERS d3dpp; ZeroMemory(&d3dpp,sizeof(d3dpp); d3dpp.Windowed = TRUE; d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD
36、;d3dpp.BackBufferFormat = D3DFMT_UNKNOWN; /创建 Direct3D 设备对象if (FAILED(g_pD3D-CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,hWnd,D3DCREATE_SOFTWARE_VERTEXPROCESSING,&d3dpp,&g_pd3dDevice) return FALSE; /创建字体对象if (FAILED(D3DXCreateFont(g_pd3dDevice,0,0,0,0,0,0,0,0,0,LArial,&g_pFont) return E_FAIL; /获取
37、窗口客户区GetClientRect(hWnd,&clientRect); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 23 页 - - - - - - - - - 学习 好资料精品资料/设置剔除模式为不剔除任何面g_pd3dDevice-SetRenderState(D3DRS_CULLMODE,D3DCULL_NONE); /设置图元填充模式为线框模式g_pd3dDevice-SetRenderState(D3DRS_FILLMODE,D3DFILL_WIREF
38、RAME); return TRUE; 2、一个绘制带有纹理贴的图立方体的例子,从里面截取绘制部分的片段,请将空白处补充完整:LPDIRECT3D9 g_pD3D = NULL; /Direct3D 对象LPDIRECT3DDEVICE9 g_pd3dDevice = NULL; /Direct3D 设备对象LPDIRECT3DVERTEXBUFFER9 g_pVB = NULL;/顶点缓存对象VOID Render() /清空后台缓存g_pd3dDevice-Clear(0,NULL,D3DCLEAR_TARGET,D3DCOLOR_XRGB(0,0,0),1.0f,0); /开始在后台缓存
39、绘制图形if (SUCCEEDED(g_pd3dDevice-BeginScene() SetTexture();/设置纹理g_pd3dDevice-SetStreamSource (0,g_pVB,0,sizeof(CUSTOMVERTEX ); g_pd3dDevice-SetFVF(D3DFVF_CUSTOMVERTEX); g_pd3dDevice-DrawPrimitive(D3DPT_TRIANGLESTRIP,0,2); /结束在后台缓存渲染图形g_pd3dDevice-EndScene();名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
40、 - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 23 页 - - - - - - - - - 学习 好资料精品资料 /将在后台缓存绘制的图形提交到前台缓存显示g_pd3dDevice-Present( NULL,NULL,NULL,NULL ); 3、基于 Win32 框架的 Direct3D 程序的基本结构图如下,请补充完整:WinMain 程序入口主函数创建一个 Windows 窗口结束 Direct3D 程序释放申请资源函数结束初始化 Direct3D 的相关配置处理 Windows 消息循环渲染图形其中,程序主体的函数框架如下,请根据渲染函数流程将
41、代码补充完整:INT WINAPI wWinMain( HINSTANCE hInst, HINSTANCE, LPWSTR, INT ) / Register the window class WNDCLASSEX wc = sizeof( WNDCLASSEX ), CS_CLASSDC, MsgProc, 0L, 0L, GetModuleHandle( NULL ), NULL, NULL, NULL, NULL, LD3D Tutorial, NULL ; /注册窗口类 wc RegisterClassEx( &wc ); 名师资料总结 - - -精品资料欢迎下载 - - - - -
42、 - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 23 页 - - - - - - - - - 学习 好资料精品资料 / Create the applications window HWND hWnd = CreateWindow( LD3D Tutorial, LD3D Tutorial 01: CreateDevice, WS_OVERLAPPEDWINDOW, 100, 100, 300, 300, NULL, NULL, wc.hInstance, NULL ); / Initialize Direct3D if( SU
43、CCEEDED( InitD3D( hWnd ) ) ) / Show the window ShowWindow( hWnd, SW_SHOWDEFAULT );UpdateWindow( hWnd ); / Enter the message loop MSG msg; while( GetMessage( &msg, NULL, 0, 0 ) ) /Translate and dispatch Messages TranslateMessage( &msg ); DispatchMessage( &msg ); /UnRegister windowclass UnregisterClas
44、s( LD3D Tutorial, wc.hInstance ); return 0; 4、(每空 3分,共 12分)光源例子光源设置部分代码如下,请将空白处补充完整:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 23 页 - - - - - - - - - 学习 好资料精品资料/设置一号光源为漫反射方向光,颜色为白色 D3DXVECTOR3 vecDir1; D3DLIGHT9 light1; (1) ZeroMemory( &light1, sizeof(D3DL
45、IGHT9) ); light1.Type = D3DLIGHT_DIRECTIONAL; light1.Diffuse.r = 1.0f; light1.Diffuse.g = 1.0f; light1.Diffuse.b = 1.0f; vecDir1 = D3DXVECTOR3(-10, 0 , 10); / 方向光方向 (2)D3DXVec3Normalize( (D3DXVECTOR3*)&light1.Direction, &vecDir1 ); g_pd3dDevice-SetLight( 0, &light1 ); /二号光源为漫反射点光源,颜色为白色 D3DXVECTOR3
46、vecPos2; D3DLIGHT9 light2; (3) ZeroMemory( &light2, sizeof(D3DLIGHT9) ); light2.Type = D3DLIGHT_POINT; light2.Diffuse.r = 1.0f; light2.Diffuse.g = 1.0f; light2.Diffuse.b = 1.0f; light2.Position= D3DXVECTOR3( 10, 0, -10); light2.Range = 100.0f; light2.Attenuation0 = 1.0f; (4) g_pd3dDevice-SetLight( 1, &light2 ); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 23 页 - - - - - - - - -