DirectX程序设计复习资料.docx

上传人:b****1 文档编号:10251071 上传时间:2023-05-24 格式:DOCX 页数:25 大小:69.16KB
下载 相关 举报
DirectX程序设计复习资料.docx_第1页
第1页 / 共25页
DirectX程序设计复习资料.docx_第2页
第2页 / 共25页
DirectX程序设计复习资料.docx_第3页
第3页 / 共25页
DirectX程序设计复习资料.docx_第4页
第4页 / 共25页
DirectX程序设计复习资料.docx_第5页
第5页 / 共25页
DirectX程序设计复习资料.docx_第6页
第6页 / 共25页
DirectX程序设计复习资料.docx_第7页
第7页 / 共25页
DirectX程序设计复习资料.docx_第8页
第8页 / 共25页
DirectX程序设计复习资料.docx_第9页
第9页 / 共25页
DirectX程序设计复习资料.docx_第10页
第10页 / 共25页
DirectX程序设计复习资料.docx_第11页
第11页 / 共25页
DirectX程序设计复习资料.docx_第12页
第12页 / 共25页
DirectX程序设计复习资料.docx_第13页
第13页 / 共25页
DirectX程序设计复习资料.docx_第14页
第14页 / 共25页
DirectX程序设计复习资料.docx_第15页
第15页 / 共25页
DirectX程序设计复习资料.docx_第16页
第16页 / 共25页
DirectX程序设计复习资料.docx_第17页
第17页 / 共25页
DirectX程序设计复习资料.docx_第18页
第18页 / 共25页
DirectX程序设计复习资料.docx_第19页
第19页 / 共25页
DirectX程序设计复习资料.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

DirectX程序设计复习资料.docx

《DirectX程序设计复习资料.docx》由会员分享,可在线阅读,更多相关《DirectX程序设计复习资料.docx(25页珍藏版)》请在冰点文库上搜索。

DirectX程序设计复习资料.docx

DirectX程序设计复习资料

课程名称

DirectX程序设计

名称

?

DirectX游戏编程?

清华大学

作者

周国庆等

版次

2010年1月第1版

一、客观局部:

〔单项选择、多项选择、不定项选择、判断〕

〔一〕、选择局部

1、1、()是图形中最根本的几何对象。

A.点

B.线

C.向量

D.三角形

★考核知识点:

点和向量

2、()可以用来判断向量叉乘值的方向。

A.A.左手定那么B.右手定那么

B.C.左手坐标系D.右手坐标系

★考核知识点:

点和向量

3、三维物体变为二维图形的变换称为()。

A.平行投影

B.旋转变换

C.投影变换

D.缩放变换

★考核知识点:

矩阵与坐标变换

4、()是用于定义构成物体的三角形单元列表的坐标系。

A.A.世界坐标系B.本地坐标系

B.C.观察坐标系D.屏幕坐标系

★考核知识点:

坐标系

5、5、()是HAL设备的变体,只支持硬件顶点处理。

A.纯软件模式

B.在不同设备上的混合顶点处理模式

C.在同一设备上的混合顶点处理模式

D.纯硬件模式

★考核知识点:

Direct3D底层构造概述

6、6、()是应用程序第一个创立而最后一个释放的对象。

A.A.Direct3D设备对象B.组件对象

B.C.Direct3D对象D.类工厂对象

★考核知识点:

Direct3D底层构造概述

7、7、()是Win32编程的根底。

A.消息机制

B.窗口过程

C.消息机制或窗口过程

D.消息机制和窗口过程

★考核知识点:

Win32+C+Direct3D的根底框架

8、以下哪个释放顺序是正确的(B)。

A.Direct3D对象、Direct3D设备对象

B.Direct3D设备对象、Direct3D对象

C.顺序任意

D.无需释放

★考核知识点:

Win32+C+Direct3D的根底框架

9、Win32程序中利用()进展消息的捕获和处理.

A.循环函数

B.递归函数

C.回调函数

D.静态函数

★考核知识点:

Win32+C+Direct3D的根底框架

10、()对象是用来指定字体属性的。

A.A.LPD3DXFONTB.LPDIRECT3D9

B.C.LPDIRECT3DDEVICE9D.RECT

★考核知识点:

Win32程序框架实现

11、DXUT框架将与文本渲染相关的属性和接口都封装在()类中。

A.ID3DXFont

B.ID3DXSprite

C.DIRECT3DDEVICE9

D.CDXUTTextHelper

★考核知识点:

DXUT程序框架实现

12、3D世界中最根本的图形是()。

A.点

B.线

C.向量

D.三角形

★考核知识点:

图元

13、()是一个由相互连接的线段组合成的造型,程序可用它产生不封闭的多边形。

A.点列表

B.线段列表

C.线段条带

D.三角形列表

★考核知识点:

图元

14、Direct3D中使用的是()。

A.左手坐标系

B.右手坐标系

C.两个都可以

D.两个都不是

★考核知识点:

坐标系

15、灵活顶点格式是描述顶点的()属性。

A.顶点坐标

B.顶点数据相关属性

C.法线方向

D.纹理坐标

★考核知识点:

灵活顶点格式〔FVF〕

16、()缓存方式通常被放置在显存中,其中的数据能被有效地处理。

A.静态缓存

B.动态缓存

C.两种都可以

D.两种都不可以

★考核知识点:

使用顶点缓存绘制图形

17、()是最快的着色方式。

A.平面着色

B.高洛德着色

C.两种方式都很快

D.两种方式都很慢

★考核知识点:

渲染状态

18、()是将物体顶点坐标从模型自己的坐标系空间转换到世界坐标系空间。

A.局部变换

B.空间变换

C.投影变换

D.世界变换

★考核知识点:

顶点变换

19、()变换后的的几何体位于观察坐标系中。

A.局部变换

B.取景变换

C.世界变换

D.空间变换

★考核知识点:

顶点变换

20、()是由光源发出经屡次散射而无法确定其方向的光。

A.漫反射光

B.环境反射光

C.镜面发射光

D.自发光

★考核知识点:

Direct3D中的光照

21、()光垂直于物体时比倾斜时更明亮。

A.漫反射光

B.环境反射光

C.镜面发射光

D.自发光

★考核知识点:

Direct3D中的光照

22、()光源的发光区域是一个圆锥体。

A.点光源

B.方向光源

C.聚焦光源

D.混合光源

★考核知识点:

Direct3D中的光照

23、"对于所有纹理上的每一个纹理像素,Direct3D需要有一个统一的地址围,是在〔〕之间"

A.0.0~1.0

B.0.0~2.0

C.1.0~2.0

D.0.0~3.0

★考核知识点:

纹理坐标

24、采用〔A〕时,复制与这个浮点值地址最接近的整数地址的纹理元素的颜色

A.最近点采样

B.线性过滤

C.各向异性过滤

D.mipmap过滤

★考核知识点:

纹理过滤

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、除了进展几何信息的排序外,还将创立一个属性表,该表是〔〕

A.数组

B.缓存

C.序列

D.线性表

★考核知识点:

属性表

29、已经指定了定点数和面数,同时也分配了适当大小的存给顶点缓存、索引缓存以及属性缓存等,只是没有填入相应的数据称为〔〕

A.一级Mesh

B.空Mesh

C.初试Mesh

D.Mesh初始化

★考核知识点:

创立一个Mesh

30、在3DMAX等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.深度测试

C.Alpha测试

D.模板缓存

★考核知识点:

模板

34、利用模板缓存来阻止对后台缓存村长哦功能某些特定区域进展绘制,判定是否将某个像素写入后台缓存的决策过程称为〔〕

A.模板测试

B.深度缓存

C.深度测试

D.Alpha测试

★考核知识点:

模板

35、替换顶点处理的局部叫做〔〕

A.像素着色器

B.着色器

C.顶点着色器

D.可编程着色器

★考核知识点:

着色器入门

36、〔〕的功能是对进入管线的每一个像素点进展着色处理

A.像素着色器

B.着色器

C.顶点着色器

D.可编程着色器

★考核知识点:

着色器概述

37、DirectX9中发布了高级着色器语言,是〔〕

A.GLSL

B.HLSL

C.Cg

D.C++

★考核知识点:

着色器概述

38、〔〕是一个在图形卡的GPU上执行的程序,可对顶点进展操作;包括顶点坐标转换和光照处理

A.像素着色器

B.可编程着色器

C.着色器

D.顶点着色器

★考核知识点:

顶点着色器概述

39、〔〕对像素操作,运行于渲染管线的光栅化处理阶段,辅助实现诸如纹理混合、光照模型计算或环境映射等效果

A.像素着色器

B.可编程着色器

C.着色器

D.顶点着色器

★考核知识点:

像素着色器概述

40、DirectX主要由()和()所构成。

A.硬件抽象层

B.软件抽象层

C.硬件模拟层

D.软件模拟层

★考核知识点:

DirectX概述

41、HAL的顶点处理模式包括()。

A.软件顶点处理

B.硬件顶点处理

C.在不同设备上的混合顶点处理

D.在同一设备上的混合顶点处理

★考核知识点:

Direct3D底层构造概述

42、可以存储RGB数据的构造包括()。

A.DWORD

B.D3DCOLOR

C.D3DCOLORVALUE

D.D3DXCOLOR

★考核知识点:

颜色表示法

43、Direct3D支持哪些多边形填充模式。

A.点模式

B.线框模式

C.实体模式

D.混合模式

★考核知识点:

渲染状态

44、哪些变换分别用于设定物体在世界坐标系中的位置、方向以及模型大小。

A.平移变换

B.投影变换

C.旋转变换

D.缩放变换

★考核知识点:

顶点变换

45、投影变换包括哪几种投影方式。

〔〕

A.平面投影

B.透视投影

C.正射投影

D.缩放投影

★考核知识点:

顶点变换

46、Direct3D中哪些光是分别独立地用于系统的光照计算的。

〔〕

漫反射光

环境反射光

镜面发射光

自发光

★考核知识点:

Direct3D中的光照

47、常见的纹理寻址模式有〔〕

A.重叠纹理寻址模式

B.镜像纹理寻址模式

C.钳位纹理寻址模式

D.边界颜色纹理寻址模式

★考核知识点:

纹理寻址模式

48、Direct3D提供了哪些〔〕方法来简化纹理过滤的过程

A.最近点采样

B.线性过滤

C.各向异性过滤

D.mipmap过滤

★考核知识点:

纹理过滤

49、模板定义包含哪些项〔〕

A."模板名字

B.GUID

C.数据项

D.用于控制模板的限制程度"

★考核知识点:

X文件格式解析

50、渲染管线首先要设定哪些数据信息〔〕

A.顶点

B.图元

C.纹理

D.材质

★考核知识点:

着色器入门

〔二〕、判断局部

1、直线与平面的夹角小于等于90°。

★考核知识点:

直线与平面

2、观察体的大小依赖于窗口的大小。

★考核知识点:

矩阵与坐标变换

3、裁剪操作时,两个平面必须在投影参考点的不同侧。

★考核知识点:

矩阵与坐标变换

4、DirectX是Windows的一种多媒体API,但是不能保证设备无关性。

★考核知识点:

DirectX概述

5、Direct3DHAL仅实现与设备相关的代码并且不做任何模拟。

★考核知识点:

Direct3D底层构造概述

6、Direct3DAPI对象与GDI并排存在,且各自有操作硬件的硬件抽象层。

★考核知识点:

Direct3D底层构造概述

7、Direct3D开发和部署的根本环境是DXUT的编程环境。

★考核知识点:

Win32+C+Direct3D的根底框架

8、一个Direct3D对象可以创立多个Direct3D设备对象。

★考核知识点:

Win32+C+Direct3D的根底框架

9、在DirectX对窗口进展渲染之前,无需先对窗口进展渲染方面的配置。

10、★考核知识点:

Win32+C+Direct3D的根底框架

11、DXUT框架只支持Direct3D设备和窗口的一一对应。

★考核知识点:

DXUT框架

12、绘制文本无需在渲染循环函数中执行。

★考核知识点:

文本绘制流程

13、创立字体对象时应获得当前渲染区域的信息。

★考核知识点:

Win32程序框架实现

14、创立的字体对象不是占用存的资源对象,因此无需释放。

★考核知识点:

Win32程序框架实现

15、图元是Direct3D中定义的根本图形表示,是组成一个单一实体的一组点和线的集合。

★考核知识点:

图元

16、三角形条带的顶点顺序必须是按照顺时针画的。

★考核知识点:

图元

17、使用索引缓存时,必须将要绘制的模型的索引缓存与设备相关联且每次只能使用一个索引缓存。

★考核知识点:

索引缓存

18、裁剪操作是在拍摄过程中的第四步按动快门拍摄时进展的。

★考核知识点:

摄像机

19、光栅化过程是通过硬件和软件混合图形处理来完成的。

★考核知识点:

光栅化

20、建模是指用一定的数学和物理方法建立所需3D场景的几何描述。

★考核知识点:

真实感图形根本概念

21、在场景中,设置光源后即可,无需再对光源进展激活。

★考核知识点:

Direct3D中的光照

22、物体外表的颜色不仅与照射光源的属性有关,还与物体的材质属性相关。

★考核知识点:

Direct3D中的材质

23、对于图元在二维屏幕上图像的每个像素来说,都必须从纹理中获得一个颜色值,这个过程称为纹理过滤

★考核知识点:

纹理过滤

24、当三维物体外表与投影平面不平行时,它在屏幕上的投影会扭曲,这种现象称为mipmap过滤

★考核知识点:

纹理过滤

25、纹理阶段混合状态用于指定当前纹理颜色值和Alpha值的混合方法

★考核知识点:

纹理混合状态

26、通常情况下,深度缓存对应与屏幕大小一样的一块二维区域

★考核知识点:

深度缓存与深度测试

27、设置深度缓存是指设置深度测试成功时对深度缓存如何操作

★考核知识点:

深度缓存与深度测试

28、图形学中称由于采样频率缺乏而造成的失真为走样,反走样通过多重采样改善图形锯齿效果

★考核知识点:

图形反走样

29、渲染后的物体看起来像是由许许多多的三角形、四边形或五边形组成的,就像网一样,我们称为网状构造

★考核知识点:

ID3DXMesh

30、假设要从缓存中读取数据,需要锁定缓存,用完后解锁

★考核知识点:

ID3DXMesh

31、三角形属性ID存储在Mesh的属性缓存中,由于每个三角形都对应一项属性缓存,所以属性缓存中的工程数等于Mesh中的三角形的个数

★考核知识点:

子集和属性缓存

32、使用OptimizeInplace()进展网格优化后,Mesh的几何信息将按照属性进展排序,这样各个子集的顶点/索引将组成连续的块

★考核知识点:

属性表

33、使用SetAttributeTable()方法来直接设置属性表

★考核知识点:

属性表

34、X文件是由模版驱动的,模版定义了如何存储一个数据对象

★考核知识点:

X文件格式解析

35、模板限制指在存储数据对象时,是否可以增加其他数据类型的数据,在模板定义中完毕局部的标识

★考核知识点:

X文件格式解析

36、有材质和纹理的X文件中,还需定义材质模板、颜色模板、纹理文件名模板、纹理坐标模板等

★考核知识点:

X文件格式解析

37、这种随着人们视线的远近而对模型绘制的多边形数目进展动态调整的技术被称为层次网格

★考核知识点:

渐进网格

38、"混合定义是将两个或两个以上的图像叠合在一起构成一幅新图像的方法"

★考核知识点:

混合因子

39、"是用源像素颜色与目标像素颜色通过一种规那么进展计算,计算的结果为该像素的最终颜色,这个过程就是混合"

★考核知识点:

混合因子

40、Alpha分量主要是用来指定像素的透明等级

★考核知识点:

混合计算

41、Alpha混合是渲染状态的一种,不启用Alpha混合也能进展相关计算

★考核知识点:

混合计算

42、如果没有使用材质和问题,当前绘制像素的Alpha分量来自每个顶点颜色设置的Alpha值

★考核知识点:

Alpha来源

43、平面着色模式,所有像素的Alpha值都大于等于该多边形的第一个顶点的Alpha值

★考核知识点:

Alpha来源

44、像素的Alpha值就是纹理Alpha混合之后的值

★考核知识点:

Alpha来源

45、Alpha测试并不把当前像素的颜色与颜色缓冲中像素的颜色混合,像素要么完全不透明,要么完全透明

★考核知识点:

Alpha测试

46、模板测试成功或者失败,模板中的值都会有相应的更新操作

47、★考核知识点:

模板

48、可编程管线允许用户自定义一段可以在GPU上执行的程序

★考核知识点:

着色器入门

49、顶点和像素由GPU来执行,是固定功能管线的一局部

★考核知识点:

着色器概述

50、顶点着色器与像素着色器不允许成对出现

★考核知识点:

着色器概述

51、一个采样对象包含一个纹理对象以及对该纹理进展采样所需要的一些状态

★考核知识点:

HLSL的变量

52、"向量型的成员可以单独被访问,矩阵型不可以"

★考核知识点:

HLSL的变量

(三)填空题

1、用于定义构成物体的三角形单元列表的坐标系叫做本地坐标系〔局部坐标系或模型坐标系〕。

2、Direct3D的着色模式中,平面着色模式在绘制流水线使用多边形第一个顶点的材质颜色作为整个多边形的颜色来渲染该多边形;如果多边形不共面,被平面着色方式渲染的三维物体在多边形之间将具有可视的清晰边缘;

3、世界变换是将物体顶点坐标从模型自己的坐标系空间转换到世界坐标系空间;

4、Direct3D的着色模式中,高洛德着色模式使用顶点法线和光照参数为每个顶点计算颜色,然后穿越多边形的外表进展插值,插值以线性方式完成;它会使物体的外表看上去弯曲而平滑;

5、局部坐标系(localspace)或建模坐标系(modelingspace),是用于定义构成物体的三角形单元列表的坐标系。

6、创立的字体对象也是一种占用存的资源对象,也要遵循“最先申请,最后释放〞的准那么适时释放它。

7、DirectX中的3维坐标系遵循的是左手法那么。

8、两种根本的投影方式为平行投影和透视投影。

9、DirectX主要由硬件抽象层〔HAL〕和硬件模拟层〔HEL〕所构成。

10、Direct3D是通过〔〕组件对象模型对象和接口实现的,C++应用程序可以直接访问这些接口和对象。

11、通常,图元是多边形〔polygon〕,最简单的多边形是三角形。

12、Direct3D定义了六种根本图元类型:

点列表〔D3DPT_POINTLIST〕,线段列表〔D3DPT_LINELIST〕,线段条带〔D3DPT_LINESTRIP〕,三角形列表〔D3DPT_TRIANGLELIST〕,三角形条带〔D3D_TRIANGLESTRIP〕,三角形扇〔D3DPT_TRIANGLEFAN〕。

13、Direct3D的填充模式中,会有点模式〔D3DFILL_POINT〕,线框模式〔D3DFILL_WIREFRAME〕,面模式〔D3DFILL_SOLID〕模式。

14、纹理是指定区域像素颜色计算的过程;纹理过滤的4种类型分别是最近点采样、

线性过滤、各向异性过滤、mipmap过滤。

15、设P1(X1,Y1),P2(X2,Y2)为空间中的两个点,那么距离P1P2=。

16、透视投影方式中,将投影平面置于观察点与投影对象之间,透视投影的投影线互不平行,会聚于一点,此点为观察点,也称投影中心。

17、图元〔primitive〕是Direct3D中定义的根本图形表示,它是组成一个单一实体的一组顶点;最简单的图元是三维坐标系中多个点的集合,称为点列表〔pointlist〕。

18、三维物体变为二维图形的变换称为投影变换。

19、视口变换(viewporttransform)的任务是将顶点坐标从投影窗口转换到屏幕的一个矩形区域中,该矩形区域称为视口。

20、ShaderModel〔着色器模型〕是微软公司定义图形平台性能的一个标准,着色器是渲染像素和顶点的小程序,分为顶点着色器〔VertexShader〕和像素着色器〔PixelShader〕。

21、假设平面

的法线向量分别为

,那么两平面的夹角θ为

22、观察坐标系中是将摄像机的坐标作为原点,X轴向右,Z轴向前,Y轴向上。

(四)程序题

1、在绘制字体实例中,初始化Direct3D的函数如下,请将空白处补充完整:

HRESULTInitializeD3D(HWNDhWnd)

{//创立Direct3D对象,该对象用来创立Direct3D设备对象

if(NULL==(g_pD3D=Direct3DCreate9(D3D_SDK_VERSION)))

returnfalse;

//设置D3DPRESENT_PARAMETERS构造,准备创立Direct3D设备对象

D3DPRESENT_PARAMETERSd3dpp;

ZeroMemory(&d3dpp,sizeof(d3dpp));

d3dpp.Windowed=TRUE;

d3dpp.SwapEffect=D3DSWAPEFFECT_DISCARD;

d3dpp.BackBufferFormat=D3DFMT_UNKNOWN;

//创立Direct3D设备对象

if(FAILED(g_pD3D->CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,hWnd,D3DCREATE_SOFTWARE_VERTEXPROCESSING,&d3dpp,&g_pd3dDevice)))

{returnFALSE;}

//创立字体对象

if(FAILED(D3DXCreateFont(g_pd3dDevice,0,0,0,0,0,0,0,0,0,L"Arial",&g_pFont)))

{returnE_FAIL;}

//获取窗口客户区

GetClientRect(hWnd,&clientRect);

//设置剔除模式为不剔除任何面

g_pd3dDevice->SetRenderState(D3DRS_CULLMODE,D3DCULL_NONE);

//设置图元填充模式为线框模式

g_pd3dDevice->SetRenderState(D3DRS_FILLMODE,D3DFILL_WIREFRAME);

returnTRUE;

}

2、一个绘制带有纹理贴的图立方体的例子,从里面截取绘制局部的片段,请将空白处补充完整:

LPDIRECT3D9g_pD3D=NULL;//Direct3D对象

LPDIRECT3DDEVICE9g_pd3dDevice=NULL;//Direct3D设备对象

LPDIRECT3DVERTEXBUFFER9g_pVB=NULL;//顶点缓存对象

……

VOIDRender()

{

//清空后台缓存

g_pd3dDevice->Clear(0,NULL,D3DCLEAR_TARGET,D3DCOLOR_XRGB(0,0,0),1.0f,0);

//开场在后台缓存绘制图形

if(SUCCEEDED(g

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2