DirectX5.0最新游戏编程指南
综述篇
武汉 朱春喜 & 吴佳鲜
对于众多的游戏制作者来说,Microsoft的DirectX 5的推出不啻是一个极好的消息。它包含了编制下一代计算机游戏和多媒体应用程序的最新技术和工具,为广大的程序员提供了一整套的应用程序接口API,使程序员能够设计高性能实时的应用程序。DirectX使运行在Microsoft Windows操作系统下的游戏比运行在 MS-DOS操作系统下的游戏具有更高的性能的更好的交互性,甚至比专用的游戏机也不遑多让。
Microsoft开发DirectX的首要目的就是要提高Windows环境下游戏开发的容易性。在此之前,个人电脑上的大部分游戏都是基于MS-DOS的,游戏开发人员必须针对不同的硬件接口卡编制不同的程序,尽管代码类似,但不可避免存在许多的重复劳动。利用DirectX, 游戏开发人员就可以获得DirectX的硬件独立性的优点,同时又可以直接访问硬件。DirectX的最主要的目标就是提供MS-DOS中直接的硬件访问特性,同时去掉个人电脑中再添加新的硬件时所带来的硬件识别问题。
因为硬件的升级是不可避免的,所以,DirectX实际上也提供了另一种即插即用的方法。因此,利用DirectX可以开发出高性能实时的应用程序,可以直接访问计算机中的硬件和将来系统中回具有的硬件设备。DirectX在硬件和应用之间提供了一致的接口以减少安装和配置的复杂性,并且使硬件的利用达到最优。利用DirectX提供的接口,程序员能充分利用硬件的特性而不需要考虑其具体细节。一个优秀的基于Windows的高性能游戏应该能够利用系统的如下技术:
.为提高性能而专门设计的加速卡
.即插即用PnP(Plug and Play)
.内嵌于Windows的通信服务,包括DirectPlay
DirectX 5包括七个部分,下面对各部分作以简要说明。
(1).DirectDraw 通过支持访问屏外显示内存中位图的软硬件加速技术,快速直接存取,利用硬件的位块传输和缓冲区翻转功能。
(2).DirectSound 提供软硬件声音混合和录音再生功能。
(3).DirectPlay 使得游戏在调制解调器和网络之间的连接更加简单方便。
(4).Direct3D 提供了高级保留模式(Retained-Mode)接口和低级即时模式(Immediate-Mode)接口。前者允许程序很容易地完成一个完
全的三维图形系统,后者使得程序能完全控制着色管道。
.DirectInput 提供了基于Windows游戏的输入的API和驱动程序,它不仅支持目前的键盘、鼠标和操纵杆,也支持将来的基于Windows的输入设备。
.DirectSetup 提供了DirectX的一次性安装过程。
(7).AutoPlay 它是Windows 95的特性,当你将光盘放入光驱时,它能自动运行安装程序或游戏。事实上,AutoPlay也是Microsoft Win32 API的一部分,而不是仅存在于DirectX SDK中。.
通过查询各种DirectX对象接口,你可以检测系统中安装的是DirectX的哪个版本,DirectX SDK中的范例文件G