1 / 25
文档名称:

directX彩色图形绘制实验实验三报告.doc

格式:doc   大小:277KB   页数:25页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

directX彩色图形绘制实验实验三报告.doc

上传人:fangjinyan2017001 2019/5/22 文件大小:277 KB

下载得到文件列表

directX彩色图形绘制实验实验三报告.doc

相关文档

文档介绍

文档介绍:实验三DirectX彩***形绘制实验实验报告项目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(-,,,D3DCOLOR_XRGB(255,0,0)); v[1]=ColorVertex(,,,D3DCOLOR_XRGB(0,255,0)); v[2]=ColorVertex(,,,D3DCOLOR_XRGB(0,0,255)); Triangle->Unlock();将 v[1]=ColorVertex(,,,D3DCOLOR_XRGB(0,255,0));改为 v[1]=ColorVertex(,,,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)的调用。实现彩色立方体的渲染。列出彩色顶点数据的使用步骤,说明顶点数据结构的定义、缓冲区创建、顶点数据设置、缓冲区数据设置到渲染引擎,渲染状态设置为插值模式,渲染等各个步骤对应的语句。在例程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;onstDWORDFVF;};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);//verticesofaunitcube vertices[0]=ColorVertex(-,-,-,D3DCOLOR_XRGB(255,0,0)); vertices[1]=ColorVertex(-,,-,D3DCOLOR_XRGB(255,0,0)); vertices[2]=C