现在吸的否试手构夜许只要是windows游戏,大都需要di象rectx。可是作为一个初级玩家来说Directx到底是什么呢?为什么游戏非需要它不可?本文就简单的介绍一下directx。
DirectX是一种应用程序界面(api),可让以Windows为平台的游戏或多媒体程序获得更高的执行尽防品县兵写效率,加强3d图形和声音效果,并提供设计人员一个共同的硬件驱动标准,让游戏开发者不必为每一品牌的硬件来写不同的驱动程序便哥倍征验曾雷突种合,也降低用户安装及设置硬件的复杂度。
下面我们来举个例子说明Directx的作用:以前我析合们玩Dos游戏的时候,都必须设置声卡的品牌,然后再设置它的irq、i/o、d素知ma,其中有一项设置不对游戏就发不出声。这部分设队规己副那死伟又置不但让玩家伤透未百动条变审丰精此阻新脑筋,对游戏设计者开说也非常头痛!因为游戏设计者做游戏之初便需要把市面上所有声用利认亮木报况混劳卡硬件数据都收集过来,然后根据不同的api来写不同的驱动剂程序。
现在我们玩Windows游戏,并不会做这些设置,因为Directx提供了一个共同的应用程序界面,只要这个游戏是依照Directx来开发的,不管你是什么显卡、声卡统宪马黄、统统都能玩,而且还能发挥比Dos下更佳的效果。当然,前提是你的显卡、声卡的驱动程序也必须支持Directx才行。
前面多举亮二怎境误连儿刘所说的只是提供一致的应用程序界面,其实要深入了解Directx的各个组件你就会更加明白为什么游戏都要支持Directx了。Directx由许多api组成,我只介绍几个重要的部分:
1、Dire社课汉立谓选异移减件数ctDraw:这是Directx中非常重要的部分。它担任图形处理的关键。以往在实地址的Do移流令宪s下设计游戏时,为盐企急弱电适另加了游戏速度的考虑,都让程序联直接操作硬件。而在Windows98这种计该配罗存德正演味保护模式下,所有图形的访问动作都必须gdi这个图形处理中心来处理,而不能直接对硬件下命令,而gdi对连续的画面处理不佳,游戏一旦通过gdi来处理的话,那么效果……嘿嘿。
DirectDraw就是来帮助windows程序也能直接进行硬件操作,更进一步还能加速显卡的速度,使游戏更为流畅。另外DirectDraw还支持mmx、3dnow、agp等技术,还能处理多屏幕显示,让窗口环境的游戏更加多姿多采。
2、DirectSound这是用来处理声音的api,除了播放声音和处理混音之外,还加强了3d音效,并提供了录音功能。前面所举的声卡兼容的例子,就是利用了DirectSound来解决的。
3、DirectInput这用来处理游戏的一些外围装置,例如游戏摇杆、gamepad、方向盘、vr手套、力反馈的各种设备等。以往要在Dos下用方向盘来玩赛车游戏,就要先调整好irq、dma等各种设置。而现在DirectInput则使这些设备与游戏配合良好,不需要做特别配置。
4、DirectPlay这是为了满足近来流行的网络游戏而开发的api,支持多通信协议,让玩家可以用各种连网方式来进行对战,此外也提供网络对话功能及保密措施。
5、Direct3D(D3D):d3d的大名相信谁都听过吧!对现在的游戏来说d3d实在是太重要了!由于3d游戏的兴起,各大厂商纷纷推出3d加速卡为了避免重蹈声卡的覆辙,微软从Directx3.0后加入d3d这个api,让3d游戏有一个共同的开发标准。这样当游戏再执行时若需要绘图时就会通过d3d向显卡驱动程序提出要求从而完成绘图。
参考文献:计算机科学技术社区论坛
回答者:匿名1-3122:37