DirectX是什么意思?
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、调制解调器、串口等。,让玩家可以在各种联网模式下进行对战,此外还提供了网络对话功能和安全措施。
编辑此段落分类
DirectX不是一个简单的图形API,而是微软开发的一个广泛使用的API。它包括Direct graphics(Direct 3d+DirectDraw)、直接输入、直接播放、直接声音、直接显示、直接设置、直接媒体对象等几个组件。它提供了一套完整的多媒体接口方案。只是它在3D图形方面的出色表现让它的其他方面显得黯淡无光。DirectX最初是为了弥补Windows 3.1系统图形和声音处理能力的不足而开发的,现在已经发展成为对整个多媒体系统的各个方面都有决定性影响的接口。DirectX是一组底层的“应用编程接口(API)”,可以为Windows程序提供高性能的硬件加速多媒体支持。Windows支持DirectX 8.0,可以增强电脑的多媒体功能。使用DirectX,可以访问显卡和声卡的功能,使程序提供逼真的三维(3D)图形和令人陶醉的音乐和音效。DirectX使程序能够很容易地确定计算机的硬件性能,然后设置匹配的程序参数。该程序使多媒体软件程序能够在具有DirectX兼容硬件和驱动程序的基于Windows的计算机上运行,同时确保多媒体程序能够充分利用高性能硬件。DirectX包含一组API,通过这些API可以访问高性能硬件的高级功能,例如3D图形加速芯片和声卡。这些API控制低级功能(包括二维(2D)图形加速),支持输入设备(如操纵杆、键盘和鼠标)并控制混音和声音输出。组成DirectX的下列组件支持低级功能:Microsoft DirectDraw Microsoft DirectDraw API支持快速访问计算机视频适配器的加速硬件功能。它支持在所有视频适配器上显示图形的标准方法,当使用加速驱动程序时,可以更快更直接地访问它。DirectDraw为程序(如游戏和2D图形包)和Windows系统组件(如数字视频编解码器)提供了一种独立于设备的方法来访问特定显示设备的功能,而不需要用户提供有关设备功能的其他信息。- .Direct3D是一种低级3d API,它为软件程序提供了一种与设备无关的方法,以便与加速器硬件进行有效而强大的通信。Direct3D包括专用CPU指令集支持,可以为新计算机提供进一步的加速支持。- .DirectSound为多媒体软件程序提供低延迟混音、硬件加速和对声音设备的直接访问。该功能是在保持与现有设备驱动程序兼容时提供的。- .与捕获和播放数字声音样本的DirectSound API不同,DirectMusic处理数字音频和基于消息的音乐数据,这些数据由声卡或其内置软件合成器转换为数字音频。DirectMusic API支持乐器数字接口(MIDI)格式的输入,以及压缩和未压缩的数字音频格式。DirectMusic为软件开发者提供了创建令人陶醉的动态音轨的能力,以响应软件环境中的各种变化,而不仅仅是用户直接输入变化。- .- .DirectPlay简化了对通信服务的访问,并为游戏提供了一种不受协议或在线服务限制的相互通信方式。DirectPlay提供了多种游说服务,可以简化多媒体播放器游戏的初始化,支持可靠的通信协议,保证重要的游戏数据不会在网络上丢失。DirectPlay 8.0的新功能是支持通过网络进行语音通信,可以大大提高基于多媒体播放器的群体游戏的娱乐性。同时,该组件还通过提供与其他玩游戏的人交谈的功能,使团体游戏更具吸引力。- .DirectShow支持各种音频和视频格式,包括高级流格式(ASF)、音频-视频交错(AVI)、数字视频(DV)、动画专家组(MPEG)、MPEG音频层3 (MP3)、Windows Media音频/视频(WMA/WMV)和WAV文件。DirectShow还具有视频捕获、DVD播放、视频编辑和混合、硬件加速视频解码以及调谐广播模拟和数字电视信号的功能。-
在这一段编辑DirectX的历史。
DirectX 1.0
第一代DirectX非常不成功,推出的时候很多硬件都不支持。当时基本采用的是专业图形API——OpenGL,硬件支持不足成为其普及的最大障碍。
DirectX 1.0是第一个可以直接读取硬件信息的程序。它提供了更直接的读取图形硬件的性能(如显卡上的块移动功能)和基本的声音和输入设备功能(函数),使开发的游戏可以加速二维(2D)图像。这个时候的DirectX还没有包括现在所有的3D功能,还在一个初级阶段。
DirectX 2.0
DirectX 2.0在二维图形方面做了一些改进,增加了一些动态效果,采用了直接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也逐渐被软硬件厂商认可。1997年有三个应用程序接口标准,分别是专业的OpenGL接口、微软的DirectX D接口和3DFX公司的Glide接口。当时3DFX公司是最有实力的显卡厂商,其Glide接口自然被广泛使用。但是随着3DFX公司和Voodoo显卡的没落,Glide界面逐渐消失。
DirectX 3.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最大的特点是支持T &;l,中文名字叫“坐标变换与光源”。3D游戏中的任何物体都有一个坐标。当物体移动时,其坐标发生变化,这意味着坐标变换。3D游戏中,除了场景和物体,还需要灯光。没有照明,就没有3D对象的表示。无论是实时3D游戏还是3D图像渲染,带光照的3D渲染都是最耗费资源的。OpenGL中虽然有相关技术,但之前从未在民用级硬件中出现过。
美国电话电报公司。在L出现之前,位置转换和灯光都需要CPU来计算。CPU越快,游戏性能越流畅。T & ampL函数后,这两个效果由显卡的GPU计算,让CPU从繁忙的工作中解脱出来。换句话说,有T &;l显卡,使用DirectX 7.0,即使没有高速CPU也能流畅运行3D游戏。
DirectX 8.0
DirectX 8.0的推出引发了一场显卡革命。它首次引入了“像素渲染”的概念,同时拥有像素着色器和顶点着色器,体现在动态光影效果上。t&硬件T & amp与固定的光影转换相比,VS和PS单元更加灵活,这使得GPU真正成为可编程处理器。这意味着程序员通过它们构建3D场景的难度要小得多。通过VS和PS的渲染,很容易在水面上营造出真实的动态波纹光影效果。这时,DirectX的权威终于确立了。
DirectX 9.0
2002年底,微软发布了DirectX9.0,DirectX9中PS单元的渲染精度已经达到浮点精度,传统的硬件T & amp;l单元也被取消了。新的VertexShader (VertexShader引擎)编程会比以前复杂很多。新的顶点着色器标准增加了进程控制和更多常数,每个程序的着色指令数量增加到1024。
PS 2.0具有完全可编程的架构,可以即时计算纹理效果并动态映射纹理,不占用内存。理论上,它可以无限提高纹理贴图的分辨率。另外,PS1.4只能支持28条硬件指令,同时操作6个素材,而PS2.0可以支持160条硬件指令,同时操作16个素材。新的高精度浮点数据规范可以使用多个纹理图,可操作的指令个数可以任意长,可以轻松实现胶片级的显示效果。
通过增加顶点程序的灵活性,VS 2.0显著提升了旧版本(DirectX8)的VS性能。对于新的控制指令,可以用通用程序代替以前专用的单独着色程序,效率提高很多倍。增加循环作业指令,减少工作时间,提高加工效率;扩展着色指令的数量从128增加到256。
增加浮点数据的处理功能,过去只能处理整数,提高渲染精度,使最终处理的色彩格式达到电影水平。它突破了之前限制PC图形图像质量的数学精度障碍,每条渲染管道都升级到了128浮点颜色,让游戏程序员更容易创造出更漂亮的效果,也更容易让程序员编程。
DirectX 9.0c
与过去的DirectX 9.0b和Shader Model 2.0相比,DirectX 9.0c最大的改进是引入了对Shader Model 3.0的全面支持(包括像素着色器3.0和顶点着色器3.0)。例如,DirectX 9.0b的着色器模型2.0仅支持256个顶点着色器指令和96个像素着色器指令。在最新的着色器模型3.0中,顶点着色器和像素着色器的最大指令数上升到了65,535。新的技术特性,如动态程序流控制,位移映射,多渲染目标(MRT),表面散射表面阴影,软阴影,环境和地面阴影,全局照明等。GeForce 6、GeForce7系列和镭龙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之间的接口,简化了应用程序的扩展,提高了性能。改进的图形创建工具,更容易制作最好的3d角色和环境;点光源和像素光使图像更真实;DirectSound和DirectMusic得到加强,其应用扩展得到简化。DLS2的音频合成功能提高了乐器音频的真实感;DirectInput的设备映射功能使得对设备的支持更加容易。DirectPlay提高了多人游戏的性能和可扩展性;DirectPlay提供IP语音通信;DirectShow的应用程序编程接口提供实时音频/视频合成和编辑。DirectShow支持Windows media音视频的读写(WMA和WMV);微软电视技术可以支持数字电视节目。当然最重要的是一些新游戏需要。DirectX Redist通常每两个月更新一次,包括DirectX运行时的所有更新,可以替代之前发布的旧版本,适用于Windows XP、Server 2003、Vista等操作系统,但不支持Windows 9x/2000。一般最新的3D游戏等应用都需要新的DirectX接口,所以强烈建议更新。
Vista DX10用户也需要。
显卡支持的DirectX版本已经成为评价显卡性能的标准。用户可以从显卡支持哪个版本的DirectX来区分显卡的性能,从而选择适合自己的显卡产品。
现在不下载最新版本的DirectX后果很严重!您可以单击下面的链接连接到最新的DirectX下载页面(2008年6月更新)。
DirectX 10.1[/font]
就像之前的DX版本一样,DX10.1是DX10的超集,所以会支持DirectX 10的所有功能,同时会支持更多的功能,提供更高的性能。
DX10.1的一大改进是改进的着色器资源访问函数,在多样本AA中读取样本时有更好的控制能力。此外,DX10.1还将能够创建定制的下采样滤波器。
DX10.1还会有更新的浮点混合功能,对渲染目标更有针对性。渲染目标混合会有新的格式,渲染目标可以实现独立混合。阴影功能一直是游戏的重要特效,Direct3D 10.1的阴影过滤功能也将得到提升,有望进一步提升画质。
性能方面,DirectX 10.1将支持多核系统,性能更高。在渲染、反射和散射方面,Direct3D 10.1会减少对API的调用次数,从而达到很好的性能提升。
其他方面,DX10.1改进了很多,包括32位浮点滤波,可以提高渲染精度,提高HDR渲染的图像质量。全抗锯齿应用控制也将是DX10.1的亮点。应用程序将能够控制多重采样和超级采样的使用,并选择出现在特定场景中的采样模板。DX10.1每个像素至少需要四个样本。
DX10.1还将推出一款更新的驾驶车型,WDDM 2.5438+0。与DX10的WDDM2.0相比,2.1有一些显著的改进。
第一,内容转换功能更多。WDDM2.0支持在处理一个命令或三角形后进行内容转换,而WDDM2.1可以立即进行内容转换。由于GPU要同时并行处理多个线程,所以内容转换的即时性既能保证转换质量,又能提高GPU效率,减少等待时间。此外,由于WDDM 2.1支持基于进程的虚拟内存分配,处理GPU和驱动程序页面错误的方式更加成熟。
预计微软将在两周内(2008年7月中旬)宣布新一代API: DirectX 11。消息人士指出,微软将在7月22日的Gamefest 2008上公布新一代API。我们得到的关于DirectX 11的最新消息是,NVIDIA将在8月底的“NVISION 08”发布会上对DirectX 11进行说明。
微软组织的Gamefest 2008大会将于7月22-23日在西雅图举行。Gamefest 2008大会是微软一年一度的游戏技术讨论盛会,所以关于下一代游戏技术接口API的消息自然是不可或缺的话题。
DirectX 11引入的最大新技术特性无疑是镶嵌/位移。我们还听说多线程渲染和计算着色器也将是DirectX 11中的重要环节。另外,据说DirectX 11还会引入着色器模型5.0。具体细节目前基本不知道,光线追踪和光栅化技术的支持也没提。
至于DirectX 11何时正式推出,微软一直没有给出确切的消息。之前的传闻声称它将在今年年底和明年年初完成,它可能会与Windows Vista SP2或Windows 7一起出现。在DX11之前,DX10.1将是最后一次小更新。