首 页  |  新闻  |  导购  |  课堂  |  问答  |  DIY自选装机  |  推荐配置  |  网吧  |  预警  |  下载  |  社区  |  商城
导 航  |  CPU  |  主板  |  内存  |  硬盘  |  显卡 |  光驱  |  机箱电源  |  显示器  |  音箱耳机
当前位置:课堂首页 >> 常见问答 >> 什么是DirectX?DX9和DX10区别

什么是DirectX?DX9和DX10区别 (1)

2007-08-02 16:08:22  作者:  来源:互联网  浏览:1170  文字大小:【】【】【
简介: DirectX是一种图形应用程序接口(API),并不是一个单纯的图形API,它是由微软公司开发的用途广泛的API,它包含有Direct Graphics(Direct 3D+Direct Draw)、Direct Input、Direct Play、Direct Sound、Dire ...
关键字:DirectX DX9 DX10

      逼真的3D游戏常常让我们废寝忘食,这些都应归功于显卡强大的3D运算功能。但操作系统和应用软件通常不能直接去使用显卡的3D加速功能,必须通过系统中的一个接口去调用,这就是OPENGL和D3D的作用。 
   

      DirectX是一种图形应用程序接口(API),并不是一个单纯的图形API,它是由微软公司开发的用途广泛的API,它包含有Direct Graphics(Direct 3D+Direct Draw)、Direct Input、Direct Play、Direct Sound、Direct Show、Direct Setup、Direct Media Objects等多个组件,它提供了一整套的多媒体接口方案。只是其在3D图形方面的优秀表现,让它的其它方面显得暗淡无光(PS:我们常将D3D和。微软将定义它为“硬件设备无关性”。Direct是直接的意思,X是很多东西,加在一起就是一组具有共性的东西。

      简单的说它是一个辅助软件,一个提高系统性能的加速软件。从内部原理探讨,DirectX 就是一系列的 DLL (动态连接库),通过这些 DLL,开发者可以在无视于设备差异的情况下访问底层的硬件,DirectX 封装了一些 COM(Component Object Model)对象,这些 COM 对象为访问系统硬件提供了一个主要的接口。

      DirectX的发展经历了1.0-10很多版本,现在我们在选购显卡的时候,经常听说“XX显卡不支持DX9.0”等等,显卡所支持的DirectX版本已成为评价显卡性能的标准之一。

      现在就一起来回顾以下DirectX的发展历程。

DirectX 1.0
        第一代的DirectX很不成功,推出时众多的硬件均不支持,当时基本都采用专业图形API-OpenGL,缺乏硬件的支持成了其流行的最大障碍。
DirectX 1.0版本是第一个可以直接对硬件信息进行读取的程序。它提供了更为直接的读取图形硬件的性能,使开发的游戏能实现对二维(2D)图像进行加速。不包括3D功能,还处于一个初级阶段。

DirectX 2.0
        DirectX 2.0在二维图形方面做了些改进,增加了一些动态效果,采用了Direct 3D的技术。这样DirectX 2.0与DirectX 1.0有了相当大的不同。在DirectX 2.0中,采用了“平滑模拟和RGB模拟”两种模拟方式对三维(3D)图像进行加速计算的,正式踏入了3D领域。


DirectX 3.0
       DirectX 3.0的推出是在1997年最后一个版本的Windows95发布后不久,此时3D游戏开始深入人心,而那时的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最大的特色就是支持T&L,中文名称是“坐标转换和光源”。3D游戏中的任何一个物体都有一个坐标,当此物体运动时,它的坐标发生变化,这指的就是坐标转换;3D游戏中除了场景+物体还需要灯光,没有灯光就没有3D物体的表现,无论是实时3D游戏还是3D影像渲染,加上灯光的3D渲染是最消耗资源的。虽然OpenGL中已有相关技术,但此前从未在民用级硬件中出现。 

       在T&L问世之前,位置转换和灯光都需要CPU来计算,CPU速度越快,游戏表现越流畅。使用了T&L功能后,这两种效果的计算用显示卡的GPU来计算,这样就可以把CPU从繁忙的劳动中解脱出来。换句话说,拥有T&L显示卡,使用DirectX 7.0,即使没有高速的CPU,同样能流畅的跑3D游戏。这就是为什么玩大型3D游戏时显卡比CPU更重要的原因。

DirectX 7.0a

     增强了力反馈游戏控制设备的性能和兼容性。

DirectX 8.0/8.0a
        DirectX 8.0的推出引发了一场显卡革命,它首次引入了“像素渲染”概念,同时具备像素渲染引擎(Pixel Shader)与顶点渲染引擎(Vertex Shader),反映在特效上就是动态光影效果。同硬件T&L仅仅实现的固定光影转换相比,VS和PS单元的灵活性更大,它使GPU真正成为了可编程的处理器。这意味着程序员可通过它们实现3D场景构建的难度大大降低。通过VS和PS的渲染,可以很容易的宁造出真实的水面动态波纹光影效果。此时DirectX的权威地位终于建成。

DirectX 8.1

      Pixel Shader升级到1.2、1.3、1.4版,可以支持最高每时钟28指令执行       

DirectX 9.0      

      2002年底,微软发布DirectX9.0。DirectX 9中PS单元的渲染精度已达到浮点精度,传统的硬件T&L单元也被取消。全新的VertexShader(顶点着色引擎)编程将比以前复杂得多,新的VertexShader标准增加了流程控制,更多的常量,每个程序的着色指令增加到了1024条。SM2.0的shader性能更强,支持最高96指令的pixel shader长度,同时DirectPlay和一些音频方面也有大幅提升。

[1] [2]

责任编辑:zjdyx91


相关文章
 

最新文章

更多

· 什么是HTPC、HDTV、HDCP...
· 什么是DVD-R/RW、DVD+R/...
· 什么是Intel Viiv(欢跃)...
· 什么是双层刻录?
· 什么是DVI接口?
· 什么是OpenGL?与D3D有什...
· 什么是DirectX?DX9和DX...
· 什么是液晶显示器的灰阶...
· 什么是液晶显示器的"响应...
· 什么是显卡的显存频率

推荐文章

更多

热点文章

更多