最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

DirectX版本与功能

IT圈 admin 31浏览 0评论

2024年9月11日发(作者:系贤)

因为DirectX必须支持多媒体设备的最新技术和功能,而多媒体硬件(尤其是显卡[的3D

性能])和技术始终处在高速发展过程中,所以DirectX的技术和版本也同样在不断地发展

和演变,其中发展最快的是3D接口部分。

下面列出DirectX的主要版本的发布时间、引入的新模块和特性:

l 1.0——1995年9月30日:DirectDraw、DirectSound、DirectInput、DirectPlay、

DirectSetup;

l 2.0——1996年6月5日:引入Direct3D(次版本有2.0a);

l 3.0——1996年9月15日:支持MMX、为DirectSound 补充DirectSound3D API(次版

本有3.0a);

l 4.0——无此版本号;

l 5.0——1997年7月16日:有许多改进,如受力反馈控制器、多显示器支持、新的游戏

控制面板、用户界面的全面改进等(次版本有5.1和5.2);

l 6.0——1998年8月7日:添加新的3D特性(如添加DXUT框架)、支持AMD公司的

3DNow!技术、性能较5.0有提高。在1999年2月3日推出的6.1版中,添加了

DirectMusic模块;

l 7.0——1999年9月22日:改进3D图形和声音、性能更快,为Direct3D API引入硬件

传送、光照和纹理压缩、以及硬件加速,引入D3DX工具库。使用Creative公司的EAX

技术改进3D声音的算法(次版本有7.0a和7.1);

l 8.0——2000年9月30日:将DirectDraw与Direct3D完全集成在一起、其中Direct3D

的性能有了本质上的飞跃(引入顶点/像素shader[着色引擎/光照模型]、支持硬件点精灵和

三维体纹理),将DirectMusic与 DirectSound更紧密地集成在一起构成DirectX Audio,

更新了DirectInput与DirectPlay,添加了DirectShow、抛弃了其余的DirectX Media模块。

2001年11月11日推出的8.1版,被集成在Windows XP中销售,该版本添加了从

DirectShow分离出的DMO(DirectX Media Objects媒体对象)组件模块。它还支持许多

新的图形特性,如像素着色引擎的1.2~1.4版、动态/高分辨率纹理、新3D扩展方法等

(次版本有8.0a、8.1、8.1a和8.1b);

l 9.0——2002年12月24日:添加许多新特性到DirectX Graphics和DirectShow中,例

如将DirectDraw的功能并入到Direct3D之中,支持顶点和像素着色引擎的新版本2.0和

3.0,引入裁剪测试、位移贴图和多元纹理,支持128位浮点着色精度和根据显示器自动调

整γ值等。也添加若干新特性到DirectInput、DirectPlay、DirectSound和DirectMusic中。

(次版本有9.0a、9.0b和9.0c)。

DirectX的最后一个以数字和字母命名的版本,是2004年8月9日推出的9.0c。后来每两

到四个月就推出了它的一个升级版,当前的最新版本为2010年6月7日推出的June

2010 DirectX SDK。它们都包含了(于2002年推出的专为.NET框架设计的)托管

(Managed)DirectX,将原来DirectX多个分离的COM模块集成到了一个容易使用的单

一CLR文件之中。

l 10——DirectX不会有独立的第10版了,因为微软公司已将DirectX的功能集成进其操作

系统Windows Vista中,而不再将其作为一个额外的模块了。DirectX 10(其主要部件为

Direct3D 10)已于2006年11月30日随Windows Vista一起发布(被嵌入到该操作系统

之中)。DirectX 10有如下特点:

n 全新的显示驱动模式——微软为Vista和DirectX 10重新设计了一种显卡的显示驱动模

式VDDM(Vista Display Driver Model),它将显卡驱动程序与系统的其他驱动程序分开,

并能使之运行于独立硬件供应商模式和用户模式下,使得由显卡驱动规格差异所导致的3D

应用程序不兼容情况大幅度降低,从而提高整个系统的稳定性。此外,DirectX 10 还重新

优化了显存管理功能,降低了游戏开发商开发工作的复杂程度。

n 全新的API——由于DirectX 10 的渲染方式发生了巨大的变化,微软重写了API的大部

分代码,去掉了设备能力检查(CAPS),即去除了对老版本Direct3D的硬件支持,使得

开发商不必担心兼容性问题而放心地使用硬件的各种特性。此外,微软还对渲染管线流程

进行了大面积改进(参见图14-1),全面使用着色器化的架构,将渲染状态有机分类,极

大地减少了开发者在开发大型游戏时的技术难度,并且也有助于提升渲染能力,减少渲染

状态前后设置和互相影响对渲染成功率的影响,从而提高3D应用程序的执行速度和质量。

新加入的几何着色器则提供了对批量几何图形的处理能力,也有助于程序执行效率的提高。

n Shader Model 4.0——Shader Model(着色器模型)是微软公司定义图形平台性能的一

个标准,着色器是渲染像素和顶点的小程序,分为顶点着色器(Vertex Shader)和像素着

色器(Pixel Shader)两种类型,这些程序能够向基本的几何图形添加效果。从图14-1中

的渲染管线流程中我们可以看到,Shader Model 4.0 将作为DirectX 10 的核心存在,并且,

由于DirectX 10 去除了CAPS,那么对Shader Model 4.0 的硬件支持,也就成为了一块

DirectX 10 显卡的必备条件。这将有助于消除不同显卡厂商的产品在技术参数上的差别,

减少消费者的选购难度。同时,Shader Model 4.0将能够同时访问的顶点数在3.0的基础

上增加了8倍,并将材质顶点支持模式变为RGBE,极大地提高了光照处理性能。

n 支持困难——DirectX 10放弃了对以前版本的硬件支持,这意味着采用DirectX 9以及

以前版本API编写的3D应用程序只能通过软件模拟方式得到DirectX 支持,这对程序的

运行效率是有负面影响的。诸多全新的游戏特性使得现在支持DirectX 9 的显卡虽然也能

勉强在DirectX 10下正常工作,但大部分新特性如Shade Model 4.0等则都无法使用。而

由于需要VDDM的支持,目前微软声称DirectX 10支持的最低版本的操作系统为

Windows Vista,而Windows XP 将无法使用DirectX 10。而WindowsVista对硬件的苛刻

要求,目前的机器恐怕大多难以胜任。

图14-1是DirectX 10.0与DirectX 9.0的Direct3D管线阶段的比较。

图14-1 DirectX 9.0(左图)与DirectX 10(右图)的管线阶段

l 10.1——微软公司于2008年2月4日,随Vista SP1发布了DirectX 10的升级版

DirectX 10.1,它具有如下改进:

n DirectX 10.1的一个主要提高是改善的shader资源存取功能,在读取多样本时有更好的

控制能力。除此之外,DX10.1还将可以创建定制的下行采样滤波器。

n DirectX 10.1还将有更新的浮点混合功能,对于渲染目标更有针对性,对于渲染目标混

合将有新的格式,渲染目标可以实现独立的各自混合。

n 阴影功能一直是游戏的重要特效,Direct3D 10.1 的阴影滤波功能也将有所提高,从而可

望进一步提高画质。

n 在性能方面,DirectX 10.1将支持多核系统有更高的性能。而在渲染,反射和散射时,

Direct3D 10.1将减少对API的调用次数,从而将获得不错的性能提升。

n 其他方面,DirectX 10.1的提高也不少,包括32bit浮点滤波,可以提高渲染精确度,改

善HDR渲染的画质。完全的抗锯齿应用程序控制也将是DX10.1的亮点,应用程序将可以

控制多重采样和超级采样的使用,并选择在特定场景出现的采样模板。DirectX 10.1将至

少需要单像素四采样。

n DirectX 10.1还将引入更新的驱动模型,WDDM 2.1。与DirectX 10的WDDM2.0相比,

2.1有一些显著的提高。首先是更多的内容转换功能,WDDM2.0支持处理一个命令或三角

形后进行内容转换,而WDDM2.1则可以让内容转换即时进行。由于GPU同时要并行处

理多个线程,因此内容转换的即时性不仅可以保证转换质量,还可以提升GPU效率,减

少等待时间。另外,由于WDDM 2.1支持基于过程的虚拟内存分配,处理GPU和驱动页

面错误的方式也更为成熟。

目前只有AMD的Radeon HD3000系列产品支持DirectX 10.1。

l 11——微软公司于2009年10月22日随Windows 7发布Direct3D 11。在DirectX 11中,

微软主要目标在于减少游戏工作室的开发成本,与新PC硬件更有效结合,提高物理效果、

游戏AI以及游戏其他功能特性以提高游戏的互动性。随着游戏画质不断提高,图形细节的

复杂程度也大幅提升。微软已经在游戏主机开发中拥有了不少高效图形开发程序经验,通

过更为强大的纹理制作API,DirectX 11将提高纹理生成性能,从而让游戏运行帧数更为

流畅。在硬件方面,微软也指出值得注意的发展趋势——CPU并行多核心化。DX11将在

并行运算处理能力利用上进一步改进,通过新的完善的驱动界面支持并行多核心处理器平

台。流处理以及GPGPU也是图形领域的重要发展方向,DX11将在未来对这些新技术提

供支持。

DirectX 11的主导者不是微软,而是Intel。因为Direct3D 11将会支持Intel的光线追踪

(Ray Tracing)技术,该技术可使得3D图形更加真实、更具立体感,而不是一看就能看

出来是在一个平面上显示出来的效果。相对于目前的光栅化技术(rasterizATIon),光线追

踪更加注重从视觉上改变3D(主要运用到折射)物体的效果,而不是rasterizATIon那样通

过几何原理.当然,用户不用担心使用现在的显卡不能安装DirectX 11,因为DirectX 11会

有两种模式,可以说是rasterizATIon模式和Ray Tracing模式。最值得一提的是Intel的

Ray Tracing只能够支持X86架构。D3D 11的主要目的有提高伸缩性、改善开发体验、拓

展GPU能力、改善性能。它是D3D 10/10.1的超集,在其基础上增加了一些新功能,支

持Windows Vista和后续操作系统Windows 7等,支持DX10/10.1级别硬件。

D3D 11的主要新技术有:Tessellation(镶嵌)、计算着色器(Compute Shader)、多线

程、动态着色器关联、改进的纹理压缩等等。角色创作的趋势是越来越复杂,三角形和多

边形越来越多,对渲染管线和输入输出提出了更大的挑战,因此需要更高级的表面呈现技

术。为此,D3D 11新增了三个着色流程:Hull Shader(外壳着色器)、Tessellation(镶

嵌)和Domain Shader(域着色器),使其着色器管线更加丰富和复杂。参见图14-2。

图14-2 Direct3D 11管线(绿色模块为Direct3D 11管线新加的)

l XNA——另外,作为学生和业余爱好者的DirectX替代产品,微软公司于2004年3月24

日宣布了用于托管运行环境下计算机游戏的设计、开发和管理的框架和工具集XNA

(XNA's Not Acronymed,XNA不是首字母缩写),并于2006年12月11日推出了XNA

Framework Redistributable 和XNA Game Studio Express的1.0版,可用于Windows和

Xbox 360游戏的开发。微软公司后来又分别于2007年12月13日、2008年10月30日、

2009年6月 11日和2010年9月16日推出了XNA Game Studio的2.0、3.0、3.1和4.0

版。

2024年9月11日发(作者:系贤)

因为DirectX必须支持多媒体设备的最新技术和功能,而多媒体硬件(尤其是显卡[的3D

性能])和技术始终处在高速发展过程中,所以DirectX的技术和版本也同样在不断地发展

和演变,其中发展最快的是3D接口部分。

下面列出DirectX的主要版本的发布时间、引入的新模块和特性:

l 1.0——1995年9月30日:DirectDraw、DirectSound、DirectInput、DirectPlay、

DirectSetup;

l 2.0——1996年6月5日:引入Direct3D(次版本有2.0a);

l 3.0——1996年9月15日:支持MMX、为DirectSound 补充DirectSound3D API(次版

本有3.0a);

l 4.0——无此版本号;

l 5.0——1997年7月16日:有许多改进,如受力反馈控制器、多显示器支持、新的游戏

控制面板、用户界面的全面改进等(次版本有5.1和5.2);

l 6.0——1998年8月7日:添加新的3D特性(如添加DXUT框架)、支持AMD公司的

3DNow!技术、性能较5.0有提高。在1999年2月3日推出的6.1版中,添加了

DirectMusic模块;

l 7.0——1999年9月22日:改进3D图形和声音、性能更快,为Direct3D API引入硬件

传送、光照和纹理压缩、以及硬件加速,引入D3DX工具库。使用Creative公司的EAX

技术改进3D声音的算法(次版本有7.0a和7.1);

l 8.0——2000年9月30日:将DirectDraw与Direct3D完全集成在一起、其中Direct3D

的性能有了本质上的飞跃(引入顶点/像素shader[着色引擎/光照模型]、支持硬件点精灵和

三维体纹理),将DirectMusic与 DirectSound更紧密地集成在一起构成DirectX Audio,

更新了DirectInput与DirectPlay,添加了DirectShow、抛弃了其余的DirectX Media模块。

2001年11月11日推出的8.1版,被集成在Windows XP中销售,该版本添加了从

DirectShow分离出的DMO(DirectX Media Objects媒体对象)组件模块。它还支持许多

新的图形特性,如像素着色引擎的1.2~1.4版、动态/高分辨率纹理、新3D扩展方法等

(次版本有8.0a、8.1、8.1a和8.1b);

l 9.0——2002年12月24日:添加许多新特性到DirectX Graphics和DirectShow中,例

如将DirectDraw的功能并入到Direct3D之中,支持顶点和像素着色引擎的新版本2.0和

3.0,引入裁剪测试、位移贴图和多元纹理,支持128位浮点着色精度和根据显示器自动调

整γ值等。也添加若干新特性到DirectInput、DirectPlay、DirectSound和DirectMusic中。

(次版本有9.0a、9.0b和9.0c)。

DirectX的最后一个以数字和字母命名的版本,是2004年8月9日推出的9.0c。后来每两

到四个月就推出了它的一个升级版,当前的最新版本为2010年6月7日推出的June

2010 DirectX SDK。它们都包含了(于2002年推出的专为.NET框架设计的)托管

(Managed)DirectX,将原来DirectX多个分离的COM模块集成到了一个容易使用的单

一CLR文件之中。

l 10——DirectX不会有独立的第10版了,因为微软公司已将DirectX的功能集成进其操作

系统Windows Vista中,而不再将其作为一个额外的模块了。DirectX 10(其主要部件为

Direct3D 10)已于2006年11月30日随Windows Vista一起发布(被嵌入到该操作系统

之中)。DirectX 10有如下特点:

n 全新的显示驱动模式——微软为Vista和DirectX 10重新设计了一种显卡的显示驱动模

式VDDM(Vista Display Driver Model),它将显卡驱动程序与系统的其他驱动程序分开,

并能使之运行于独立硬件供应商模式和用户模式下,使得由显卡驱动规格差异所导致的3D

应用程序不兼容情况大幅度降低,从而提高整个系统的稳定性。此外,DirectX 10 还重新

优化了显存管理功能,降低了游戏开发商开发工作的复杂程度。

n 全新的API——由于DirectX 10 的渲染方式发生了巨大的变化,微软重写了API的大部

分代码,去掉了设备能力检查(CAPS),即去除了对老版本Direct3D的硬件支持,使得

开发商不必担心兼容性问题而放心地使用硬件的各种特性。此外,微软还对渲染管线流程

进行了大面积改进(参见图14-1),全面使用着色器化的架构,将渲染状态有机分类,极

大地减少了开发者在开发大型游戏时的技术难度,并且也有助于提升渲染能力,减少渲染

状态前后设置和互相影响对渲染成功率的影响,从而提高3D应用程序的执行速度和质量。

新加入的几何着色器则提供了对批量几何图形的处理能力,也有助于程序执行效率的提高。

n Shader Model 4.0——Shader Model(着色器模型)是微软公司定义图形平台性能的一

个标准,着色器是渲染像素和顶点的小程序,分为顶点着色器(Vertex Shader)和像素着

色器(Pixel Shader)两种类型,这些程序能够向基本的几何图形添加效果。从图14-1中

的渲染管线流程中我们可以看到,Shader Model 4.0 将作为DirectX 10 的核心存在,并且,

由于DirectX 10 去除了CAPS,那么对Shader Model 4.0 的硬件支持,也就成为了一块

DirectX 10 显卡的必备条件。这将有助于消除不同显卡厂商的产品在技术参数上的差别,

减少消费者的选购难度。同时,Shader Model 4.0将能够同时访问的顶点数在3.0的基础

上增加了8倍,并将材质顶点支持模式变为RGBE,极大地提高了光照处理性能。

n 支持困难——DirectX 10放弃了对以前版本的硬件支持,这意味着采用DirectX 9以及

以前版本API编写的3D应用程序只能通过软件模拟方式得到DirectX 支持,这对程序的

运行效率是有负面影响的。诸多全新的游戏特性使得现在支持DirectX 9 的显卡虽然也能

勉强在DirectX 10下正常工作,但大部分新特性如Shade Model 4.0等则都无法使用。而

由于需要VDDM的支持,目前微软声称DirectX 10支持的最低版本的操作系统为

Windows Vista,而Windows XP 将无法使用DirectX 10。而WindowsVista对硬件的苛刻

要求,目前的机器恐怕大多难以胜任。

图14-1是DirectX 10.0与DirectX 9.0的Direct3D管线阶段的比较。

图14-1 DirectX 9.0(左图)与DirectX 10(右图)的管线阶段

l 10.1——微软公司于2008年2月4日,随Vista SP1发布了DirectX 10的升级版

DirectX 10.1,它具有如下改进:

n DirectX 10.1的一个主要提高是改善的shader资源存取功能,在读取多样本时有更好的

控制能力。除此之外,DX10.1还将可以创建定制的下行采样滤波器。

n DirectX 10.1还将有更新的浮点混合功能,对于渲染目标更有针对性,对于渲染目标混

合将有新的格式,渲染目标可以实现独立的各自混合。

n 阴影功能一直是游戏的重要特效,Direct3D 10.1 的阴影滤波功能也将有所提高,从而可

望进一步提高画质。

n 在性能方面,DirectX 10.1将支持多核系统有更高的性能。而在渲染,反射和散射时,

Direct3D 10.1将减少对API的调用次数,从而将获得不错的性能提升。

n 其他方面,DirectX 10.1的提高也不少,包括32bit浮点滤波,可以提高渲染精确度,改

善HDR渲染的画质。完全的抗锯齿应用程序控制也将是DX10.1的亮点,应用程序将可以

控制多重采样和超级采样的使用,并选择在特定场景出现的采样模板。DirectX 10.1将至

少需要单像素四采样。

n DirectX 10.1还将引入更新的驱动模型,WDDM 2.1。与DirectX 10的WDDM2.0相比,

2.1有一些显著的提高。首先是更多的内容转换功能,WDDM2.0支持处理一个命令或三角

形后进行内容转换,而WDDM2.1则可以让内容转换即时进行。由于GPU同时要并行处

理多个线程,因此内容转换的即时性不仅可以保证转换质量,还可以提升GPU效率,减

少等待时间。另外,由于WDDM 2.1支持基于过程的虚拟内存分配,处理GPU和驱动页

面错误的方式也更为成熟。

目前只有AMD的Radeon HD3000系列产品支持DirectX 10.1。

l 11——微软公司于2009年10月22日随Windows 7发布Direct3D 11。在DirectX 11中,

微软主要目标在于减少游戏工作室的开发成本,与新PC硬件更有效结合,提高物理效果、

游戏AI以及游戏其他功能特性以提高游戏的互动性。随着游戏画质不断提高,图形细节的

复杂程度也大幅提升。微软已经在游戏主机开发中拥有了不少高效图形开发程序经验,通

过更为强大的纹理制作API,DirectX 11将提高纹理生成性能,从而让游戏运行帧数更为

流畅。在硬件方面,微软也指出值得注意的发展趋势——CPU并行多核心化。DX11将在

并行运算处理能力利用上进一步改进,通过新的完善的驱动界面支持并行多核心处理器平

台。流处理以及GPGPU也是图形领域的重要发展方向,DX11将在未来对这些新技术提

供支持。

DirectX 11的主导者不是微软,而是Intel。因为Direct3D 11将会支持Intel的光线追踪

(Ray Tracing)技术,该技术可使得3D图形更加真实、更具立体感,而不是一看就能看

出来是在一个平面上显示出来的效果。相对于目前的光栅化技术(rasterizATIon),光线追

踪更加注重从视觉上改变3D(主要运用到折射)物体的效果,而不是rasterizATIon那样通

过几何原理.当然,用户不用担心使用现在的显卡不能安装DirectX 11,因为DirectX 11会

有两种模式,可以说是rasterizATIon模式和Ray Tracing模式。最值得一提的是Intel的

Ray Tracing只能够支持X86架构。D3D 11的主要目的有提高伸缩性、改善开发体验、拓

展GPU能力、改善性能。它是D3D 10/10.1的超集,在其基础上增加了一些新功能,支

持Windows Vista和后续操作系统Windows 7等,支持DX10/10.1级别硬件。

D3D 11的主要新技术有:Tessellation(镶嵌)、计算着色器(Compute Shader)、多线

程、动态着色器关联、改进的纹理压缩等等。角色创作的趋势是越来越复杂,三角形和多

边形越来越多,对渲染管线和输入输出提出了更大的挑战,因此需要更高级的表面呈现技

术。为此,D3D 11新增了三个着色流程:Hull Shader(外壳着色器)、Tessellation(镶

嵌)和Domain Shader(域着色器),使其着色器管线更加丰富和复杂。参见图14-2。

图14-2 Direct3D 11管线(绿色模块为Direct3D 11管线新加的)

l XNA——另外,作为学生和业余爱好者的DirectX替代产品,微软公司于2004年3月24

日宣布了用于托管运行环境下计算机游戏的设计、开发和管理的框架和工具集XNA

(XNA's Not Acronymed,XNA不是首字母缩写),并于2006年12月11日推出了XNA

Framework Redistributable 和XNA Game Studio Express的1.0版,可用于Windows和

Xbox 360游戏的开发。微软公司后来又分别于2007年12月13日、2008年10月30日、

2009年6月 11日和2010年9月16日推出了XNA Game Studio的2.0、3.0、3.1和4.0

版。

发布评论

评论列表 (0)

  1. 暂无评论