DirectX是什么东西?大家在使用电脑时肯定会接触到它——当你的游戏或多媒体组件不能使用时,就可能需要安装它。
DirectX 是API(Application ProgrammingInterface应用程序接口)的一种,是微软公司专为PC游戏开发的多媒体标准API。API的原理是当某一个应用程序提出一个制图请求时,这个请求首先要被送到操作系统中,然后通过GDI(图形设备接口)和DCI(显示控制接口)对所要使用的函数进行选择。图形和多媒体部件驱动程序判断哪些函数可以被图形和多媒体部件芯片运算,可以进行的将被送到图形和多媒体部件进行加速。如果某些函数无法被芯片进行运算,这些工作就交给CPU进行(当然会影响系统速度)。运算后的数字信号写入帧缓存中,最后送入RAMDAC,在转换为相应信号后输出到显示器或音箱。由于API是3D程序、图形和多媒体卡之间的接口,为了使用3D加速功能,就必须使用图形和多媒体卡支持的API来编写程序,比如Direct3D或OpenGL、Glide等都是一种显示3D效果的API。
一、DirectX 的历史
DirectX是微软提出的一种API,大家在玩游戏的时候会发现缺少了相应的DirectX,游戏将无法运行,而且在安装了DirectX之后你会发现电脑性能会有很大的提高,功能也会有相应的增加。在DirectX出现之前,硬件制造厂商设计出全新的多媒体产品之后,编写一个驱动程序非常的麻烦,而且还经常会出现与硬件不兼容的情况。而DirectX的出现将这一切变得容易和简单了。
DirectX1.0 是伴随着Win95 操作系统而出现的,DirectX1.0使用了DirectDraw模块,它可以通过直接访问显示硬件来提供高级的图像处理能力,它使Windows处理2D的能力得到提高。
随着3D 图形处理的出现,DirectX2.0 应运而生。DirectX2.0首次提出了Direct3D这种对图形领域产生重要影响的API。Direct3D是一个初级的3D应用程序接口,但是其他的硬件开发人员可以在这个基础上很方便地编写出具有高性能的显卡驱动程序,在DirectX2.0中,Direct3D首创了“平滑模拟/RGB模拟”两种技术来达到3D图形的处理。此后微软又相应地推出了功能更强大的DirectX3.0。随着Win98操作系统的出现,DirectX5.0又来到了大家面前。DirectX5.0首次提出了硬件抽象层和硬件仿真层的概念,硬件仿真层概念的出现使软件可以真正与硬件剥离,而通过硬件仿真层,使硬件不支持的特性也能通过模拟算法来通过应用程序运行。DirectX5为G200、Riva128、SiS6326、9750/9850、VOODOO/VOODOO2等系列图形卡提供了动力源泉。
而DirectX6在DirectX5的基础上更进一步,它提供了DLS软波表、全新的Direct3D特性、对AMD的3DNow!指令的全面支持。而游戏爱好者对DirectX5和DirectX6留下最深印象的就是“帝国时代”等游戏在运行时需要DirectX5/6的支持。而从Win97(Win95OSR2版)开始,DirectX也开始被集成在了Windows操作系统中。DirectX6.0为TNT2、VOODOO3、Savage4、SIS300等显卡提供了支持。
DirectX7的出现是和Win2000分不开的。DirectX7开始支持DLS2,支持新的Direct3D 特效如T&L,此外D i r e c t X 7 对游戏及游戏控制器提供了更完善的支持,DirectX7为GF系列、镭系列显卡提供了支持。
二、细说DirectX8
目前,最流行的DirectX 版本就是Di r e c tX8 了。DirectX8带来了全新的概念,在DirectX8中增加了对AMD最新的Athlon、Duron 等新款CPU 的特殊指令的支持。DirectX8由以下一些组件构成。
1.DirectX Graphic(DirectX 视频)
DirectX 视频在DirectX8 中主管2D/3D 图形,DirectX8视频包含了Direct3D和DirectDraw的所有功能,它将DirectDraw 和Direct3D 完整地结合在了一起,减少了内存数据交换的时间,提升了游戏和程序的性能。此外在DirectX 8.0 中还有一些新增的功能,比如多抽样技术能够在全屏模式下利用模糊技术和色深处理达到更好的显示效果;微点技术能够将闪电、爆炸、下雨、下雪等场景显示得栩栩如生。2.DirectX Audio(DirectX音频)
DirectX Audio在DirectX8中掌管所有的声音和音乐效果,DirectX音频完成了DirectSound和DirectMusic的融合。但DirectX Audio的功能并不只是用于播放音乐,它能够充分调用硬件的加速功能、系统可下载功能以及3D特效环境来更好地营造出一个立体氛围的音乐环境。像我们平常播放MIDI、WAV或者是用麦克风来进行录音都是建立在DirectX Audio基础之上的。在DirectX 8.0中对DirectX Audio也进行了一些功能方面的增强,例如可以实现合声、扭曲、均衡等一些声音方面的特效;使用16声道以上来播放MIDI文件,并增加了对于MIDI文件播放的控制; 可以让音乐设计者便捷地控制和修改所制作的音乐片段。
3.DirectPlay(Direct游戏)
DirectPlay是一个用于连接传输协议和网络设备之间的接口程序(如图)。Direct 游戏是一个主要用于联网游戏的组件,它可以运行在采用TCP/IP 或者是IPX 协议的网络上,甚至也可以使用Modem进行连接,而且DirectPlay还为将来的协议预留了很好的扩展空间。
4.DirectInput(Direct 输入)
Direct输入主管游戏数据的输入,这些数据可以来自键盘、鼠标、游戏手柄或者其他力回馈等设备。有了它,就能让你的输入设备使用得更好更稳定。5.DirectX Application Manager(DirectX 程序管理器)DirectX 程序管理器是DirectX8 中新增的组件,主要用于简化游戏的安装过程和随后的游戏文件在硬盘中的管理和维护。
6.DirectShow
DirectShow使大家在Windows中能够欣赏高质量的影像文件,比如AVI、MP3、WAV 文件等等。随着DVD 的推出,DirectX8.0 也增强了对其的支持,如AC3 解码、卡拉OK、MPEG2 解码以及广播传输技术等。在它的帮助之下,我们可以得到更为绚丽的画面和音响效果。