directx是什么意思?
比如以前硬核玩家(长期玩游戏)在DOS下玩游戏的时候,不能像我们现在这样在安装上玩。他们通常必须先设置声卡的品牌和型号,然后设置IRQ(中断)、I/O(输入到输出)和DMA(访问模式)。如果任何设置是错误的,游戏声音就不会出来。这部分设置不仅让玩家头疼,也让游戏开发者头疼,因为为了让游戏在很多电脑上正确运行,开发者在游戏制作之初就必须收集市场上所有声卡的硬件数据,然后根据不同的API(应用编程接口)编写不同的驱动,这是游戏制作公司很难完成的,所以当时的多媒体游戏很少。微软看到了这个问题,为众多厂商推出了* * *应用程序接口——Directx。只要游戏是按照DirectX开发的,不管你是什么显卡或者声卡都可以玩,也能玩出比较好的效果。当然前提是你的显卡和声卡的驱动也必须支持DirectX。
[编辑本段]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
就像之前的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将是最后一次小更新。
Directx 11
2009年10月9日星期五,65438,微软将向公众发布Windows 7客户端的测试版。而在前一天,也就是65438+10月8日,微软将率先发布Windows 7服务器版的测试版。
Windows 7是微软的下一代操作系统。目前业内普遍认为微软会在今年圣诞购物季之前发布Windows 7正式版。
在微软刚刚发布的Windows 7测试版中,一些已经安装的用户发现DirectX 11已经被收录。DirectX 11作为一个3D图形接口,不仅支持未来的DX11硬件,在向后兼容性上也支持目前的DirectX 10和10.1硬件。DirectX 11增加了新的计算着色器技术,可以让GPU做更一般的计算工作,而不仅仅是3D计算,这可以鼓励开发者更好地将GPU用作并行处理器。
DirectX 11已经包含在微软刚刚发布的Windows 7测试版中。
此外,DirectX 11还支持tessellation mosaic技术,帮助开发者创建更加细腻平滑的模型,实现高质量的实时渲染和预渲染场景。多线程是DirectX 11的另一大亮点。DX11可以更好的利用多线程资源,从而让游戏更有效的使用多核处理器。