DirectX程序设计

DirectX程序设计
DirectX程序设计

《DirectX程序设计》课程期末复习资料第一章3D游戏开发的数学基础

本章包含的全部知识点:

●点和向量

●直线与平面

●矩阵与坐标变换

●坐标系

章节重点:

矩阵和坐标变换

第二章Windows编程基础

本章包含的全部知识点:

●基本概念介绍

●Windows程序结构

●Win32程序开发实例

第三章DirectX快速入门

本章包含的全部知识点:

●DirectX概述

●Direct3D 底层结构概述

●DirectX9.0的配置和安装

章节重点:

DirectX9.0的配置和安装

第四章 DirectX程序框架

本章包含的全部知识点:

●Win32+C+Direct3D的基础框架

●DXUT框架

章节重点:

Win32+C+Direct3D的基础框架

第五章文本显示

本章包含的全部知识点:

●文本绘制流程

●Win32程序框架实现

●DXUT程序框架实现

章节重点:

Win32程序框架实现

第六章基本图形的绘制

本章包含的全部知识点:

●图元

●灵活顶点格式(FVF)

●使用顶点缓存绘制图形

●索引缓存

●颜色表示法

●渲染状态

●绘制准备

●D3DX几何物体

●实例设计与实现

章节重点:

顶点缓存

索引缓存

第七章变换

本章包含的全部知识点:●摄像机

●顶点变换

●光栅化

●实例

章节重点:

顶点变换

第八章 3D数学基础补充本章包含的全部知识点:●常见坐标系

●向量

●矩阵

●线性变换

章节重点:

●线性变换

第九章光照和材质

本章包含的全部知识点:●真实感图形基本概念●Direct3D中的光照

●Direct3D中的材质

●光照和材质例子

章节重点:

Direct3D中的光照Direct3D中的材质

第十章纹理映射

本章包含的全部知识点:

●纹理贴图

●纹理坐标

●纹理寻址模式

●纹理过滤

●纹理混合状态

●纹理实例解析

章节重点:

纹理寻址模式

纹理过滤

第十一章深度测试和反走样本章包含的全部知识点:

●深度缓存与深度测试

●图形反走样

●深度测试实例

章节重点:

深度缓存与深度测试

第十二章网格(一)

本章包含的全部知识点:

●ID3DXMesh

●子集和属性缓存

●绘制

●邻接信息

●优化

●属性表

●创建一个Mesh

●例子

章节重点:

子集和属性缓存

创建一个Mesh

第十三章网格(二)

本章包含的全部知识点:●X文件格式解析

●读取X文件

●渐进网格

●渐进网格例子

章节重点:

深度缓存与深度测试

第十四章混合和模板

本章包含的全部知识点:●混合因子

●混合计算

●Alpha来源

●Alpha混合实例

●模板

章节重点:

Alpha混合实例

第十五章着色器入门

本章包含的全部知识点:

●着色器概述

●HLSL的变量

●HLSL的函数

●HLSL基本语法

●在Direct3D中使用HLSL

章节重点:

Alpha混合实例

第十六章顶点着色器

本章包含的全部知识点:

●顶点着色器概述

●顶点声明

●使用顶点着色器

●顶点着色器实例

第十七章像素着色器

本章包含的全部知识点:

●像素着色器概述

●使用像素着色器

●HLSL采样器对象

●多重纹理

●例子程序

一、客观部分:(单项选择、多项选择、不定项选择、判断)(一)、选择部分

1.D3DPRESENT_PARAMETERS参数很多,关于其中参数之一windowed的理解正确的是(ABD)

A.取值FALSE则渲染全屏

B.取值TRUE则渲染窗口

C. int类型

D.BOOL类型

E.double类型

★考核知识点: D3DPRESENT_PARAMETERS

2.以下属于Direct 3D定义的图元类型的有(ABCD)

A.点列表

B.线段条带

C.三角形列表

D.三角形条带

E.四边形列表

★考核知识点: 图元

3.以下属于Direct 3D提供的着色模式的是(AB )

A.平面着色模式

B.高洛德法着色模式

C.渐变着色模式

D.单

颜色着色模式

★考核知识点: 着色模式

4.下面属于Direct3D提供的创建旋转矩阵的函数的是(ABC)

A.D3DXMatrixRotarionX

B. D3DXMatrixRotarionY

C.D3DXMatrixRotarionZ

D. D3DXMatrixRotX

E. D3DXMatrixRotY

★考核知识点: 变换

5.以下属于Direct3D提供的简化纹理过滤的过程的是(ABCD)

A.最近点采样

B.线性过滤

C.各向异性过滤

D.mipmap过滤

★考核知识点: 纹理过滤

6.D3DPRESENT_PARAMETERS参数很多,下面理解正确的是(ABCD)

A.Windowed取值FALSE则渲染全屏

B. BackBufferCount表示后备缓冲的数目

C. SwapEffect表示交换缓冲类型

D. BackBufferFormat表示后备缓冲的格式

★考核知识点: D3DPRESENT_PARAMETERS

7.以下属于Direct3D中提供的标准光源的是(ABC )

A.点光源

B.方向光源

C.聚焦光源

D.多点光源

★考核知识点: 光源

8.关于灵活顶点格式下列说法正确的是(ABD)

A. D3DFVF_DIFFUSE表示顶点数据中包含的是漫反射颜色值;

B. D3DFVF_SPECULAR表示顶点数据中包含的是镜面反射下的颜色值

C. D3DFVF_XYZRHW表示顶点数据中包含的是未经过坐标变换的顶点坐标

D. D3DFVF_XYZ顶点数据中包含未经坐标变换的顶点坐标

考核知识点: 灵活顶点格式

解析:C项应该是经过坐标变换后的顶点坐标

9.关于顶点Alpha描述正确的是(AB)

A.如果在程序中直接指定每个顶点的颜色,直接给出每个顶点颜色的Alpha值。

B. 渲染对象中每个像素的Alpha值由该对象的Alpha值和着色模式决定。

C.高洛德着色模式,所有像素的Alpha值都等于该多边形的第一个顶点的Alpha值。

D. 平面着色模式,每个多边形上的像素的Alpha值由它的各个顶点的Alpha值进行线性插值得到。

考核知识点: 顶点Alpha

解析:C项应该是平面着色模式,所有像素的Alpha值都等于该多边形的第一个顶点的Alpha值。D项应该是高洛德着色模式,每个多边形上的像素的Alpha值由它的各个顶点的Alpha值进行线性插值得到。

(二)、判断部分

1.Direct3D将给每个采样器对象连接一个唯一的纹理阶段(stage),在应用程序中找出

与采样器对象相关联的阶段,并设置相应的纹理和采样器状态给该阶段。(正确)

★考核知识点: 纹理

2.一个Direct3D对象只能创建一个Direct3D设备对象。(错误)

★考核知识点: Direct3D设备对象

考核知识点解释

一个Direct3D对象可以创建多个Direct3D设备对象。

3.由于Direct3D设备对象是由Direct3D对象创建的,因此应先释放Direct3D设备对象。

(正确)

★考核知识点: Direct3D对象及设备对象

4.D3DFVF_XYZ顶点数据中包含未经坐标变换的顶点坐标,不能与D3DFVF_XYZRHW同

时使用。(正确)

★考核知识点: 灵活顶点格式

5.D3DFVF_XYZ顶点数据中包含未经坐标变换的顶点坐标,可以与D3DFVF_XYZRHW同

时使用。(错误)

★考核知识点: 灵活顶点格式

考核知识点解释

D3DFVF_XYZ顶点数据中包含未经坐标变换的顶点坐标,不可以与D3DFVF_XYZRHW 同时使用。

6.D3DFVF_XYZRHW顶点数据中包含经过坐标变换的顶点坐标,不能与D3DFVF_XYZ

和D3DFVF_NORMAL同时使用。(正确)

★考核知识点: 灵活顶点格式

7.Direct3D创建的场景和对象都是由简单的“图元”按照一定的方式排列组合而成的,

Direct3D中的所有图元都是一维或二维对象,包括单个的点和直线及复杂的多边形。

(正确)

★考核知识点: 图元

8.在索引缓存中定位顶点也就是在顶点缓存中定位顶点。(正确)

★考核知识点: 顶点缓存索引缓存

二、主观部分:

(一)、填空部分

1)像素着色器的输入仅有颜色和纹理坐标两种语义。

考核知识点: 像素着色器

2)像素着色器的工作是在顶点着色器之后,后者的输出将为前者提供输入。

考核知识点: 像素着色器

3)D3DFVF_DIFFUSE表示顶点数据中包含的是漫反射颜色值;

考核知识点: 灵活顶点格式

4)D3DFVF_SPECULAR表示顶点数据中包含的是镜面反射下的颜色值;

考核知识点: 灵活顶点格式

5)D3DFVF_XYZRHW表示顶点数据中包含的是经过坐标变换的顶点坐标

考核知识点: 灵活顶点格式

6)Direct3DCreate9函数创建一个Direct3D对象并获得指向Direct3D对象接口的指针,

且参数必须设置为D3D_SDK_VERSION。

考核知识点: Direct3D对象

7)DXUT(The DirectX Utility Library)是建立在Direct3D9和Direct3D10上的一个程序

框架,其目标是建立一个强大而容易使用的Direct3D游戏开发框架,它简化了Win32和Direct3D API的使用。

考核知识点: DXUT

8)创建DirectX设备对象的函数为CreateDevice。

考核知识点:设备对象

9)Direct3D图形程序通过调用IDirect3DDevice9::SetRenderState()函数来设置渲染状

态。

考核知识点:设置渲染状态

10)g_pd3dDevice->SetRenderState(D3DRS_SHADEMODE,D3DSHADE_FLAT),这行代码完

成的功能是(设置着色模式为平面着色模式)。

考核知识点:设置着色模式

11)g_pd3dDevice->SetRenderState(D3DRS_SHADEMODE,D3DSHADE_GOURAUD),这行代

码完成的功能是(设置着色模式为高洛德着色模式)。

考核知识点:设置着色模式

(二)、名词解释

1、请你给出创建顶点声明,并获得IDirect3DVertexDeclaration9接口指针的方法。

考核知识点:顶点声明

考核知识点解释

HRESULT IDirect3DDevice9::CreateVertexDeclaration(

CONST D3DVERTEXELEMENT9* pVertexElements, //要创建的顶点声明

IDirect3DVertexDeclaration9** ppDecl //返回创建的IDirect3DVertexDeclaration9接//口指针);

2、请你给出环境光(ambient light)的概念,并说明如何设置渲染状态为整个场景添加环

境光。

考核知识点:环境光

考核知识点解释

环境光(ambient light)

由光源发出经环境多次散射而无法确定其方向的光,即好像是来自四面八方的光;

室内成分大,室外成分少,没有位置或方向上的特征,只有颜色亮度值,不会衰减;

通过设置渲染状态为整个场景添加环境光:

g_device->SetRenderState(D3DRS_AMBIENT,D3DCOLOR_X#);

3、请你给出镜面反射光的概念,并说明如何设置渲染状态。

考核知识点:镜面反射光

考核知识点解释

镜面光来自特定方向并被反射到特定方向;在默认状态下,Direct3D不对物体进行镜面反射计算,需设置相关的渲染状态:

g_device->SetRenderState(D3DRS_SPECULARENABLE,TRUE);

如果需要进行漫反射或镜面反射运算,那么在顶点缓冲器中必须包含顶点的法向量信息;

4、请给出设置像素着色器的函数原型及调用示例代码。

考核知识点:像素着色器

考核知识点解释

HRESULT IDirect3DDevice9::SetPixelShader(

IDirect3DPixelShader9* pShader );

这个方法只接受一个参数,通过它传递一个我们要使用的指向像素着色器的指针。

示例代码如下:

Device->SetPixelShader(MultiTexPS);

5、销毁像素着色器接口函数原型

考核知识点:像素着色器

考核知识点解释

d3d::Release(MultiTexPS);

6、在Direct3D的一个场景中,最多可设置几个光源,设置函数形式。

考核知识点:光源

考核知识点解释

最多可设置8个光源

HRESULT SetLight(DWORD Index,CONST D3DLight9 *pLight );

7、光照程序一般步骤。

考核知识点:光照

考核知识点解释

(1) 创建光源、设置其位置及相关属性;SetLight函数将光源设置到渲染管道流水线

中;LightEnable函数激活光源;

(2) SetRenderState打开渲染管道流水线的光照开关;

(3) 创建材质,设置物体的材质属性,SetMaterial设定材质;

8、请给出点列表图元的含义,并说明其应用。

考核知识点:图元

考核知识点解释

点列表是一个对每点独立进行渲染的顶点集合。程序可以在3D场景中使用它模拟星空视野,或作为多边形表面的点化线。

9、请给出线段列表图元的含义,并说明其应用。

考核知识点:图元

考核知识点解释

线段列表是一系列的独立线段,用于为3D场景加入冰雹或大雨等效果,线段列表中顶点的数量必须是大于等于2的偶数。

10、请给出线段条带图元的含义,并说明其应用。

考核知识点:图元

考核知识点解释

线段条带是一个由相互链接的线段组合成的造型,程序可以用它产生不封闭的多边形;

11、请给出三角形列表图元的含义,并说明其应用。

考核知识点:图元

考核知识点解释

三角形列表是一系列独立的三角形,它们之间可能靠的很近,也可能不是,顶点总数必须能被3整除;使用三角形列表建立一个由离散面片组成的物体;如建立力场墙的一种方法是指定一个由互相不相连的小三角形组成的大型列表;然后将一个可以发散光线的材质和纹理应用到这个三角形列表上

12、请给出三角形条带图元的含义,并说明其应用。

考核知识点:图元

考核知识点解释

三角形条带是一连串相邻接的三角形。3D场景中大部分物体都是由三角条带组成的。

13、请给出三角形扇图元的含义,并说明其应用。

考核知识点:图元

考核知识点解释

三角形扇和三角形条带类似,但其所有三角形共享一个顶点。3D场景中曲面的描述。

14、请给出Direct3D中设置渲染状态的函数原型,并解释其参数含义。

考核知识点:渲染状态

考核知识点解释

Direct3D图形程序通过调用IDirect3DDevice9::SetRenderState()函数来设置渲染状态。枚举类型D3DRENDERSTATETYPE列举出所有可能的渲染状态;使用SetRenderState()设置:

HRESULT IDirect3DDevice9::SetRenderState(

D3DRENDERSTATETYPE State, //更改的渲染状态

DWORD Value ); //新的状态值

15、请你解释平面着色模式的含义。

考核知识点:着色模式

考核知识点解释

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

16、请你解释高洛德着模式的含义。

考核知识点:着色模式

考核知识点解释

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

17、可编程管线渲染一个球体的步骤。

考核知识点:着色模式

考核知识点解释

1)找到用于渲染该球体的VertexShader和PixelShader;

2)将参数传递给VertexShader,VertexShader的输出再传递给PixelShader;

3)绘制该球体;

18、请说明怎样对多级渐进纹理过滤器进行设置,并具体解释Filter的取值。

考核知识点:多级渐进纹理过滤

考核知识点解释

Device->SetSamplerState(0,D3DSAMP_MIPFILTER,Filter);

D3DTEXF_NONE:禁用多级渐进纹理过滤;

D3DTEXF_POINT:就会只使用与图元大小最匹配的一级纹理;

D3DTEXF_LINEAR:Direct3D就将与图元大小最匹配的两级纹理以线性方式混合。19、请你给出物体表面材质的定义方式,并解释每个参数的概念。

考核知识点:材质

考核知识点解释

typedef strcut D3DMATERIAL9{

D3DCOLORVALUE Diffuse; //慢射光的反射属性

D3DCOLORVALUE Ambient; //环境光的反射属性

D3DCOLORVALUE Specular; //镜面光的反射属性

D3DCOLORVALUE Emissive; //自发光的反射属性

float Power; //镜面光的高光强度

}D3DMATERIAL9,*LPD3DMATERIAL9;

(三)、简答

1、着色器代码编译后,获得一个IDirect3DVertexShader9接口的指针,它代表一个顶点着色器,具体方法,及其调用过程。

考核知识点:着色器

考核知识点解释

HRESULT IDirect3DDevice9::CreateVertexShader(

const DWORD* pFunction,

IDirect3DVertexShader9**ppShader );

其中,输入参数pFunction指向编译成功的着色器代码段,输出参数ppShader指向最终生成的顶点着色器。

假设变量shader是一个包含已编译的着色器代码的ID3DXBuffer指针,如果要获得一个IDirect3DVertexShader9接口,可以这样写:

IDirect3DVertexShader9* NewShader = 0;

hr=Device->CreateVertexShader( (DWORD*)shader->GetBufferPointer(),&NewShader);

2、如何测定像素着色器的支持。

考核知识点:像素着色器

考核知识点解释

可用对SetDeviceCaps的调用来测定像素着色器的支持。

Caps结构包括一个叫做PixelShaderVersion的DWORD成员,其值对主版本号和子版本号进行编码,解释这个值的含义的最佳方法是用D3DPS_VERSION宏:

D3DCAPS8 Caps;

M_pD3D->GetDeviceCaps(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,&Caps);

If(Caps.PixelShaderVersion == D3DPS_VERSION(1,1))

{

If(Failed(EasyCreateWindowed(m_hWnd,D3DDEVTYPE_HAL,D3DCREATE_HAR

DWARE_VERTEXPROCESSING)))

Return FALSE;

}

3、请给出D3DPRESENT_PARAMETERS的定义,并解释BackBufferFormat,SwapEffect,Windowed三个参数的含义。

考核知识点: D3DPRESENT_PARAMETERS

考核知识点解释

typedef struct _D3DPRESENT_PARAMETERS_

{

UINT BackBufferWidth; //全屏幕式后备缓冲的宽度

UINT BackBufferHeight; //全屏幕式后备缓冲的高度D3DFORMAT BackBufferFormat; //后备缓冲的格式

UINT BackBufferCount; //后备缓冲的数目

D3DMULTISAMPLE_TYPE MultiSampleType; //全屏抗锯齿类型

DWORD MultiSampleQuality; //全屏抗锯齿质量等级

D3DSWAPEFFECT SwapEffect; //交换缓冲类型

HWND hDeviceWindow;

BOOL Windowed; //全屏或窗口

BOOL EnableAutoDepthStencil; //激活深度缓冲

D3DFORMAT AutoDepthStencilFormat; //深度缓冲格式

DWORD Flags;

UINT FullScreen_RefreshRateInHz; //显示器刷新率

UINT PresentationInterval; //图像最大刷新速度

} D3DPRESENT_PARAMETERS;

? BackBufferFormat——后备缓冲的格式,DX9只支持16位和32位的后备缓冲格式,如D3DFMT_R5G6B5表示后备缓冲的格式为每个像素16位,红色5位、绿色6位、蓝色5位,也可设置为D3DFMT_UNKNOWN,这时使用桌面的格式。

? SwapEffect——交换缓冲支持的效果类型,它是D3DSWAPEFFECT枚举类型,此处设定为D3DSWAPEFFECT_DISCARD,即后备缓存的内容被复制到屏幕上后,后备缓存的内容失效,可以丢弃。

? Windowed——如果为FALSE,表示渲染全屏,若为TRUE,则渲染窗口。

4、基于win32基本框架,绘制文本的函数原型及调用。

考核知识点:绘制文本

考核知识点解释

在Render函数中通过DrawText函数控制文本显示,该函数是LPD3DXFONT类的成员函数,其函数原型如下:

INT DrawText(LPD3DXSPRITE pSprite,LPctstr pString,INT Count,LPRECT pRect,DWORD Format,D3DCOLOR Color);

此处的调用为:g_pFont->DrawText(NULL, strText,-1, &clientRect,

DT_SINGLELINE|DT_NOCLIP|DT_CENTER|DT_VCENTER, 0xffffffff );

5、顶点缓存中的顶点可以包含顶点坐标、颜色、法线方向、纹理坐标等属性,具体包含哪些属性,可以使用灵活顶点格式(Flexible Vertex Format,FVF)进行描述;请解释下面部分FVF描述符:

D3DFVF_DIFFUSE,

D3DFVF_NORMAL,D3DFVF_XYZ,D3DFVF_XYZRHW,D3DFVF_SPECULAR.

考核知识点:灵活顶点格式

考核知识点解释

D3DFVF_DIFFUSE:顶点数据中包含漫反射颜色值;

D3DFVF_NORMAL:顶点数据中包含法线向量,不能和D3DFVF_XYZRHW同时使用;

D3DFVF_XYZ:顶点数据中包含未经坐标变换的顶点坐标,不能与D3DFVF_XYZRHW 同时使用;

D3DFVF_XYZRHW:顶点数据中包含经过坐标变换的顶点坐标,不能与D3DFVF_XYZ 和D3DFVF_NORMAL同时使用;

D3DFVF_PSIZE:顶点信息指明绘制点的大小;

D3DFVF_SPECULAR:顶点数据中镜面反射效果下的颜色值;

6、请给出创建顶点缓存的函数原型,并解释其参数含义。

考核知识点:顶点缓存

考核知识点解释

创建顶点缓存的函数IDirect3DDevice9::CreateVertexBuffer()声明如下:

HRESULT IDirect3DDevice9::CreateVertexBuffer(

UINT Length,//分配给缓存的字节大小;

DWORD Usage,//指定关于怎样使用缓存的额外信息;

DWORD FVF, //存储在缓存中的灵活顶点格式;

D3DPOOL Pool, //缓存放置在哪一个内存池中;

IDirect3DVertexBuffer9 ** ppVertexBuffer,//返回创建好的顶点缓存的指针;

HANDLE* pSharedHandle ); //没有使用;设置为0;

7、访问顶点缓存数据时需要对其访问区域加锁,请给出加锁函数原型并解释其参数含义。

考核知识点:顶点缓存访问

考核知识点解释

HRESULT IDirect3DVertexBuffer9::Lock(

UINT OffsetToLock,//偏移量,以字节为单位,从缓存开始位置到锁定开始位置的距离

UINT SizeToLock, //锁定的字节数

BYTE** ppbDate, //返回的指向锁定内存开始位置的指针

DWORD Flags ); //标记描述如何锁定内存

8、请给出创建索引缓存的函数原型,并解释其参数含义。

考核知识点:索引缓存

考核知识点解释

创建索引缓存的函数如下:

HRESULT IDirect3DDevice9::CreateIndexBuffer(

UINT Length, //分配给缓存的字节大小;

DWORD Usage,//指定关于怎样使用缓存的额外信息;

D3DFORMAT Format,//指定索引大小,使用D3DFMT_INDEX16为16位索引,//D3DFMT_INDEX32为32位索引,但并非所有设备都支持32位索引D3DPOOL Pool,

IDirect3DIndexBuffer9** ppIndexBuffer, //返回创建好的索引缓存的指针

HANDLE* pSharedHandle );

9、请给出使用带有索引缓存的模型绘制的函数原型,并解释其参数含义。

考核知识点:索引缓存

考核知识点解释

使用函数IDirect3DDevice9::DrawIndexedPrimitive绘制带索引模型:

HRESULT IDirect3DDevice9::DrawIndexedPrimitive(

D3DPRIMITIVETYPE Type, //要绘制的图元类型

INT BaseVertexIndex, //为索引增加一个基数,用顶点数目度量

UINT MinIndex, //允许被引用的最小索引值

UINT NumVertices, //本次调用中将被引用的顶点总数

UINT StartIndex, //索引缓存中的某个位置,表示开始渲染的开始索引点

UINT PrimitiveCount ); //绘制图元总数

10、创建一个ID3DXMesh对象,然后从X文件中读取集合信息数据填入到这个对象中。请给出读取函数的定义,及相关参数的含义。

考核知识点: ID3DXMesh对象

考核知识点解释

HRESULT D3DXLoadMeshFromX(

LPCSTR pFilename, //X 文件名

DWORD Options, //创建标志

LPDIRECT3DDEVICE9 pDevice, //与创建Mesh有关的设备

LPD3DXBUFFER* ppAdjacency, //返回包含DWORD的ID3DXBuffer类型//的指针,描述Mesh的邻接信息

LPD3DXBUFFER* ppMaterials, //返回包含D3DXMATERIAL结构的数组 //的ID3DXBuffer指针,存储了Mesh的材质数据

LPD3DXBUFFER* ppEffectInstances, //返回一个包含D3DXEFFECTINSTANCE结//构的数组的ID3DXBuffer类型指针

PDWORD pNumMaterials, //返回Mesh的材质数

LPD3DXMESH * ppMesh //返回填充了X文件几何信息的ID3DXMesh对象);

(五)、程序题

1、下面是Alpha纹理实例程序片段,请将程序补充完整。

考核知识点:Alpha纹理

示例程序及答案

《DirectX程序设计》复习资料-史广顺剖析

一、客观部分:(单项选择、多项选择、不定项选择、判断)(一)、选择部分 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.LPD3DXFONT B.LPDIRECT3D9 B.C.LPDIRECT3DDEVICE9 D.RECT ★考核知识点: Win32程序框架实现

南开15秋学期《DirectX程序设计》在线作业

15秋学期《irtX程序设计》在线作业 【单选题】 1.调用渲染状态设置函数StRnrStt(),参数1为() . 3RS_MULTISMPLNTILIS . TRU . FLS . 3RS_SMPLNTILIS 正确答案: 2.u.x文件内容解释:“xof”标识这是() . X文件 . irtX版本 . 模板 . 浮点数 正确答案: 3.创建一个矩形图元255*255,它的大小恰好与纹理图中纹理的大小一样,要映射整个图元面积,分配给图元纹理坐标为(). . (0.0,0.0)(1.0,0.0)(1.0,1.0)(0.0,1.0) . (0.0,0.0)(255.0,0.0)(255.0,255.0)(0.0,255.0) . (0.0,0.0) (0.0,1.0) (1.0,0.0)(1.0,1.0) . (0.0,0.0) (0.0,255.0) (255.0,0.0)(255.0,255.0) 正确答案: 4.()光垂直于物体时比倾斜时更明亮。 . 漫反射光 . 环境反射光 . 镜面发射光 . 自发光 正确答案: 5.()是用于定义构成物体的三角形单元列表的坐标系。 . 观察坐标系 . 世界坐标系 . 本地坐标系 . 转换坐标系 正确答案: 6.()对像素操作,运行于渲染管线的光栅化处理阶段,辅助实现诸如纹理混合、光照模型计算或环境映射等效果 . 像素着色器

. 可编程着色器 . 着色器 . 顶点着色器 正确答案: 7.利用模板缓存来阻止对后台缓存村长哦功能某些特定区域进行绘制,判定是否将某个像素写入后台缓存的决策过程称为() . 模板测试 . 深度缓存 . 深度测试 . lph测试 正确答案: 8.在3MX等3建模工具中创建好模型,模型转换为扩展名为.x的文件,称() . .X文件 . 3文件 . X文件 . 3Mx文件 正确答案: 9.替换顶点处理的着色器我们称之为() . 像素着色器 . 着色器 . 可编程着色器 . 顶点着色器 正确答案: 10.()是irt3用来存储绘制到屏幕上的每个像素点深度信息的一块内存缓冲区 . 广度缓存 . 深度缓存 . 深度测试 . 广度测试 正确答案: 11.irtX主要由硬件抽象层和硬件模拟层所构成,其中硬件模拟层的缩写为()。 . HL . HL . HL . H 正确答案: 12.3OLORVLU结构体中包含r、g、和4个分量,表示物体表面对各种反射光的各种成分的反射比率。r=g=0.0 ==1.0;r=g=0.0 。此时红光和绿光照射过来,分析正确的是()

18秋学期(1703)《DirectX程序设计》在线作业

一、单选题 1 Windows SDK方式的开发中,响应菜单或按钮我们需要关注的消息是:A、WM_CREATE B、WM_COMMAND C、WM_MENU D、WM_BUTTON [选择]:B 满分:2 2 ()是一个由相互连接的线段组合成的造型,程序可用它产生不封闭的多边形。 A、点列表 B、线段列表 C、线段条带 D、三角形列表[选择]:C 满分:2 3 利用模板缓存来阻止对后台缓存村长哦功能某些特定区域进行绘制,判定是否将某个像素写入后台缓存的决策过程称为()A、模板测试B、深度缓存C、深度测试D、Alpha测试[选择]:A 满分:2 4 ()是图形中最基本的几何对象。A、点B、线C、向量D、三角形[选择]: A 满分:2 5 灵活顶点格式是描述顶点的()属性。A、顶点坐标B、顶点数据相关属性C、法线方向D、纹理坐标[选择]:B 满分:2 6 模板限制中,[…]表示()A、开放的B、闭合的C、受限的D、半开放的[选择]:A 满分:2 7 ()的功能是对进入管线的每一个像素点进行着色处理A、像素着色器B、着色器C、顶点着色器D、可编程着色器[选择]:A 满分:2 8 DirectX主要由硬件抽象层和硬件模拟层所构成,其中硬件模拟层的缩写为()。 A、HAL B、HCL C、HEL D、HEC [选择]:C 满分:2 9 替换顶点处理的部分叫做()A、像素着色器B、着色器C、顶点着色器D、可编程着色器[选择]:C 满分:2 10 ()为从无限远以特定的方向照射过来的光,光照强度随距离的增加而衰减,此光源不需要设置光源位置、衰减系数和光照作用范围。A、漫反射光B、聚焦光源C、方向光源D、点光源[选择]:C 满分:2 11 三维物体变为二维图形的变换称为( )。A、平行投影B、旋转变换C、投影变换D、缩放变换[选择]:C 满分:2 12 在3DMAX等3D建模工具中创建好模型,模型转换为扩展名为.x的文件,称()A、.X文件B、3d文件C、X文件D、3dMax文件[选择]:C 满分:2 13 Direct3D中采用的纹理过滤方案中,()是采用了“首先取得与计算得到的纹理元素的浮点地址最接近的上、下、左、右4个纹理元素,对这4个纹理元素进行加权平均,得到最终显示的颜色值”思想的纹理过滤方案。A、线性过滤(linear filtering) B、最近点采样(nearest point sampling) C、各向异性过滤(anisotropic filtering) D、mipmap过滤(mipmap filtering) [选择]:A 满分:2 14 ()可以动态地有针对地将某些像素写入后台缓存A、深度缓存B、深度测试C、Alpha测试D、模板缓存[选择]:D 满分:2 15 ()对像素操作,运行于渲染管线的光栅化处理阶段,辅助实现诸如纹理混合、光照模型计算或环境映射等效果A、像素着色器B、可编程着色器C、着色器D、顶点着色器[选择]:A 满分:2

《DirectX程序设计》期末试卷及答案

一、选择题(本题共10小题,每小题3分,共30分。单选或者多选) 1.为了求平面的法向量,我们通常的方法是找到平面上相互不平行的两个向量,求他们的(C )。 A.点积B.相加 C.叉积D.相减 2. 为了能够用Alpha分量来描述像素的透明度,必须将源混合因子和目标混合因子分别设置为(B)。 A.D3DBLEND_ZERO和D3DBLEND_ONE B.D3DBLEND_SRCALPHA和D3DBLEND_INVSRCALPHA C.D3DBLEND_SRCCOLOR和D3DBLEND_INVSRCCOLOR D.D3DBLEND_SRCALPHA和D3DBLEND_DESTALPHA 3. 在Direct3D中,我们可以自由定义顶点的格式,下面哪个不是灵活顶点格式的标记(D)。 A. D3DFVF_NORMAL B. D3DFVF_XYZ C. D3DFVF_TEX1 D. D3DFVF_TEX 4.以下哪些项是对表面像素深度缓存的格式描述的枚举常量(AD)。 A.D3DFMT_D32 B.D3DFMT_DXT1 C.D3DFMT_R8G8B8 D.D3DFMT_D24S8 5. 在进行纹理映射的时候,为了调整纹理的大小去适应屏幕三角形的大小,我们通过设置纹理过滤器来设置纹理的过滤方式,通常需要设置的过滤器有(ABC)。 A.放大过滤器B.缩小过滤器C.多级渐进纹理过滤器D.线性过滤器6.Direct3D中的三种基本的变换类型不包括下面的哪项(B)。 A.比例变换B.翻转变换C.平移变换D.旋转变换 7.当需要对场景进行矩阵M的投影变换,选择下面的( A )。 A.Device->SetTransform(D3DTS_PROJECTION, &M); B.Device->SetTransform(D3DTS_WORLD, &M); C.Device->SetTransform(D3DTS_TEXTURE0, &M); D.Device->SetTransform(D3DTS_VIEW, &M); 8.通过(B)技术,我们可以将2D图像数据映射到3D图元上,以增强场景的真实感。 A.模板 B.纹理映射 C. 光照 D.混合 9. 网格的属性缓存中的元素个数与(D)相等。 A. 顶点数 B. 索引数 C. 子集数 D. 面片数 10. 在D3DLIGHT9结构体中,以下的哪些成员对于方向光没有意义(ACD)。 A. Position B. Direction C. Range D. Falloff 二、填空题(本题共20空,每空1分,共20分。) 1、法向量是与平面垂直的向量,用于标记平面的朝向。 2、列出三个D3DXCreateTextureFromFile支持加载纹理图像的格式:BMP 、DDS 、DIB 、PNG、TGA 。 3、在进行深度测试的时候,距离摄像机近的像素颜色将替代后台缓存中对应像素的颜色值。 4、在光栅化过程中,如果每个图元的每个像素都被一致地赋予该图元的第一个顶点所指定的颜色,则可推断当前的着色模式是平面着色。 5、在Direct3D的光照模型中,光源发出的光由三种类型的光组成,它们分别是:环境光、漫反射光、镜面光。 6、我们通过指定物体的材质来模拟现实世界中物体通过吸收和反射光线来表现其颜色。

南开 18秋学期(1709、1803、1809)《DirectX程序设计》在线作业100分答案

18秋学期(1709、1803、1809)《DirectX程序设计》在线作业 在使用Direct3D编程时,我们使用()矩阵表示一个变换。 A.3×3 B.4×4 C.2×2 D.1×4 正确答案:B ()光源的发光区域是一个圆锥体。 A.点光源 B.方向光源 C.聚焦光源 D.混合光源 正确答案:C ()的功能是对进入管线的每一个像素点进行着色处理 A.像素着色器 B.着色器 C.顶点着色器 D.可编程着色器 正确答案:A ()是Direct3D用来存储绘制到屏幕上的每个像素点深度信息的一块内存缓冲区 A.广度缓存 B.深度缓存 C.深度测试 D.广度测试 正确答案:B 纹理采样属性设置函数SetSamplerState()的参数有 A.1个 B.2个 C.3个 D.4个 正确答案:C Direct3D中采用的纹理过滤方案中,()是采用了“首先取得与计算得到的纹理元素的浮点地址最接近的上、下、左、右4个纹理元素,对这4个纹理元素进行加权平均,得到最终显示的颜色值”思想的纹理过滤方案。 A.线性过滤(linear filtering) B.最近点采样(nearest point sampling) C.各向异性过滤(anisotropic filtering) D.mipmap过滤(mipmap filtering) 正确答案:A 三维物体变为二维图形的变换称为( )。 A.平行投影 B.旋转变换 C.投影变换 D.缩放变换

正确答案:C DirectX主要由硬件抽象层和硬件模拟层所构成,其中硬件模拟层的缩写为()。 A.HAL B.HCL C.HEL D.HEC 正确答案:C 三维物体变为二维图形的变换称为()。 A.平行投影 B.旋转变换 C.投影变换 D.缩放变换 正确答案:C ()可以动态地有针对地将某些像素写入后台缓存 A.深度缓存 B.深度测试 C.Alpha测试 D.模板缓存 正确答案:D 逆矩阵的特点是:() A.和原矩阵相乘等于原矩阵 B.和原矩阵相乘等于逆矩阵 C.和原矩阵相乘等于单位矩阵 D.和原矩阵相乘等于全1矩阵 正确答案:C 模板限制中,[…]表示() A.开放的 B.闭合的 C.受限的 D.半开放的 正确答案:A D3DCOLORVALUE结构体中包含r、g、b和a4个分量,表示物体表面对各种反射光的各种成分的反射比率。r=g=0.0 b=a=1.0;r=g=0.0 。此时红光和绿光照射过来,分析正确的是() A.所有光线都被反射,材质看上去为白色 B.只有红光被反射,即材质看上去为红色 C.反射的光为红光和蓝光的混合色 D.所有的光都不被反射,材质看上去为黑色 正确答案:D 如要绘制子集0中的所有三角形,代码如何() A.Mesh->DrawSubset() B.Mesh->DrawSubset(1) C.Mesh->DrawSubset(0) D.Mesh->DrawSubset 正确答案:C

DirectX程序的设计复习资料全

《DirectX程序设计》课程期末复习资料第一章3D游戏开发的数学基础 本章包含的全部知识点: ●点和向量 ●直线与平面 ●矩阵与坐标变换 ●坐标系 章节重点: 矩阵和坐标变换 第二章Windows编程基础 本章包含的全部知识点: ●基本概念介绍 ●Windows程序结构 ●Win32程序开发实例 第三章DirectX快速入门 本章包含的全部知识点: ●DirectX概述 ●Direct3D 底层结构概述 ●DirectX9.0的配置和安装 章节重点: DirectX9.0的配置和安装 第四章 DirectX程序框架 本章包含的全部知识点: ●Win32+C+Direct3D的基础框架 ●DXUT框架 章节重点: Win32+C+Direct3D的基础框架

第五章文本显示 本章包含的全部知识点:●文本绘制流程 ●Win32程序框架实现 ●DXUT程序框架实现 章节重点: Win32程序框架实现 第六章基本图形的绘制 本章包含的全部知识点:●图元 ●灵活顶点格式(FVF)●使用顶点缓存绘制图形●索引缓存 ●颜色表示法 ●渲染状态 ●绘制准备 ●D3DX几何物体 ●实例设计与实现 章节重点: 顶点缓存 索引缓存 第七章变换 本章包含的全部知识点:●摄像机 ●顶点变换 ●光栅化

●实例 章节重点: 顶点变换 第八章 3D数学基础补充本章包含的全部知识点:●常见坐标系 ●向量 ●矩阵 ●线性变换 章节重点: ●线性变换 第九章光照和材质 本章包含的全部知识点:●真实感图形基本概念●Direct3D中的光照 ●Direct3D中的材质 ●光照和材质例子 章节重点: Direct3D中的光照Direct3D中的材质 第十章纹理映射 本章包含的全部知识点:●纹理贴图 ●纹理坐标 ●纹理寻址模式 ●纹理过滤

《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.LPD3DXFONT B.LPDIRECT3D9 B.C.LPDIRECT3DDEVICE9 D.RECT ★考核知识点: Win32程序框架实现

南开19春学期(1503、1509、1603、1609、1703)《DirectX程序设计》在线作业1答案

南开19春学期(1503、1509、1603、1609、1703)《DirectX程序设计》在线作业-1 4、C 一、单选题共22题,44分 1、替换顶点处理的部分叫做() A像素着色器 B着色器 C顶点着色器 D可编程着色器 本题选择是:? 2、灵活顶点格式是描述顶点的()属性。 A顶点坐标 B顶点数据相关属性 C法线方向 D纹理坐标 本题选择是:? 3、()是图形中最基本的几何对象。 A点 B线 C向量 D三角形 本题选择是:? 4、()是应用程序第一个创建而最后一个释放的对象。 ADirect3D设备对象 BCOM组件对象 CDirect3D对象 D类工厂对象 本题选择是:? 5、三维物体变为二维图形的变换称为( )。 A平行投影 B旋转变换 C投影变换 D缩放变换 本题选择是:? 6、Direct3D中我们使用左手坐标系来进行三维建模,左手坐标系的z轴正方向是()。A穿过纸面向里 B在纸面上向左 C穿出纸面向外 D在纸面上向右 本题选择是:? 7、Windows SDK方式的开发中,响应菜单或按钮我们需要关注的消息是: AWM_CREATE BWM_COMMAND CWM_MENU DWM_BUTTON

8、D3DCOLORVALUE结构体中包含r、g、b和a4个分量,表示物体表面对各种反射光的各种成分的反射比率。r=g=0.0 b=a=1.0;r=g=0.0 。此时红光和绿光照射过来,分析正确的是()A所有光线都被反射,材质看上去为白色 B只有红光被反射,即材质看上去为红色 C反射的光为红光和蓝光的混合色 D所有的光都不被反射,材质看上去为黑色 本题选择是:? 9、Win32程序中利用()进行消息的捕获和处理。 A循环函数 B递归函数 C回调函数 D静态函数 本题选择是:? 10、D3D9中粒子的表现图元是:() A点图元 B三角形 C公告板 D方块面 本题选择是:? 1XUT框架将与文本渲染相关的属性和接口都封装在()类中。 AID3DXFont BID3DXSprite CDIRECT3DDEVICE9 DCDXUTTextHelper 本题选择是:? 1irectX主要由硬件抽象层和硬件模拟层所构成,其中硬件模拟层的缩写为()。 AHAL BHCL CHEL DHEC 本题选择是:? 13、()缓存方式通常被放置在显存中,其中的数据能被有效地处理。 A静态缓存 B动态缓存 C两种都可以 D两种都不可以 本题选择是:? 14、()的发光区域是一个圆锥体,具有颜色、位置和发出光的方向,由一个比较亮的内圆锥和一个较大的外圆锥组成,光强由内而外逐渐减小。 A漫反射光 B聚焦光源 C镜面发射光 D点光源

DirectX程序设计

《DirectX程序设计》在线练习题(100分)知识点题型题目内容可选项答案 顶点变换单选 题 ()变换后的的几何体位于观察 坐标系中。 局部变换##取景变换## 世界变换##空间变换 B 着色器概 述单选 题 ()的功能是对进入管线的每 一个像素点进行着色处理 像素着色器##着色器## 顶点着色器##可编程着 色器 A 单选 题 ()对象是用来指定字体属性 的。 A LPDIRECT3D9 B LPD3DXFONT C LPDIRECT3DDEVICE9 D RECT B 像素着色器概述单选 题 ()对像素操作,运行于渲染 管线的光栅化处理阶段,辅助 实现诸如纹理混合、光照模型 计算或环境映射等效果 像素着色器##可编程着 色器##着色器##顶点着 色器 A Direct3D 中的光照单选 题 ()光垂直于物体时比倾斜时更 明亮。 漫反射光##环境反射光 ##镜面发射光##自发光 A 单选 题 ()光源的发光区域是一个圆锥 体。 A点光源 B方向光源 C聚焦光源 D混合光 源 C 单选 题 ()缓存方式通常被放置在显存 中,其中的数据能被有效地处 理。 A动态缓存 B静态缓 存 C两种都可以 D两种 都不可以 B 单选 题 ()可以动态地有针对地将某 些像素写入后台缓存 A深度测试 B深度缓 存 C Alpha测试 D模板缓 存 D 点和向量单选 题 ()可以用来判断向量叉乘值的 方向。 左手定则##右手定则## 左手坐标系##右手坐标 系 B 深度缓存与深度测 试单选 题 ()是Direct3D用来存储绘制 到屏幕上的每个像素点深度信 息的一块内存缓冲区 广度缓存##深度缓存## 深度测试##广度测试 B 单选 题 ()是HAL设备的变体,只支持 硬件顶点处理。 A在不同设备上的混合 顶点处理模式 B纯软 件模式 C在同一设备上的混合 顶点处理模式 D纯硬 件模式 D 单选 题 ()是Win32编程的基础。 A消息机制 B窗口过 程 C消息机制或窗口过程 D

南开13秋学期《DirectX程序设计》在线作业 答案

13秋学期《DirectX程序设计》在线作业此套答案96分,多选题1,2答案有误(1,2题答案不是ABCD,ABC,ACD,ABD) 一、单选题(共 22 道试题,共 44 分。) V 1. cube.x文件内容解释:“xof”标识这是() A. X文件 B. DirectX版本 C. 模板 D. 浮点数 满分:2 分 2. Direct3D中使用的是()。 A. 左手坐标系 B. 右手坐标系 C. 两个都可以 D. 两个都不是 满分:2 分 3. ()变换后的的几何体位于观察坐标系中。 A. 局部变换 B. 取景变换 C. 世界变换 D. 空间变换 满分:2 分 4. ()光垂直于物体时比倾斜时更明亮。 A. 漫反射光 B. 环境反射光 C. 镜面发射光 D. 自发光

满分:2 分 5. 在DirectX的光照模型中,( )是由光源发出经多次散射而无法确定其方向的光 A. 漫反射光 B. 镜面发射光 C. 环境反射光 D. 自发光 满分:2 分 6. 创建的字体对象也是一种占用内存的资源对象,也要遵循() 的准则适时释放它。 A. 最先申请,最后释放 B. 最先申请,最先释放 C. 申请和释放没有顺序约束 D. 以上说法都不正确 满分:2 分 7. 一个Mesh由一个或数个子集组成,每一个都包含Mesh中的使用相同属性的渲染的一组三 角形,绘制它中的所有三角形的函数名为() A. DrawTriSubset B. DrawMesh C. DrawTri3D D. DrawSubset 满分:2 分 8. 利用模板缓存来阻止对后台缓存村长哦功能某些特定区域进行绘制,判定是否将某个像素写 入后台缓存的决策过程称为() A. 模板测试 B. 深度缓存 C. 深度测试 D. Alpha测试 满分:2 分 9. ()是一个中心点向空间各个方向等强度发射光线的光源。 A. 方向光源 B. 聚焦光源

[南开大学]《DirectX程序设计》19秋期末考核(答案参考)

【奥鹏】-[南开大学]《DirectX程序设计》19秋期末考核 试卷总分:100 得分:100 第1题,Windows SDK方式的开发中,响应菜单或按钮我们需要关注的消息是: A、WM_CREATE B、WM_COMMAND C、WM_MENU D、WM_BUTTON 正确答案:B 第2题,()是Direct3D用来存储绘制到屏幕上的每个像素点深度信息的一块内存缓冲区 A、广度缓存 B、深度缓存 C、深度测试 D、广度测试 正确答案:B 第3题,()是图形中最基本的几何对象。 A、点 B、线 C、向量 D、三角形 正确答案:A 第4题,利用模板缓存来阻止对后台缓存村长哦功能某些特定区域进行绘制,判定是否将某个像素写入后台缓存的决策过程称为() A、模板测试 B、深度缓存 C、深度测试 D、Alpha测试 正确答案:A 第5题,()对象是用来指定字体属性的。 A、LPD3DXFONT B、LPDIRECT3D9 C、LPDIRECT3DDEVICE9 D、RECT 正确答案:A 第6题,DirectX9中发布了高级着色器语言,是()

A、GLSL B、HLSL C、Cg D、C++ 正确答案:B 第7题,()变换后的的几何体位于观察坐标系中。 A、局部变换 B、取景变换 C、世界变换 D、空间变换 正确答案:B 第8题,()的功能是对进入管线的每一个像素点进行着色处理 A、像素着色器 B、着色器 C、顶点着色器 D、可编程着色器 正确答案:A 第9题,以下哪个释放顺序是正确的。 A、Direct3D对象、Direct3D设备对象 B、Direct3D设备对象、Direct3D对象 C、顺序任意 D、无需释放 正确答案:B 第10题,()是一个由相互连接的线段组合成的造型,程序可用它产生不封闭的多边形。 A、点列表 B、线段列表 C、线段条带 D、三角形列表 正确答案:C 第11题,D3D中的常见的矩阵变化( ) A、旋转 B、缩放 C、平移 D、组合变换

相关主题
相关文档
最新文档