什么是DirectX?

1个月前 (10-30 14:00)阅读3回复0
小小的人啊
小小的人啊
  • 管理员
  • 注册排名4
  • 经验值59365
  • 级别管理员
  • 主题11873
  • 回复0
楼主

  概述

DirectX是一种应用法式接口(API),它可让以windows为平台的游戏或多媒体法式获得更高的施行效率,加强3d图形和声音效果,并供给设想人员一个配合的硬件驱动尺度,让游戏开发者没必要为每一品牌的硬件来写差别的驱动法式,也降低用户安拆及设置硬件的冗杂度。

  如许说是不是有点不太大白,其实从字面意义上说,Direct就是间接的意思,然后边的X则代表了良多的意思,从那一点上我们就能够看出DirectX的呈现就是为了为浩瀚软件供给间接办事的。

举个例子吧,骨灰级玩家(玩游戏比力长的)以前在DOS下玩游戏时,可不像我们如今,安拆上就能够玩了,他们往往起首要先设置声卡的品牌和型号,然后还要设置IRQ(中断)、I/O(输入于输出)、DMA(存取形式),若是哪项设置的不合错误,那么游戏声音就发不出来。

  那部门的设置不只让玩家伤透脑筋,并且对游戏开发者来说就更头痛了,因为为了让游戏可以在浩瀚电脑中准确运行,开发者必需在游戏造做之初,便需要把市道上所有声卡硬件数据都搜集过来,然后按照差别的 API(应用编程接口)来写差别的驱动法式,那关于游戏造做公司来说,是很难完成的,所以说在其时多媒体游戏很少。

  微软恰是看到了那个问题,为寡厂家推出了一个配合的应用法式接口——DirectX,只要那个游戏是按照Directx来开发的,不管你是什么显卡、声卡、通盘都能玩,并且还能阐扬更佳的效果。当然,前提是你的显卡、声卡的驱动法式也必需撑持DirectX才行。

构成

DirectX是由良多API构成的,根据性量分类,能够分为四大部门,显示部门、声音部门、输入部门和收集部门。

显示部门担任图形处置的关键,分为DirectDraw(DDraw)和Direct3D(D3D),前者次要负责2D图像加速。

  它包罗良多方面:我们播放mpg、DVD片子、看图、玩小游戏等等都是用的DDraw,你能够把它理解成所有划线的部门都是用的DDraw。后者则次要负责3D效果的显示,好比CS中的场景和人物、FIFA中的人物等等,都是利用了DirectX的Direct3D。

声音部门中最次要的API是DirectSound,除了播放声音和处置混音之外,还加强了3d音效,并供给了灌音功用。我们前面所举的声卡兼容的例子,就是操纵了DirectSound来处理的。

输入部门DirectInput能够撑持良多的游戏输入设备,它可以让那些设备充实阐扬更佳形态和全数功用。

  除了键盘和鼠标之外还能够毗连手柄、摇杆、模仿器等。

收集部门DirectPlay次要就是为了具有收集功用游戏而开发的,供给了多种毗连体例,TPC/IP,IPX,Modem,串口等等,让玩家能够用各类连网体例来停止对战,此外也供给收集对话功用及保密办法。

分类

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 1。

  0

第一代的DirectX很不胜利,推出时浩瀚的硬件均不撑持,其时根本都接纳专业图形API-OpenGL,缺乏硬件的撑持成了其流行的更大障碍。

DirectX 1。0版本是第一个能够间接对硬件信息停止读取的法式。它供给了更为间接的读取图形硬件的性能(好比:显示卡上的块挪动功用)以及根本的声音和输入设备功用(函数),使开发的游戏能实现对二维(2D)图像停止加速。

  那时候的DirectX不包罗如今所有的3D功用,还处于一个初级阶段。

DirectX 2。0

DirectX 2。0在二维图形方面做了些改良,增加了一些动态效果,接纳了Direct 3D的手艺。如许DirectX 2。0与DirectX 1。

  0有了相当大的差别。在DirectX 2。0中,接纳了“光滑模仿和RGB模仿”两种模仿体例对三维(3D)图像停止加速计算的。DirectX 2。0同时也接纳了愈加友好的用户设置法式并更正了应用法式接口的许多问题。从DirectX 2。0起头,整个DirectX的设想架构雏形就已根本完成。

DirectX 3。0

DirectX 3。0的推出是在1997年最初一个版本的Windows95发布后不久,此时3D游戏起头不得人心,DirectX也逐步得到软硬件厂商的承认。97年时应用法式接口尺度共有三个,别离是专业的OpenGL接口,微软的DirectX D接口和3DFX公司的Glide接口。

  而那时的3DFX公司是最为强大的显卡造造商,它的Glide接口天然也遭到最普遍的应用,但跟着3DFX公司的衰败,Voodoo显卡的衰败,Glide接口才逐步消逝了。

DirectX 3。0是DirectX 2。0的简单晋级版,它对DirectX 2。

  0的改动其实不多。包罗对DirectSound(针对3D声音功用)和DirectPlay(针对游戏/收集)的一些修改和晋级。DirectX 3。0集成了较简单的3D效果,还不是很成熟。

DirectX 5。0

微软公司并没有推出DirectX 4。

  0,而是间接推出了DirectX 5。0。此版本对Direct3D做出了很大的改动,参加了雾化效果、Alpha混合等3D特效,使3D游戏中的空间感和实在感得以加强,还参加了S3的纹理压缩手艺。

同时,DirectX 5。0在其它各组件方面也有加强,在声卡、游戏控造器方面均做了改良,撑持了更多的设备。

  因而,DirectX开展到DirectX 5。0才实正走向了成熟。此时的DirectX性能完全不逊色于其它3D API,并且大有后来居上之势。

DirectX 6。0

DirectX 6。0推出时,其更大的合作敌手之一Glide,已逐渐走向了衰败,而DirectX则得到了大大都厂商的承认。

  DirectX 6。0中参加了双线性过滤、三线性过滤等优化3D图像量量的手艺,游戏中的3D手艺逐步走入成熟阶段。

DirectX 7。0

DirectX 7。0更大的特色就是撑持TL,中文名称是“坐标转换和光源”。3D游戏中的任何一个物体都有一个坐标,当此物体运动时,它的坐标发作变革,那指的就是坐标转换;3D游戏中除了场景+物体还需要灯光,没有灯光就没有3D物体的表示,无论是实时3D游戏仍是3D影像衬着,加上灯光的3D衬着是最消耗资本的。

  固然OpenGL中已有相关手艺,但此前从未在民用级硬件中呈现。

在TL问世之前,位置转换和灯光都需要CPU来计算,CPU速度越快,游戏表示越流利。利用了TL功用后,那两种效果的计算用显示卡的GPU来计算,如许就能够把CPU从忙碌的劳动中解脱出来。

  换句话说,拥有TL显示卡,利用DirectX 7。0,即便没有高速的CPU,同样能流利的跑3D游戏。

DirectX 8。0

DirectX 8。0的推出引发了一场显卡革命,它初次引入了“像素衬着”概念,同时具备像素衬着引擎(Pixel Shader)与顶点衬着引擎(Vertex Shader),反映在特效上就是动态光影效果。

  同硬件TL仅仅实现的固定光影转换比拟,VS和PS单位的灵敏性更大,它使GPU实正成为了可编程的处置器。那意味着法式员可通过它们实现3D场景构建的难度大大降低。通过VS和PS的衬着,能够很容易的宁造出实在的水面动态波纹光影效果。此时DirectX的权势巨子地位毕竟建成。

DirectX 9。0

2002岁尾,微软发布DirectX9。0。DirectX 9中PS单位的衬着精度已到达浮点精度,传统的硬件TL单位也被打消。全新的VertexShader(顶点着色引擎)编程将比以前冗杂得多,新的VertexShader尺度增加了流程控造,更多的常量,每个法式的着色指令增加到了1024条。

PS 2。0具备完全可编程的架构,能对纹理效果立即演算、动态纹理贴图,还不占用显存,理论上对材量贴图的分辩率的精度进步无限多;别的PS1。4只能撑持28个硬件指令,同时操做6个材量,而PS2。0却能够撑持160个硬件指令,同时操做16个材量数量,新的高精度浮点数据规格能够利用多重纹理贴图,可操做的指令数能够肆意长,片子级此外显示效果垂手可得的实现。

VS 2。0通过增加Vertex法式的灵敏性,显著的进步了老版本(DirectX8)的VS性能,新的控造指令,能够用通用的法式取代以前公用的零丁着色法式,效率进步许多倍;增加轮回操做指令,削减工做时间,进步处置效率;扩展着色指令个数,从128个提拔到256个。

增加对浮点数据的处置功用,以前只能对整数停止处置,如许进步衬着精度,使最末处置的色彩格局到达片子级别。打破了以前限造PC图形图象量量在数学上的精度障碍,它的每条衬着流水线都晋级为128位浮点颜色,让游戏法式设想师们更容易更轻松的缔造出更标致的效果,让法式员编程更容易。

DirectX 9。0c

与过去的DirectX 9。0b和Shader Model 2。0比拟较,DirectX 9。0c更大的改良,即是引入了对Shader Model 3。0(包罗Pixel Shader 3。0 和Vertex Shader 3。

  0两个着色语言标准)的全面撑持。举例来说,DirectX 9。0b的Shader Model 2。0所撑持的Vertex Shader更大指令数仅为256个,Pixel Shader更大指令数更是只要96个。而在最新的Shader Model 3。

  0中,Vertex Shader和Pixel Shader的更大指令数都大幅上升至65535个,全新的动态法式流控造、 位移贴图、多衬着目的(MRT)、次外表散射 Subsurface scattering、温和暗影 Soft shadows、情况和空中暗影 Environmental and ground shadows、全局照明 (Global illumination)等新手艺特征,使得GeForce 6、GeForce7系列以及Radeon X1000系列立即为新一代游戏以及具备无比实在感、梦想般的冗杂的数字世界和传神的角色在影视品量的情况中活动供给强大动力。

因而DirectX 9。0c和Shader Model 3。0尺度的推出,能够说是DirectX开展过程中的重要转折点。在DirectX 9。0c中,Shader Model 3。0除了打消指令数限造和参加位移贴图等新特征之外,更多的特征都是在处理游戏的施行效率和品量上下功夫,Shader Model 3。

  0降生之后,人们看待游戏的立场也起头从过去单纯地逃求速度,改变到游戏画量和运行速度两者兼顾。因而Shader Model 3。0对游戏财产的影响可谓深远。

Directx 10。0

已经包罗在Windows Vista操做系统中,目前无法零丁下载利用

新的DirectX使你获得更好的图像显示量量,使多人游戏具可伸缩性,以及包罗更棒的音频效果。

  它强化了针对DirectDraw和Direct3D的接口,简化了应用扩展,提拔性能;改善了图形创做东西,更易于做出更佳的3-D角色和情况;点光源式光影和像素式光影使图象更传神;强化了DirectSound和DirectMusic,简化了其应用扩展;DLS2音频合胜利能进步了乐器音频的实在感; DirectInput的设备暗射功用令对设备的撑持更简单;DirectPlay使多人游戏的性能和可扩展性得到了进步; DirectPlay供给了IP声音通信;DirectShow的应用编程接口供给了音频/视频的实时合成和立即编纂; DirectShow撑持Windows媒体音频和视频(WMA和WMV)的读写; Microsoft TV手艺能够撑持数字电视节目。

  当然,最重要的是一些新游戏需要它。 DirectX Redist凡是每两个月更新一次,包罗了DirectX Runtimes的所有更新,能够替代此前发布的旧版本,合适Windows XP、Server 2003、Vista等操做系统,不撑持Windows 9x/2000。

  一般最新的3D游戏等应用法式都需要新的DirectX接口,因而强烈保举更新,

Vista DX10用户也同样需要。

显卡所撑持的DirectX版本已成为评价显卡性能的尺度,从显卡撑持什么版本的DirectX,用户就能够分辩出显卡的性能凹凸,从而选择出合适于本身的显卡产物。

如今不下载DirectX的最新版本后果很严峻!能够点击下面的链接停止下载

软公司专为PC游戏开发的API,与Windows 95 和Windows NT操做系统兼容性好,可绕过图形显示接口(GDI)间接停止撑持该API的各类硬件的底层操做,大大进步了游戏的运行速度,并且目前根本上是免费利用的。因为要考虑与各方面的兼容性,DirectX用起来比力费事、在施行效率上也未见得更优

0
回帖

什么是DirectX? 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息