电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

多媒体技术之DirectX编程入门VIP免费

多媒体技术之DirectX编程入门_第1页
1/69
多媒体技术之DirectX编程入门_第2页
2/69
多媒体技术之DirectX编程入门_第3页
3/69
第13章DirectX编程入门DirectX是微软公司为编写游戏和其他高性能多媒体应用程序而开发的一组高级的Windows低层API,它包含了对图(图形、视频和三维动画)、声音(声效与音乐)、输入设备和网络游戏等的支持。本章先概述DirectX的基本内容,然后介绍DirectX的主要组件Direct3D和DirectSound的基本编程方法,并给出若干具体编程实例。13.1DirectX概述本节简单介绍DurectX的发展历史、版本和功能的演化、结构和模块划分。DurectX是Windows的一种多媒体API,它在保持设备无关性的同时,可以让应用程序直接控制多媒体设备,从而能充分利用硬件的功能,因此可获得最高的性能。DurectX自从推出以来,就始终处在快速发展的过程之中。它已经经历了多个版本,其模块和功能也一直在不断地增加和完善。DirectX是一种基于COM的系统,主要由硬件抽象层HAL和硬件模拟层HEL所构成。DurectX被分成若干个组件模块,涵盖了多媒体应用的方方面面。而且这些组件的数目、名称和功能,也是随着其版本的演化而有所增减、改变和加强。13.1.1历史微软公司于1990年5月推出的Windows3.0大获成功,它是一种与设备无关的具有图形用户界面(GUI)的操作系统。后来又于1992年3月推出Windows3.1,提供了对多媒体的支持。不过Windows的与设备无关的设计思想,虽然使得Windows向程序员提供了一个独立于硬件的软件开发优秀平台,但它不让应用程序直接操作显卡和声卡等多媒体硬件,这样就降低了多媒体应用程序(特别是计算机游戏)的运行效率,例如限制了动画的帧率、不提供混音功能等。所以当时的Windows并不是一个可以开发和运行高效多媒体程序(如3D游戏)的理想环境,逼迫PC游戏开发商只好绕开Windows而仍旧开发DOS下的游戏。为了改变这种难堪的局面,促使游戏界放弃DOS而使用Windows,微软需要在设备无关性与高性能之间取得某种平衡,决定为Windows添加一种高性能的动画机制(以及后来的输入与音响等),因此于1995年推出了GameSDK,后来改名为DirectX。其中的Direct指可以直接访问多媒体硬件;X指它的不同组成部分,如Direct3D、DirectSound、DirectInput和DirectPlay等。13.1.2版本与功能因为DirectX必须支持多媒体设备的最新技术和功能,而多媒体硬件(尤其是显卡[的3D性能])和技术始终处在高速发展过程中,所以DirectX的技术和版本也同样在不断地发展和演变,其中发展最快的是3D接口部分。下面列出DirectX的主要版本的发布时间、引入的新模块和特性:1.0——1995年9月30日:DirectDraw、DirectSound、DirectInput、DirectPlay、DirectSetup;2.0——1996年6月5日:引入Direct3D(次版本有2.0a);3.0——1996年9月15日:支持MMX、为DirectSound补充DirectSound3DAPI(次版本有3.0a);4.0——无此版本号;5.0——1997年7月16日:有许多改进,如受力反馈控制器、多显示器支持、新的游戏控制面板、用户界面的全面改进等(次版本有5.1和5.2);6.0——1998年8月7日:添加新的3D特性(如添加DXUT框架)、支持AMD公司的3DNow!技术、性能较5.0有提高。在1999年2月3日推出的6.1版中,添加了DirectMusic模块;7.0——1999年9月22日:改进3D图形和声音、性能更快,为Direct3DAPI引入硬件传送、光照和纹理压缩、以及硬件加速,引入D3DX工具库。使用Creative公司的EAX技术改进3D声音的算法(次版本有7.0a和7.1);8.0——2000年9月30日:将DirectDraw与Direct3D完全集成在一起、其中Direct3D的性能有了本质上的飞跃(引入顶点/像素shader[着色引擎/光照模型]、支持硬件点精灵和三维体纹理),将DirectMusic与DirectSound更紧密地集成在一起构成DirectXAudio,更新了DirectInput与DirectPlay,添加了DirectShow、抛弃了其余的DirectXMedia模块。2001年11月11日推出的8.1版,被集成在WindowsXP中销售,该版本添加了从DirectShow分离出的DMO(DirectXMediaObjects媒体对象)组件模块。它还支持许多新的图形特性,如像素着色引擎的1.2~1.4版、动态/高分辨率纹理、新3D扩展方法等(次版本有8.0a、8.1、8.1a和8.1b);9.0——2002年12月24日:添加许多新特性到DirectXGraphics和DirectShow中,例如将DirectDr...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

多媒体技术之DirectX编程入门

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部