《DirectX程序设计》模拟试题.doc_第1页
《DirectX程序设计》模拟试题.doc_第2页
《DirectX程序设计》模拟试题.doc_第3页
《DirectX程序设计》模拟试题.doc_第4页
《DirectX程序设计》模拟试题.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

北京吉利大学动漫学院DirectX9.0 3D游戏程序设计模拟样题专业_ 学号_年级_本试卷共五道大题,试卷满分100分,考试时间120分钟。题号一、二、三、四、五、总分分数一、选择题(本题共10小题,每小题3分,共30分。单选或者多选)1为了判断平面和光源的朝向关系,我们通常的方法是求取平面的法向量和光源的光线之间的( ) A点积 B相加 C叉积 D相减2. 为了能够用Alpha分量来描述像素的透明度,必须将源混合因子和目标混合因子分别设置为( )。AD3DBLEND_ZERO和D3DBLEND_ONEBD3DBLEND_SRCALPHA和D3DBLEND_INVSRCALPHACD3DBLEND_SRCCOLOR和D3DBLEND_INVSRCCOLOR DD3DBLEND_SRCALPHA和D3DBLEND_DESTALPHA3. 在Direct3D中,我们可以自由定义顶点的格式,下面哪个不是灵活顶点格式的标记( )。A. D3DFVF_NORMAL B. D3DFVF_XYZC. D3DFVF_TEX1 D. D3DFVF_TEX4以下哪些项是对表面像素深度缓存的格式描述的枚举常量( )。 AD3DFMT_D32 BD3DFMT_DXT1CD3DFMT_R8G8B8 DD3DFMT_D24S85. 在进行纹理映射的时候,为了调整纹理的大小去适应屏幕三角形的大小,我们通过设置纹理过滤器来设置纹理的过滤方式,通常需要设置的过滤器有( )。A放大过滤器 B缩小过滤器C多级渐进纹理过滤器D线性过滤器6Direct3D中的三种基本的变换类型不包括下面的哪项( )。A比例变换 B翻转变换 C平移变换 D旋转变换7当需要对场景进行矩阵M的世界坐标变换,选择下面的( )。ADevice-SetTransform(D3DTS_PROJECTION, &M); BDevice-SetTransform(D3DTS_WORLD, &M);CDevice-SetTransform(D3DTS_TEXTURE0, &M); DDevice-SetTransform(D3DTS_VIEW, &M);8通过( )技术,我们可以将2D图像数据映射到3D图元上,以增强场景的真实感。A.模板 B.纹理映射 C. 光照 D.混合9. 网格的属性缓存中的元素个数与( )相等。A. 顶点数 B. 索引数 C. 子集数 D. 面片数10. 在D3DLIGHT9结构体中,以下的哪些成员对于点光源没有意义( )。A. Position B. Direction C. Range D. Falloff二、填空题(本题共20空,每空1分,共20分。)1、法向量 是与平面垂直的向量,用于标记平面的朝向。2、列出三个D3DXCreateTextureFromFile支持加载纹理图像的格式:BMP、DDS、DIB、JPG、PNG、TGA。3、在进行深度测试的时候,距离摄像机 近 的像素颜色将替代后台缓存中对应像素的颜色值。4、在光栅化过程中,如果每个图元的每个像素都被一致地赋予该图元的第一个顶点所指定的颜色,则可推断当前的着色模式是 平面着色 。5、在Direct3D的光照模型中,光源发出的光由三种类型的光组成,它们分别是:环境光、漫射光、镜面光。6、我们通过指定物体的 材质 来模拟现实世界中物体通过吸收和反射光线来表现其颜色。7、我们使用顶点缓存接口的 Lock 和 Unlock 方法来对其进行锁定和解锁。8、常用的四种纹理寻址模式是 重复 、 边界颜色 、 箝位 、 镜像 。9、D3DCOLOR类型共有32位,被分为四个八位项,它们从高位到低位分别表示: Alpha 、 红色 、 绿色 、 蓝色 。三、判断题(本题共10小题,每题1分,共10分。请将答案以“”、“”形式填入题后括号中。)1、DirectX只能应用在Windows平台上开发游戏和其他高性能的多媒体应用程序。 (对2、实现混合效果时,Alpha信息的唯一来源就是所设定的纹理的Alpha通道。 ( 错3、为简化绘制工作,近裁剪面和投影平面是合二为一的,为平面z1。 ( 对4、左手坐标系和右手坐标系的区别就是他们的三个坐标轴的方向都是相反的。 ( 错5、Direct3D的观察坐标系中,默认状态下,顶点的排列顺序为逆时针的三角形单元是正面朝向的。( 错6、光源结构D3DLIGHT9中的Direction成员对于点光源是没有意义的。 ( 对7、模板缓存的分辨率与后台缓存的分辨率完全相同。 ( 对8、在Direct3D中,最多只能设置4层纹理。 ( 错9、Direct3D中,灵活顶点格式标记的指定顺序可以与顶点结构中相应类型数据定义的顺序不一致。( 错10、我们通过使用渐进网格可以获得比原始网格更加丰富的细节。 ( 错四、简答题(本题共20分)1、请列出初始化Direct3D的几个步骤。(6分)2、粒子系统的涵义(8分) 3、效果框架的构成有哪些(6分)五、综合题(本题共20分)使用顶点缓存绘制一个如下图所示的金字塔(不绘制底面),其4个侧面都使用ice.bmp进行纹理映射,并处于白色点光源的照射下,点光源的位置在世界坐标系(-5,0,0)处,其运动方式是绕y轴不断的旋转。请按题目要求写出相关的关键代码。 对顶点结构体的定义(包括灵活顶点格式)(4分)struct Vertex D3DXVECTOR3 vPos;D3DXVECTOR3 vNormal;D3DXVECTOR2 vTex;#define FVF_VERTEX D3DFVF_XYZ | D3DFVF_NORMAL|D3DFVF_TEX1 假设在主程序文件中已经定义了两个全局变量:IDirect3DDevice9* Device = 0; /设备接口(已创建好设备)IDirect3DVertexBuffer9* Pyramid; / Pyramid用于保存金字塔的顶点数据 把下面创建顶点缓存的代码补充完整。(4分)Device-CreateVertexBuffer(18 * sizeof(Vertex), D3DUSAGE_WRITEONLY,FVF_VERTEX,D3DPOOL_MANAGED,&Pyramid,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.0f,1.0f) * 0.3f;point.Ambient = D3DXCOLOR(1.0f,1.0f,1.0f,1.0f) * 0.6f;point.Position = _;point.Range = 1000.0f;point.Attenuation0 = 1.0f;point.Attenuation1 = 0.0f;point.Attenuation2 = 0.0f; Device-_; Device-LightEnable(0, true); 假设在主程序文件中已经定义了一个全局变量Tex:IDirect3DTexture9* Tex = 0; / 存储纹理的接口对象写出加载纹理和设置相关的纹理过滤器的代码。(4分)D3DXCreateTextureFromFile(Device, _, &Tex);Device-SetTexture(0, _); Device-SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); Device-SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR);Device-SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR); 写出绘制的代码,包括绘制的准备工作。(4分)DirectX9.0 3D游戏程序设计模拟样题参考答案及评分标准一、 选择题(103分)题号123410答案ABDADABCBBBDB二、 填空题(201分)1、法向量2、BMP、DDS、DIB、JPG、PNG、TGA等3、近4、平面着色5、环境光、漫射光、镜面光6、材质7、Lock、Unlock8、重复、边界颜色、箝位、镜像9、Alpha(分量),红色(分量),绿色(分量),蓝色(分量)三、 判断题(101分)题号123410答案四、简答题(8分,7分,5分)1、初始化Direct3D的主要步骤: 获取IDirect3D9接口的指针; 检查设备性能(D3DCAPS9); 初始化一个D3DPRESENT_PARAMETERS结构实例; 利用已经初始化好的D3DPRESENT_PARAMETERS结构创建一个IDirect3DDevice9对象。2、粒子系统的涵义:对于一些几何形态不确定的物体,如云、雾、火焰、爆炸效果等,通常我们采用一些微粒来表示,每一个为都具有下面的属性:位置、速度、加速度、颜色、生命期等,通过绘制这些微粒在不同时刻的运动轨迹来表示这些常见的自然现象。3、效果框架的构成有哪些 一个效果框架文件主要包括两部分:顶点着色器程序和像素着色器程序,效果文件;效果文件中可以包含多个技术,每种技术能使用多个过程(pass,又叫通路)在执行时,按照出现的顺序判定当前技术是否被硬件所支持,如果支持则选择当前技术执行,否则判定下一个技术,也就是说只有一个技术被执行到,一个技术中包含的每一个通路,代表一次绘制过程,有多少个通过就会执行多少次,也就是说每一个通路都会被执行到。五、综合题(本题共20分,54分) 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 = 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) Device-CreateVertexBuffer(18 * sizeof(Vertex), D3DUSAGE_WRITEONLY,FVF_VERTEX,D3DPOOL_MANAGED,&Pyramid,0);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.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); D3DXCreateTextureFromFile(Device, ice.bmp, &Tex);Device-SetTexture(0, Tex); Device-SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTE

温馨提示

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

评论

0/150

提交评论