《DirectX程序设计》复习资料史广顺.docx

上传人:b****6 文档编号:8690537 上传时间:2023-02-01 格式:DOCX 页数:21 大小:34.10KB
下载 相关 举报
《DirectX程序设计》复习资料史广顺.docx_第1页
第1页 / 共21页
《DirectX程序设计》复习资料史广顺.docx_第2页
第2页 / 共21页
《DirectX程序设计》复习资料史广顺.docx_第3页
第3页 / 共21页
《DirectX程序设计》复习资料史广顺.docx_第4页
第4页 / 共21页
《DirectX程序设计》复习资料史广顺.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

《DirectX程序设计》复习资料史广顺.docx

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

《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.COM组件对象

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是通过(COM)组件对象模型对象和接口实现的,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_pd3dD

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

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1