在DirectX9中显示平面图像的解决方案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2012-07-19在###D##ir#e#c#tX##9#中##显20示12平-07面-1图9#像##的##解#2#0#1决2-方07案-19######## 赵志坚 , 王宁生 , 梁 志 (武警警种指挥学院 教育技术中心 ,北京 昌平 100222 ) 摘 要 :介绍了 D irec tX9中两种简便地显示平面图像的方法 ,供 CA I课件开发者参考 。 关键词 : D irec tX9;平面图像 ;程序代码 中图分类号 : G433 文献标志码 : A 文章编号 : 1008 - 6714 ( 2007) 10 - 0114 - 02 D irec tX9是 M ic ro soft (美国微软公司 ) 为了支持 W in2 dow s平台上的三维游戏开发而推出 的 一 款 多媒 体 开 发 包 。它实际上是一组函数库 ,是以 COM 组件对象模型技 术提供的 A P I编程接口 。D irec tX9 主要由以下几部分组 件构 成 : D irec tX Grap h ic s、D irec t Inp u t D irec tSound、D irec t2 M u sic、D irec tP lay和 D irec tSe tup。虽然 D irec tX9 是为三维 游戏的开发而设计的 ,但同时它也是一个开发多媒体应用 程序的绝好的平台 ,用它来开发设计高水平的 CA I ( Com 2 p u ting A ssisted In struc tion)课件是个不错的选择 。 我们知道 , CA I课件的基本功能是显示文字 、图像和 动画 ,播放声音 , 提供人机交互 。显示文字可用 D irec tX9 提供的 ID3DXFon t接口 (接口提供了 D rawText函数 ) ; 显 示三维图像和动画可用 D irec tX Grap h ic s组件 ; 播放声音 应用 D irec tSound和 D irec tM u sic 组件 ; 实现人机交互基本 功能的设备输入可用 D irec t Inp u t组件 。但是 , D irec tX9 没 有提供专门显示平面图像的组件 , D irec tX8 (D irec tX9 的前 一个 D irec tX 版 本 ) 中 用 于 显 示 平 面 图像 的 组 件 D irec t2 D raw 已经组合到 D irec tX Grap h ic s组件中 。当然我们也可 以在 D irec tX9 中利用 D irec tX8 的这个接口 ,但这会给我们 的程序带来不便 。而且利用这个接口显示平面图像是很 麻烦的 , 在 这 里 就 不 介 绍 其 方 法 了 。那 么 , 如 何 在 D i2 rec tX9 中显示平面图像呢 ? 笔者通过应用 D irec tX9 编程 的实践 ,发现两种比较好用且比较简单的方法 ,供 CA I课 件的开发者们参考 。 一 、应用齐次坐标 首先介绍一下在 D irec tX中三维物体的成像过程或流 程 。D irec t3D A P I启动渲染流水线 ,装入三维场景的各顶 点信息 (坐标 、材质 、纹理等 ) ,经过世界坐标变换 、摄影坐 标变换和透视投影变换 ,最后进行裁剪和纹理??置 ,将三 维影像显示在显示设备上 。 应用齐次坐标显示平面图像的流程和显示三维图像 的流程是一样的 。不同的是在结构体的定义中加入了齐 次坐标 ,这样渲染管道流水线将不会对提供的顶点数据进 行摄影坐标变换和透视投影变换 ,也就是说可以直接将顶 点数据提供给屏幕视口进行渲染 。具体程序代码如下 : #define CU STOMV ER TEX _ FV F ( D3D FV F _XYZRHW | D3D FV F_TEX1 ) / /定义顶点格式宏 ,说明顶点数据由世界坐标 、齐次 坐标和纹理贴图构成 。这个纹理贴图所用的图像就是我 们要显示的平面图像 。 struc t CU STOMV ER TEX{ / /顶点结构体 。 floa t x, y, z, rhw; / / z坐标不起实质作用 ,但必 须得写 , rhw就是齐次坐标 。 floa t u, v; / /顶点的纹理坐标 。 } / /定义一个结构体变量 。 CU STOMV ER TEX cu stomV e rtex[ ] = { { 0. 0f, 0. 0 f, 0. 0 f, 1. 0f, 0. 0 f, 0. 0f} , { 200. 0 f, 0. 0f, 0. 0 f, 1. 0f, 1. 0 f, 0. 0 f} , { 200. 0 f, 150. 0f, 0. 0f, 1. 0 f,

文档评论(0)

zhuwenmeijiale + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档