《DirectX程序设计》期末试卷及答案_第1页
《DirectX程序设计》期末试卷及答案_第2页
《DirectX程序设计》期末试卷及答案_第3页
《DirectX程序设计》期末试卷及答案_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-1-一、选择题(本题共10 小题,每小题3 分,共 30 分。单选或者多选)1为了求平面的法向量,我们通常的方法是找到平面上相互不平行的两个向量,求他们的(c ) 。a点积b相加c叉积d相减2. 为了能够用alpha 分量来描述像素的透明度,必须将源混合因子和目标混合因子分别设置为(b ) 。a d3dblend_zero和 d3dblend_onebd3dblend_srcalpha和 d3dblend_invsrcalphac d3dblend_srccolor和 d3dblend_invsrccolor d d3dblend_srcalpha和 d3dblend_destalpha3.

2、 在 direct3d 中,我们可以自由定义顶点的格式,下面哪个不是灵活顶点格式的标记(d) 。a. d3dfvf_normal b. d3dfvf_xyzc. d3dfvf_tex1 d. d3dfvf_tex4以下哪些项是对表面像素深度缓存的格式描述的枚举常量(ad) 。ad3dfmt_d32bd3dfmt_dxt1cd3dfmt_r8g8b8dd3dfmt_d24s85. 在进行纹理映射的时候,为了调整纹理的大小去适应屏幕三角形的大小,我们通过设置纹理过滤器来设置纹理的过滤方式,通常需要设置的过滤器有(abc) 。a放大过滤器b缩小过滤器c多级渐进纹理过滤器d线性过滤器6direct3d

3、 中的三种基本的变换类型不包括下面的哪项(b ) 。a比例变换b翻转变换c平移变换d旋转变换7当需要对场景进行矩阵m 的投影变换,选择下面的(a ) 。adevice-settransform(d3dts_projection, &m); bdevice-settransform(d3dts_world, &m);cdevice-settransform(d3dts_texture0, &m); ddevice-settransform(d3dts_view, &m);8通过(b)技术,我们可以将2d 图像数据映射到3d 图元上,以增强场景的真实感。a.模板b.

4、纹理映射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、在进行深度测试的时候,距离摄像机近的像素颜色将替代

5、后台缓存中对应像素的颜色值。4、在光栅化过程中,如果每个图元的每个像素都被一致地赋予该图元的第一个顶点所指定的颜色,则可推断当前的着色模式是平面着色。5、在 direct3d 的光照模型中,光源发出的光由三种类型的光组成,它们分别是:环境光、漫反射光、镜面光。6、我们通过指定物体的材质来模拟现实世界中物体通过吸收和反射光线来表现其颜色。-2-7、我们使用顶点缓存接口的lock 和unlock 方法来对其进行锁定和解锁。8、常用的四种纹理寻址模式是重复、边界颜色、箝位、镜像。9、d3dcolor类型共有32 位,被分为四个八位项,它们从高位到低位分别表示:alpha 分量、红色分量、绿色分量、蓝

6、色分量。三、判断题(本题共10 小题,每题1 分,共 10 分。请将答案以“” 、 “” 形式填入题后括号中。 )1、directx只能应用在windows平台上开发游戏和其他高性能的多媒体应用程序。()2、实现混合效果时,alpha 信息的唯一来源就是所设定的纹理的alpha 通道。( )3、为简化绘制工作,近裁剪面和投影平面是合二为一的,为平面z1。()4、左手坐标系和右手坐标系的区别就是他们的三个坐标轴的方向都是相反的。( )5、direct3d的观察坐标系中,默认状态下,顶点的排列顺序为逆时针的三角形单元是正面朝向的。()6、光源结构d3dlight9中的 direction成员对于点

7、光源是没有意义的。()7、模板缓存的分辨率与后台缓存的分辨率完全相同。()8、在 direct3d中,最多只能设置4 层纹理。()9、direct3d中,灵活顶点格式标记的指定顺序可以与顶点结构中相应类型数据定义的顺序不一致。()10、我们通过使用渐进网格可以获得比原始网格更加丰富的细节。()四、简答题(本题共20 分)1、请列出初始化direct3d 的几个步骤。 (6 分)获取 idirect3d9接口的指针;检查设备性能(d3dcaps9 ) ;初始化一个d3dpresent_parameters结构实例;利用已经初始化好的d3dpresent_parameters结构创建一个idire

8、ct3ddevice9对象。2、写出下面几个名词的英文单词。(8 分)( 1)光照: lighting( 2)矩阵: matrix( 3)着色: shading( 4)裁剪: clipping-3-( 5)粒子: particle( 6)网格: mesh( 7)材质: materials( 8)视口: viewport3、 请列出使用directinput读取键盘输入的主要步骤。(6 分)创建 idirectinput接口对象;创建 directinput设备对象;设置 directinput设备的数据格式;设置 directinput设备的协调级别;设置 directinput设备的属性;获

9、取输入设备的访问权;读取键盘的输入。五、综合题(本题共20 分)使用顶点缓存绘制一个如下图所示的金字塔(不绘制底面),其 4 个侧面都使用ice.bmp 进行纹理映射,并处于白色点光源的照射下,点光源的位置在世界坐标系(-5,0,0)处,其运动方式是绕y 轴不断的旋转。请按题目要求写出相关的关键代码。对顶点结构体的定义(包括灵活顶点格式)(4 分) struct vertex vertex() vertex( float x, float y, float z, float nx, float ny, float nz, float u, float v) _x = x; _y = y; _z

10、 = z;_nx = nx; _ny = ny; _nz = nz;_u = u; _v = v; float _x, _y, _z, _nx, _ny, _nz, _u, _v; ;#define fvf_vertex (d3dfvf_xyz | d3dfvf_normal | d3dfvf_tex1)假设在主程序文件中已经定义了两个全局变量:idirect3ddevice9* device = 0; /设备接口(已创建好设备)idirect3dvertexbuffer9* pyramid; / pyramid用于保存金字塔的顶点数据写出创建顶点缓存的代码。(4 分)device-creat

11、evertexbuffer(12 * sizeof(vertex), d3dusage_writeonly,fvf_vertex,d3dpool_managed,&pyramid,-4-0);创建题目要求的光源,设置并启用光源,写出相关的代码。(4 分)d3dlight9 point ;:zeromemory(&point, sizeof(point);point.type = d3dlight_point;point.diffuse = d3dxcolor(1.0f,1.0f,1.0f,1.0f);point.specular = d3dxcolor(1.0f,1.0f,1.

12、0f,1.0f) * 0.3f;point.ambient = d3dxcolor(1.0f,1.0f,1.0f,1.0f) * 0.6f;point.position = d3dxvector3(-5.0f, 0.0f, 0.0f);point.range = 1000.0f;point.attenuation0 = 1.0f;point.attenuation1 = 0.0f;point.attenuation2 = 0.0f; device-setlight(0, & point); device-lightenable(0, true);假设在主程序文件中已经定义了一个全局变量tex:idirect3dtexture9* tex = 0; / 存储纹理的接口对象写出加载纹理和设置相关的纹理过滤器的代码。( 4分)d3dxcreatetexturefromfile(device, ice.bmp , &tex);device-settexture(0, tex); device-setsamplerstate(0, d3dsamp_magfilter, d3dtexf_linear); device-setsamplerstate(0, d3dsamp_minfilter, d3dtexf_linear); device

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论