对于众多的游戏爱好者和游戏设计者来说,一定不会陌生MicrosoftDirectX吧,就是我们经常玩3D游戏需要的DX的支持,在Win98第二版已经包含其7.0的版本,现在微软公司中推出8.0的最新版本。该技术及工具DirectXSDK为广大的程序员提供了一整套的应用程序接口API,使程序员能够设计新一代的高性能实时的多媒体应用程序。DirectXSDK7.0在保持原有VisualC++支持的同时,新加入对VisualBasic的接口。这可是对VB情有独钟的电脑爱好者的福音呀,快快去下载7.0的最新版本(128MB,http://www.microsoft.com/directx/)。
在Microsoft最初创建Direc?tX时,其中最主要的目的是提倡将游戏向Windows操作系统发展。在DirectX之前,大多数游戏都以个人计算机MS-DOS为操作系统。开发这些游戏必须针对各种不同的硬件编制不同的程序模块,尽管代码可以拷贝、粘贴,但不可避免地存在许多的重复劳动,大家一定还记得以前在MS-DOS下开发声音模块,需要针对市面上的各种声卡芯片,面对一大堆芯片的Readme和技术接口参数,有些不知名的芯片甚至还没有资料,真是急人。而现在有了Direc?tX,游戏开发者便可受益于与硬件无关性,一切都可以放心地交给Windows内部去处理,Windows会调用已安装的声卡驱动程序来完成,同时仍然能直接访问操作硬件,如DirectDraw的最大优点是直接操作显存来加快显示的速度。DirectX另一个主要目的是提供一个现今使用MS-DOS下的应用程序可移动访问的特性,用于更好地访问利用基于MS-DOS下的应用程序,并消除个人电脑上的硬件识别障碍。
此外,Microsoft发展DirectX目的是提供基于Windows的高性能应用程序,即时访问操作现在及将来一切可用的计算机硬件。DirectX提供应用程序与硬件间坚实可靠的接口操作,减轻安装设置及体现硬件优越性能的复杂程度。使用DirectX提供的接口,使软件开发者在不了解硬件的详细资料的状况下也能充分发挥硬件特性。
DirectX主要包括七个部分,下面对各部分作简要说明。
1、DirectDraw是DirectX应用程序编程接口(API)的一个部件。它使得你可以直接地对显存操作,硬件位图映射(HardwareBlit?ter),支持硬件覆盖及换页技术(FlippingSurface)。DirectDraw提供这些功能的同时保证了对现有基于Windows的应用程序及设备驱动程序的兼容。通过支持访问屏外显示内存中位图的软硬件加速技术,快速直接存取。
2、DirectSound提供软硬件声音混合和录音再生功能。
DirectMusic是DirectX的音乐组成部分,是SDK6.0以上版本才出现的。不像DirectSound,是为了捕捉和回放数字音频,DirectMusic是工作于一组基于音乐的数据。
3、DirectPlay能使游戏通过调制解调器衔接或在网络环境下连接更加简单方便。
4、Di?rect3D提供一个高级别的保留接口模式(Retained-Mode),使应用程序更容易地实现一个完整三维图形系统,及一个低级别底层接口模式(Immediate-Mode),使应用程序完全控制整个绘制着色管道。
5、DirectInput提供游戏的输入兼容性,介于现在及将来的基于Windows的硬件输入API及驱动程序之上。现已支持游戏杆,鼠标,键盘及力反馈设备。
6、DirectSetup提供DirectX一次性安装程序。
7、AutoPlay就是在光盘放入后自动执行在AutoRun的内容功能,在放入CD或游戏盘后会自动读取或安装。实际上,不仅是DirectXSDK中,早在Win32API就有自动播放功能。
初学者应该重点关注一下在DirectXSDK文档中的例程代码,学习这些代码是搞懂DirectX最佳方法,例程在\MSSDK\Samples\Multimedia目录中。(刘安峰)
|