directX游戏编程实验_第1页
directX游戏编程实验_第2页
directX游戏编程实验_第3页
directX游戏编程实验_第4页
directX游戏编程实验_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

任课教师:张海翔《DirectX角色游戏编程》(2011-2012学年第2学期)实验报告学号:E10700206姓名:吴慧峰班级:10数媒(2)班浙江理工大学信息学院实验指导书实验名称:DirectX三维文字场及地形景实验学时安排:3实验类别:综合设计型实验实验要求:1人1组 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄一、实验目的(1)通过实验,运用DirectX三维图形编程的知识、原理和技术;(2)掌握在综合三维场景的基础上,设计一个三维文字及地形的实现方法;(3)通过使用VC++编程环境实现三维场景中的三维文字及地形的设计。二、实验仪器计算机,VC++2005语言程序设计环境和DirectX三维图形开发环境三、实验原理D3DX库是使用ID3DXFont接口来在Direct3D应用程序中输出文字的。这个接口通过GDI(图形设备接口)来输出文字,因此用这个接口完成任务的时候会有些效率上的损失。但是,运用了GDI,ID3DXFont可以处理复杂的文字和文字格式。在DirectX中通过D3DXCreateFontIndirect方法来创建一个ID3DXFont接口:HRESULT

WINAPI

D3DXCreateFontIndirect(

LPDIRECT3DDEVICE9

pDevice, //当前所使用的设备CONSTD3DXFONT_DESC

*pDesc,//字体描述结构LPD3DXFONT

*ppFont //返回的字体接口);当获得了一个ID3DXFont接口以后,可以方便地利用ID3DXFont接口的DrawText方法来输出文字:INTID3DXFont::DrawText(LPCSTRpString,INTCount,LPRECTpRect,DWORDFormat,D3DCOLORColor);范例代码如下: Font->DrawText("HelloWorld", //待输出字符串建立点光源:最后释放内存:实验结果:制作好立方体与茶壶后添加到地形文件terrainDriver.cpp中,修改世界坐标使它们能浮现在地形上面改变立方体旋转方式,使其绕y轴旋转,这里由于不会使物体绕其本身的的轴旋转,如果按照之前绕x和y轴旋转的话就是在做类似地球公转的运动,如下图:实验结果:在terrainDriver.cpp中添加文字:定义两个文字接口:,把定义的世界坐标Worlds改为有两个元素是数组Worlds[0]表示茶壶的世界坐标,Worlds[1]表示文字Text的时间坐标,在boolsetup()里声明Worlds[1]的世界坐标位置:在Display()函数中画出文字:在Cleanup()中加入实验结果:在地形文件中加入pSystem.h和pSystem.cpp文件。定义雪花和烟花:在setup()中建立雪花和烟花:在Display()中画出雪花和烟花:开始时把雪花画在了地形的前面出现了下面的结果,不知道出现了什么问题,后来才发现了。实验结果:五、心得体会虽然这次实验做出了效果,也让我更深入地了解了DirectX关于世界坐标、纹理、例子系统及在画物体时的先后顺序,但还是存在很多的问题需要解决,在绘制立方体的纹理时,不是很难,其他代码书上也有例子可以参考,所以代码的问题不是很大,但在让这些出现在地形上碰到了很多问题,刚开始的时候不知道,做好时一直没有出现立方体和茶壶等,改变了它们的世界坐标位置后发现之前cube里立方体是绕x和y轴旋转的,改变位置后台还是这样的,想把它改成绕自己的轴旋转,但不会,也找不到这样的资料,未来有效果就只好改成绕y轴旋转;在做三维文字的时候,也不会修改其字体大小和朝向;制作雪花的时候,想改成自己想要的图片,但不知道为什么产生的效果就跟把雪花画在地形

温馨提示

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

评论

0/150

提交评论