directX游戏编程实验三吴凉凉 2012329700012 - 副本.doc
上传人:qw****27 上传时间:2024-09-11 格式:DOC 页数:7 大小:199KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

directX游戏编程实验三吴凉凉 2012329700012 - 副本.doc

directX游戏编程实验三吴凉凉2012329700012-副本.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

浙江理工大学《DirectX游戏编程》实验报告2013~2014学年第1学期学院信息学院班级12数字媒体技术1班姓名吴凉凉学号2012329700012任课教师(上课时间:第10周345节)数字媒体技术专业2014年4月30日《DirectX游戏编程》实验报告实验名称:DirectX彩色图形绘制实验实验地点:机1所使用的工具软件及环境:安装Windows操作系统(WindowsXp)和VC的1台计算机。一、实验平台WindowsXPprofessional操作系统。VC6.0集成开发环境.二、实验内容及结果项目1:DirectX彩色三角形渲染实验在例程ColorTriangle的基础上,完成以下步骤:修改彩色顶点数据,实现三个不同的彩色三角形渲染。修改三角形顶点的颜色值,使三个三角形分别为红、黄、蓝三种不同的颜色。原代码图像更改左边三角型渲染模式得到的图像,将平面模式渲染三角形改为用Gouraud模式渲染三角形Device->SetRenderState(D3DRS_SHADEMODE,D3DSHADE_FLAT);改为Device->SetRenderState(D3DRS_SHADEMODE,D3DSHADE_GOURAUD);改变顶点颜色ColorVertex*v;原代码语句Triangle->Lock(0,0,(void**)&v,0);v[0]=ColorVertex(-1.0f,0.0f,2.0f,D3DCOLOR_XRGB(255,0,0));v[1]=ColorVertex(0.0f,1.0f,2.0f,D3DCOLOR_XRGB(0,255,0));v[2]=ColorVertex(1.0f,0.0f,2.0f,D3DCOLOR_XRGB(0,0,255));Triangle->Unlock();将v[1]=ColorVertex(0.0f,1.0f,2.0f,D3DCOLOR_XRGB(0,255,0));改为v[1]=ColorVertex(0.0f,1.0f,2.0f,D3DCOLOR_XRGB(255255,0));得到三个顶点为红黄蓝的三角形项目2:DirectX彩色立方体渲染实验在例程Cub的基础上,完成以下步骤:修改立方体顶点数据,将顶点数据格式从Vertex结构改为ColorVertex结构,顶点颜色都设为红色(D3DCOLOR_XRGB(255,0,0))。注意Device->CreateVertexBuffer()函数的参数设置,以及ColorVertex顶点数据的设置。修改Display()函数中的Device->SetStreamSource()函数和Device->SetFVF()函数的参数设置,以及增加Device->SetRenderState(D3DRS_SHADEMODE,D3DSHADE_GOURAUD)的调用。实现彩色立方体的渲染。列出彩色顶点数据的使用步骤,说明顶点数据结构的定义、缓冲区创建、顶点数据设置、缓冲区数据设置到渲染引擎,渲染状态设置为插值模式,渲染等各个步骤对应的语句。顶点数据结构的定义structColorVertex{ColorVertex(){}ColorVertex(floatx,floaty,floatz,D3DCOLORc){_x=x;_y=y;_z=z;_color=c;}float_x,_y,_z;D3DCOLOR_color;staticconstDWORDFVF;};constDWORDColorVertex::FVF=D3DFVF_XYZ|D3DFVF_DIFFUSE;缓冲区创建Device->CreateVertexBuffer(8*sizeof(ColorVertex),D3DUSAGE_WRITEONLY,ColorVertex::FVF,D3DPOOL_MANAGED,&VB,0);顶点数据设置ColorVertex*vertices;VB->Lock(0,0,(void**)&vertices,0);//verticesofaunitcubevertices[0]=ColorVertex(-1.0f,-1.0f,-1.0f,D3DCOLOR_XRGB(255,0,0));vertices[1]=ColorVertex(-1.0f,1.0f,-1.0f,D3DCOLOR_XRGB(255,0,0));vertices[2]=ColorVertex(1.0f,1.0f,-1.0