星月菩提什么形状最好:什么是Direct X

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 03:02:12

Direct X是图形加速接口,有了这个,应用程序才能更直接的访问硬件资源

DirectX是一种应用程序接口,它可让以windows为平台的游戏或多媒体程序获得更高的执行效率,加强3d图形和声音效果,并提供设计人员一个共同的硬件驱动标准,让游戏开发者不必为每一品牌的硬件来写不同的驱动程序,也降低用户安装及设置硬件的复杂度。这样说是不是有点不太明白,其实从字面意义上说,Direct就是直接的意思,而后边的X则代表了很多的意思,从这一点上我们就可以看出DirectX的出现就是为了为众多软件提供直接服务的。
举个例子吧,骨灰级玩家(玩游戏比较长的)在DOS下玩游戏时,可不想我们现在,安装上就可以玩了,他们往往首先要先设置声卡的品牌和型号,然后还要设置IRQ(中断)、I/O(输入于输出)、DMA(存取模式),如果哪项设置的不对,那么游戏声音就发不出来。这部分的设置不仅让玩家伤透脑筋,而且对游戏开发者来说就更头痛了,因为为了让游戏能够在众多电脑中正确运行,开发者必须在游戏制作之初,便需要把市面上所有声卡硬件数据都收集过来,然后根据不同的 API(应用编程接口)来写不同的驱动程序,这对于游戏制作公司来说,是很难完成的,所以说在当时多媒体游戏很少。微软正是看到了这个问题,为众厂家推出了一个共同的应用程序接口——DirectX,只要这个游戏是依照Directx来开发的,不管你是什么显卡、声卡、统统都能玩,而且还能发挥更佳的效果。当然,前提是你的显卡、声卡的驱动程序也必须支持Directx才行。
DirectX是由很多API组成的,按照性质分类,可以分为四大部分,显示部分、声音部分、输入部分和网络部分。
显示部分担任图形处理的关键,分为Direct Draw(DDraw)和Direct 3D(D3D),前者主要负责2D图像加速。它包括很多方面:我们播放mpg、DVD电影、看图、玩小游戏等等都是用的DDraw,你可以把它理解成所有划线的部分都是用的DDraw。后者则主要负责3D效果的显示,比如CS中的场景和人物、FIFA中的人物等等,都是使用了DirectX的Direct 3D。
声音部分中最主要的API是DirectSound,除了播放声音和处理混音之外,还加强了3d音效,并提供了录音功能。我们前面所举的声卡兼容的例子,就是利用了DirectSound来解决的。
输入部分Direct Input可以支持很多的游戏输入设备,它能够让这些设备充分发挥最佳状态和全部功能。除了键盘和鼠标之外还可以连接手柄、摇杆、模拟器等。
网络部分DirectPlay主要就是为了具有网络功能游戏而开发的,提供了多种连接方式,TPC/IP,IPX,Modem,串口等等,让玩家可以用各种连网方式来进行对战,此外也提供网络对话功能及保密措施.

Direct X是图形加速接口,有了这个,应用程序才能更直接的访问硬件资源

其实Direct X为何物,我想不用多说,现在几乎形成有Windows9X就有Direct X的局面。那么Direct X缘何如此普及,它到底有多么强大呢,还是由我解析一番吧。

排资论倍Direct X
早在Direct X尚未出世之前,个人电脑尚处在486时代,大家普遍还沿袭着输入命令的DOS时代。虽然有Win3X号称图形化操作系统,但是16位的本质使其始终只是DOS的稼衣罢了。在Win3X产生之后,出现了Direct X的原型WinG,WinG是Windows Graphic的缩写,它是专门为Win3X开发的,但是当时专为Win3X开发的软件和游戏并不多,大家还是习惯在DOS下工作娱乐,致使WinG没有产生广泛的影响,但其出色的功效,已经被开发者微软公司和一些软件开发人看好。
当Windows95风风火火出炉之时,大家感觉到需要一个类似Win3X时代的WinG,于是秉承了WinG的衣钵,Direct X出世了。
Direct X1.0版于96年出推出,当时的Direct X只包括DirectDraw、DirectPlay、DirectInput、DirectSound四部分,虽然对于windows95用户的帮助并不是立竿见影,但是却为开发win9X类32位软件的开发人员指明了方向。不久之后,Direct X2.0版在人们还为1.0版讨论的时候出世了,此次出世那可了得,新的组建Direct 3D来了,与OpenGL、3dfx等API函数相比,Direct 3D并不是一个等级,但当Direct X3.0横空出世之时世界沸腾了。它带来了一种真正完善的Direct 3D,其实大家可以看一看自己收藏的游戏,真正大量3D游戏推出时里边有很多都附赠Direct X3.0,对于国内的用户来讲,大多数人接受Direct X,让它进驻自己的系统还要归功于游戏软件DIABLO的功劳。但是Direct X3.0版也非尽善尽美,有很多专为Direct X1.0版开发的游戏就会出现不少兼容问题,于是基于Direct X3.0版之上的3.0a、3.0b迅速出台。至此Direct X盛世终于开始了。由此基于Direct X的软件、游戏、多媒体出版物层出不穷。
由于Direct X的如此受到欢迎,微软决定拿Direct X中的Direct 3d与OpenGL一决雌雄。马上微软进行了Direct X4.0版的开发,但不知何种原因Direct X4.0版被微软自己给封杀了。在对外毫无通告的情况下,Direct X一下子跃进到5.0版,此次大跃进着实跃出了一大步,加入了对MMX的支持,使得PC多媒体性能提升不少,而且5.0版还加入了对力回馈摇杆手柄的支持,又向专业3D领域学来了多屏幕显示的本领。鉴于Direct X的如此进步,所有的软硬件厂商频频向微软致意。当然微软也没令大家失望马上推出了附加支持大量D3D加速卡的Direct X5.0a版和5.1版、5.2版。于是新的一轮3D风潮骤起,支持D3D与支持3dfx、openGL的显示卡的厂商打的不可开交,而此时微软却偷偷乐了起来。
Direct X刚刚掀起的3D风潮还未平息,Direct X6.0版在98年秋季紧跟着来了。这次版本的升级带来了Direct X家族的新贵人DirectMusic,但是比DirectMusic更吸引大家目光的是Direct X6.0版支持了3D Now!tm。这一支持立马引起各界不同的反响,要知道3D Now!tm可是intel的对头AMD的一张王牌,而intel与微软可是两口子的关系,这使得外界纷纷猜测此二人看来是同床异梦了。到是给AMD捡了个大便宜。除了3D Now!tm,Direct X6.0还全面修改了DirectDraw,使其能够支持MPEG2的软件解压,而且Direct 3D还加强了支持的3D函数,例如专为VOODOO2加入的单周期多重贴图、还有最新S3力推的材质压缩。正当筹划写书的时候,Direct X已经升级到6.1版。真不知道这种升级何时是个完。
而且从Direct X2.0开始,微软就为Direct X做出了中文版,除了简体中文版外,还有繁体版、日文版、韩文版、法文版等等。可以说只要有微软在就有一个相应的语言版本。

刨丁解牛Direct X
很多人不解为什么叫Direct X,还加上个X。其实最初微软并不想将其定义为WINDOWS9X的处理多媒体信息的直接平台,只是想将其定义为WINDOWS9X的界面加速工具,并且利用Direct X的直接界面,向当时还为DOS开发软件的程序员一个升格开发WINDOWS9X程序的捷径。但当Direct 3D加入其中后,Direct X的使命彻底变了。而那个X其实就是指不断添加的Direct工具集,前面如数家珍的回顾了Direct X的历史,大家就会发现Direct后面跟坠的附属词,什么sound、draw、play、input、3d、music。通过这些词的词面意思不难看出其功能所在,那么前面加上一个Direct后又会如何注释呢。
1.DirectDraw
DirectDraw是Direct X中最基础的部分,它的任务优化管理基于视窗界面的图像处理,主要是2D桌面及一切基于之上的平面图像处理。它主要同计算机的显示卡打交道,它会利用WINDOWS9X的多重数据环流来调用显示卡上的显存,在AGP时代还可以利用AGP接口的优势直接调用系统内存,当然这需要5.0a以上版本的Direct X。
2.DirectSound
DirectSound顾名思义是负责音频部分的,它也是Direct X组件中元老级的任务。不知玩过dos底下游戏的朋友是否还记得,在copy或install游戏后那个凡人的setup,而setup中主要的工作就是设置sound。但是当我们处在windows9x游戏时,由于DirectSound的出色功效,使得游戏者免去了设置声音的麻烦,唯一的要求就是你的声卡支持DirectSound,而这一点的要求就连我那块老掉牙的花王100也能够运用DirectSound。在3.0b版后的Direct X还对DirectSound加入了4声道输出,这样像work4.1类的音响就能够派上用场了。
3.DirectPlay
DirectPlay的出现很明显是跟游戏有关系,其实它的功效还是在网络联线上。虽然有ITP/IP协议在负责WINDOWS9X的联线事宜,但日益增加的联线游戏不得不要加强这方面能力。除了网络联线的作用外,DirectPlay还对游戏的一些直接调用模拟数值有优化作用。DirectPlay同DirectDraw、DircetSound、DirectImput一起构成了最初的Direct X。
4.DirectImput
最初组件中还差DirectImput没有介绍,DirectImput的功能很多,主要是控制外接操纵器、外界平台的接入控制。有了它可以非常方便的连接操作设备,像游戏摇杆、MIDI键盘等设备都可以非常顺利的连接,不再像DOS下连接外接设备那样需要多重设置的麻烦。借助DirectImput的兼容性能,不管是数字化还是采用传统模拟化的设备都是一样的接入。
5.Direct 3D
这个组件相信所有人都接触过,尤其是游戏玩家。以至于大家爱称其为D3D。Direct 3D是从Direct X2.0版开始加入的,最初的Direct 3D并不像今天这样威风八面,与传统三维领域专业级的OpenGL是没发比的。但借助微软Direct X SDK工具包在外围程序员中的传播,很快Direct 3D成为了一方令大家刮目的3D人物。其实就性能尽管Direct 3D已经从只有16个3D函数的小字辈跃升为目前三大API函数之一,但是实际应用还只是限于娱乐软件之中,要论专业大家还是要找openGL。从硬件角度看,主要支持Direct 3D的显卡往往并不是专业显卡,而Direct 3D同3dfx实际上是同理的。而从软件上,Direct 3D可以算是目前最普遍的API函数了。可以说,正是Direct 3D的不断完善,才使Direct X有了今天。也正是Direct 3D的功劳,才加速了3D的日常应用。
随着Direct X6.0加入了3D NOW!tm函数,Direct X真正成为了一个比较完善,能够不断充实的3D函数级。这不最新的材质压缩刚刚出台,Direct X马上就将其加入到自己众多的3D函数中去了。可以说Direct 3D随着新技术的推出也会越发的丰满。当然,从Direct 3D的发迹也不难看出微软在计算机应用界指导性的作用,这也可以算是微软不断膨胀的一个明显的佐证。
6.DirectMusic
DirectMusic是刚刚加入Direct X大家族的新秀,它的功效主要在多媒体音频方面,与DirectSound有着或多或少的牵连。DirectMusic是在Direct X6.0版才加入的,但它在MIDI波表等方面的出色表现绝对令人吃惊。

回味无穷Direct X
的确,Direct X今天的地位绝对无人能比,虽然也有QuickTime、Glide等竞争对手簇拥,但是凭借微软财大气粗的霸道策略,使得Direct X成为了又一个IE。当然IE起初大家都不有抵触情绪,可如今还是不得不使它。同样Direct X不也是这样吗。
目前最新的Direct X发布到了6.1版,马上微软会在WINDOWS2000发布前后推出它的Direct X7.0,而且连同Direct X7.0、IE5.0统统预装在Windows2000之中,并入Windows2000整个系统之中。看来Direct X的前途无限呀。

DirectX并不是一个单纯的图形API,它是由微软公司开发的用途广泛的API,它包含有Direct Graphics(Direct 3D+Direct Draw)、Direct Input、Direct Play、Direct Sound、Direct Show、Direct Setup、Direct Media Objects等多个组件,它提供了一整套的多媒体接口方案。只是其在3D图形方面的优秀表现,让它的其它方面显得暗淡无光。DirectX开发之初是为了弥补Windows 3.1系统对图形、声音处理能力的不足,而今已发展成为对整个多媒体系统的各个方面都有决定性影响的接口。

DirectX 是一组低级“应用程序编程接口 (API)”,可为 Windows 程序提供高性能的硬件加速多媒体支持。Windows 支持 DirectX 8.0,它能增强计算机的多媒体功能。使用 DirectX 可访问显卡与声卡的功能,从而使程序可提供逼真的三维 (3D) 图形与令人如醉如痴的音乐与声音效果。

--------------------------------------------------------------------------------

DirectX 使程序能够轻松确定计算机的硬件性能,然后设置与之匹配的程序参数。该程序使得多媒体软件程序能够在基于 Windows 的具有 DirectX 兼容硬件与驱动程序的计算机上运行,同时可确保多媒体程序能够充分利用高性能硬件。

--------------------------------------------------------------------------------

DirectX 包含一组 API,通过它能访问高性能硬件的高级功能,如三维图形加速芯片和声卡。这些 API 控制低级功能(其中包括二维 (2D) 图形加速)、支持输入设备(如游戏杆、键盘和鼠标)并控制着混音及声音输出。构成 DirectX 的下列组件支持低级功能:

--------------------------------------------------------------------------------

Microsoft DirectDraw

--------------------------------------------------------------------------------

Microsoft DirectDraw API 支持快速访问计算机视频适配器的加速硬件功能。它支持在所有视频适配器上显示图形的标准方法,并且使用加速驱动程序时可以更快更直接地访问。DirectDraw 为程序(如游戏和二维图形程序包)以及 Windows 系统组件(如数字视频编解码器)提供了一种独立于设备之外的方法来访问特定显示设备的功能,而不要求用户提供设备功能的其它信息。

--------------------------------------------------------------------------------

Microsoft Direct3D

--------------------------------------------------------------------------------

Microsoft Direct3D API (Direct3D) 为大多数新视频适配器内置的 3-D 调色功能提供界面。Direct3D 是一种低级的 3-D API,它为软件程序提供一种独立于设备之外的方法以便与加速器硬件进行有效而强大的通信。Direct3D 包含专用 CPU 指令集支持,从而可为新型计算机提供进一步加速支持。

--------------------------------------------------------------------------------

Microsoft DirectSound

--------------------------------------------------------------------------------

Microsoft DirectSound API 为程序和音频适配器的混音、声音播放和声音捕获功能之间提供了链接。DirectSound 为多媒体软件程序提供低延迟混合、硬件加速以及直接访问声音设备等功能。维护与现有设备驱动程序的兼容性时提供该功能。

--------------------------------------------------------------------------------

Microsoft DirectMusic

--------------------------------------------------------------------------------

Microsoft DirectMusic API 是 DirectX 的交互式音频组件。与捕获和播放数字声音样本的 DirectSound API 不同,DirectMusic 处理数字音频以及基于消息的音乐数据,这些数据是通过声卡或其内置的软件合成器转换成数字音频的。DirectMusic API 支持以“乐器数字界面 (MIDI)”格式进行输入,也支持压缩与未压缩的数字音频格式。DirectMusic 为软件开发人员提供了创建令人陶醉的动态音轨的能力,以响应软件环境中的各种更改,而不只是用户直接输入更改。

--------------------------------------------------------------------------------

Microsoft DirectInput

--------------------------------------------------------------------------------

Microsoft DirectInput API 为游戏提供高级输入功能并能处理游戏杆以及包括鼠标、键盘和强力反馈游戏控制器在内的其它相关设备的输入。

--------------------------------------------------------------------------------

Microsoft DirectPlay

--------------------------------------------------------------------------------

Microsoft DirectPlay API 支持通过调制解调器、Internet 或局域网连接游戏。DirectPlay 简化了对通信服务的访问,并提供了一种能够使游戏彼此通信的方法而不受协议或联机服务的限制。DirectPlay 提供了多种游说服务,可简化多媒体播放器游戏的初始化,同时还支持可靠的通信协议以确保重要游戏数据在网络上不会丢失。DirectPlay 8.0 的新功能即支持通过网络进行语音通信,从而可大大提高基于多媒体播放器小组的游戏的娱乐性,同时该组件还通过提供与玩游戏的其他人对话的功能而使团体游戏更具魅力。

--------------------------------------------------------------------------------

Microsoft DirectShow

--------------------------------------------------------------------------------

Microsoft DirectShow API 提供了可在您的计算机与 Internet 服务器上进行高品质捕获与回放多媒体文件的功能。DirectShow 支持各种音频与视频格式,包括“高级流式格式 (ASF)”、“音频-视频交错 (AVI)”、“数字视频 (DV)”、“动画专家组 (MPEG)”、“MPEG 音频层 3 (MP3)”、 “Windows 媒体音频/视频 (WMA/WMV)”以及 WAV 文件。DirectShow 还具有视频捕获、DVD 回放、视频编辑与混合、硬件加速视频解码以及调谐广播模拟与数字电视信号等功能。

DirectX
DirectX并不是一个单纯的图形API,它是由微软公司开发的用途广泛的API,它包含有Direct Graphics(Direct 3D+Direct Draw)、Direct Input、Direct Play、Direct Sound、Direct Show、Direct Setup、Direct Media Objects等多个组件,它提供了一整套的多媒体接口方案。只是其在3D图形方面的优秀表现,让它的其它方面显得暗淡无光。DirectX开发之初是为了弥补Windows 3.1系统对图形、声音处理能力的不足,而今已发展成为对整个多媒体系统的各个方面都有决定性影响的接口。

DirectX 是一组低级“应用程序编程接口 (API)”,可为 Windows 程序提供高性能的硬件加速多媒体支持。Windows 支持 DirectX 8.0,它能增强计算机的多媒体功能。使用 DirectX 可访问显卡与声卡的功能,从而使程序可提供逼真的三维 (3D) 图形与令人如醉如痴的音乐与声音效果。

--------------------------------------------------------------------------------

DirectX 使程序能够轻松确定计算机的硬件性能,然后设置与之匹配的程序参数。该程序使得多媒体软件程序能够在基于 Windows 的具有 DirectX 兼容硬件与驱动程序的计算机上运行,同时可确保多媒体程序能够充分利用高性能硬件。

--------------------------------------------------------------------------------

DirectX 包含一组 API,通过它能访问高性能硬件的高级功能,如三维图形加速芯片和声卡。这些 API 控制低级功能(其中包括二维 (2D) 图形加速)、支持输入设备(如游戏杆、键盘和鼠标)并控制着混音及声音输出。构成 DirectX 的下列组件支持低级功能:

--------------------------------------------------------------------------------

Microsoft DirectDraw

--------------------------------------------------------------------------------

Microsoft DirectDraw API 支持快速访问计算机视频适配器的加速硬件功能。它支持在所有视频适配器上显示图形的标准方法,并且使用加速驱动程序时可以更快更直接地访问。DirectDraw 为程序(如游戏和二维图形程序包)以及 Windows 系统组件(如数字视频编解码器)提供了一种独立于设备之外的方法来访问特定显示设备的功能,而不要求用户提供设备功能的其它信息。

--------------------------------------------------------------------------------

Microsoft Direct3D

--------------------------------------------------------------------------------

Microsoft Direct3D API (Direct3D) 为大多数新视频适配器内置的 3-D 调色功能提供界面。Direct3D 是一种低级的 3-D API,它为软件程序提供一种独立于设备之外的方法以便与加速器硬件进行有效而强大的通信。Direct3D 包含专用 CPU 指令集支持,从而可为新型计算机提供进一步加速支持。

--------------------------------------------------------------------------------

Microsoft DirectSound

--------------------------------------------------------------------------------

Microsoft DirectSound API 为程序和音频适配器的混音、声音播放和声音捕获功能之间提供了链接。DirectSound 为多媒体软件程序提供低延迟混合、硬件加速以及直接访问声音设备等功能。维护与现有设备驱动程序的兼容性时提供该功能。

--------------------------------------------------------------------------------

Microsoft DirectMusic

--------------------------------------------------------------------------------

Microsoft DirectMusic API 是 DirectX 的交互式音频组件。与捕获和播放数字声音样本的 DirectSound API 不同,DirectMusic 处理数字音频以及基于消息的音乐数据,这些数据是通过声卡或其内置的软件合成器转换成数字音频的。DirectMusic API 支持以“乐器数字界面 (MIDI)”格式进行输入,也支持压缩与未压缩的数字音频格式。DirectMusic 为软件开发人员提供了创建令人陶醉的动态音轨的能力,以响应软件环境中的各种更改,而不只是用户直接输入更改。

--------------------------------------------------------------------------------

Microsoft DirectInput

--------------------------------------------------------------------------------

Microsoft DirectInput API 为游戏提供高级输入功能并能处理游戏杆以及包括鼠标、键盘和强力反馈游戏控制器在内的其它相关设备的输入。

--------------------------------------------------------------------------------

Microsoft DirectPlay

--------------------------------------------------------------------------------

Microsoft DirectPlay API 支持通过调制解调器、Internet 或局域网连接游戏。DirectPlay 简化了对通信服务的访问,并提供了一种能够使游戏彼此通信的方法而不受协议或联机服务的限制。DirectPlay 提供了多种游说服务,可简化多媒体播放器游戏的初始化,同时还支持可靠的通信协议以确保重要游戏数据在网络上不会丢失。DirectPlay 8.0 的新功能即支持通过网络进行语音通信,从而可大大提高基于多媒体播放器小组的游戏的娱乐性,同时该组件还通过提供与玩游戏的其他人对话的功能而使团体游戏更具魅力。

--------------------------------------------------------------------------------

Microsoft DirectShow

--------------------------------------------------------------------------------

Microsoft DirectShow API 提供了可在您的计算机与 Internet 服务器上进行高品质捕获与回放多媒体文件的功能。DirectShow 支持各种音频与视频格式,包括“高级流式格式 (ASF)”、“音频-视频交错 (AVI)”、“数字视频 (DV)”、“动画专家组 (MPEG)”、“MPEG 音频层 3 (MP3)”、 “Windows 媒体音频/视频 (WMA/WMV)”以及 WAV 文件。DirectShow 还具有视频捕获、DVD 回放、视频编辑与混合、硬件加速视频解码以及调谐广播模拟与数字电视信号等功能