- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DirectX三维文字及地形场景实验-分析
《DX三维文字及地形场景实验》 实验报告 实验目的 实验内容和要求实验主要仪器设备和材料 计算机,实验 在DirectX中通过D3DXCreateFontIndirect方法来创建一个ID3DXFont接口: HRESULT?WINAPI?D3DXCreateFontIndirect(? LPDIRECT3DDEVICE9?pDevice, // 当前所使用的设备 CONST D3DXFONT_DESC?*pDesc, // 字体描述结构 LPD3DXFONT?*ppFont // 返回的字体接口 ); 当获得了一个ID3DXFont接口以后,可以方便地利用ID3DXFont接口的DrawText方法来输出文字: INT ID3DXFont::DrawText( LPCSTR pString, INT Count, LPRECT pRect, DWORD Format, D3DCOLOR Color ); 范例代码如下: Font-DrawText( Hello World, // 待输出字符串 -1, // NULL结尾(Null terminating)的字符串 rect, // 决定文字输出到屏幕的位置 DT_TOP | DT_LEFT, // 在指定RECT的左上角输出 0xff000000 // 文字颜色:黑色 ); 用具有不同高度、不同颜色的三角形网格来创建高山和低谷,以此模拟一个真实的地形。高度图是一个储存了地形各个顶点高度数据的数据集合。可以用硬盘上的图片来为地形加上纹理,也可以用程序生成地形纹理。通过计算每个方格的阴影因子来标识这个方格究竟会有多亮/多暗。阴影因素由光线向量与方格的法线向量之间的角度来计算。让摄像机在场景中移动时,需要寻找当前所处的三角形。然后,计算三角形上的两个向量,这两个向量尾部相接,且与三角形的两边重合。通过一个左上角在原点的单位化方位的x坐标与z坐标为参数,在这些向量上进行线性内插,从而求出高度值。 Terrain类提供下面两个方法来访问和修改高度图中的元素: int Terrain::getHeightmapEntry(int row, int col) { return _heightmap[row * _numVertsPerRow + col]; } void Terrain::setHeightmapEntry(int row, int col, int value) { _heightmap[row * _numVertsPerRow + col] = value; } Terrain类提供了两种方法来为地形加上纹理,较简单的方法是载入并使用一个先前做好的纹理图。Terrain类中实现了下面的方法,把图片文件中的纹理数据载入到IDirect3DTexture9对象中,并使用_tex指针指向它。Terrain::draw方法在渲染地形之前将会设置_tex的值。具体参见教材P216。 实验报告内容: 程序结果分析 源程序 #include d3dUtility.h #include terrain.h #include camera.h #include cube.h #include vertex.h #include pSystem.h #include cstdlib #include ctime // // Globals // IDirect3DDevice9* Device = 0; const int Width = 1000; const int Height = 700; ID3DXMesh* Objects[4] = { 0, 0, 0, 0 }; D3DXMATRIX Worlds[4]; D3DMATERIAL9 Mtrls[4]; ID3DXMesh* Object; D3DXMATRIX World; D3DMATERIAL9 Mtrl; psys::PSystem* Sno = 0; //Camera TheCamera(Camera::AIRCRAFT); Cube* Box = 0; D3DXMATRIX World1; IDirect3DTexture9* Tex = 0; Terrain* TheTerrain = 0; Camera TheCamera(Camera::LANDOBJECT); ID3DXMesh* Text = 0; // Framework Functions bool Setup() { // Create the terrain. D3DX
您可能关注的文档
- AAA以《中国石拱桥》和《苏州园林》为例,探究说明文中说明方法的作用分析.ppt
- Dijkstra算法分析.ppt
- ABAP开发基础:基础、内表、select语句问题分析.ppt
- ABB-UNITROL5000调节器在百万机组中的应用分析.docx
- 云湖天仙旅游度假区规划解析.ppt
- ABB高级培训之多任务系统分析.ppt
- ABner_zhang毕业论文答辩分析.ppt
- abaqus视频教程辉墨点睛高清版目录分析.ppt
- DIP-3分析.ppt
- ABB机器人基础培训分析.ppt
- 高考是生物一轮复习 核酸.pptx
- 第13课 现代战争与不同文化的碰撞和交流(课件)高二历史下册课件(选择性必修3).pptx
- 《英语》(新标准)小学修订版三年级下册Unit 1分层教学设计.docx
- 《英语》(新标准)小学修订版三年级下册Unit 6分层教学设计.docx
- 《英语》(新标准)小学修订版三年级下册Unit 2分层教学设计.docx
- 《英语》(新标准)小学修订版三年级下册Unit 3分层教学设计.docx
- 《英语》(新标准)小学修订版三年级下册Unit 5分层教学设计.docx
- 2.3.3 真菌(第二课时)七年级生物上册课件(人教版2024).pptx
- 《英语》(新标准)小学修订版三年级下册Unit 4分层教学设计.docx
- 6.3价值的创造和实现 高中政治课件.pptx
有哪些信誉好的足球投注网站
文档评论(0)