DirectX是一个什么样的软件?

DirectX是一种图形应用程序接口(API)。简单来说就是一个辅助软件,一个提升系统性能的加速软件。它是由微软创造和开发的,微软将它定义为“硬件设备独立”。直接就是直接的意思,X是很多东西,加起来就是一组共同的东西。从内部原理来看,DirectX简单来说就是一系列的dll(动态链接库),开发者通过这些dll可以访问底层硬件,而不用考虑设备差异。DirectX封装了一些COM(组件对象模型)对象,这些对象提供了访问系统硬件的主接口。

DirectX1.0

DirectX出现在Windows发布之后。Windows3.1的声音处理一次只能播放一个音,图形处理能力也很弱。另外,Windows3.1的整个操作系统还很脆弱,这个时候就更没必要了。另外DirectX标准刚出台,很多硬件不支持,很多主流游戏也不支持。就算没有游戏,没有硬件,有一个好的标准也没有意义。但是随着Windows 95的发布和稳定的window操作系统,出现了划时代的变化,DirectX的命运也发生了改变。

DirectX2.0

最后DirectX升级到了2.0。这时候,标志性的产品就诞生了。2.0最大的提升在直接抽签,这个时代的经典游戏也出现了。代表性的RedAlert和Diable,Windows版的Red Alert和Diable都是在DirectX的标准上开发的。可惜当时很多老显卡因为不能完全支持DirectX2.0而无法玩Diable,除了2D,DirectX2.0的D3D部分原型基本完成。因为当时3D游戏很少,很多都是基于DOS开发的。世嘉的VR战士PC版是基于DirectX2.0开发的,虽然效果有点粗糙,但还是能感受到Direct 3D的魅力。

DirectX3.0

1997同年微软发布了Windows95和DirectX 3.0的最新版本。此时,DirectX的魅力受到了众多软硬件厂商的青睐,这也给了D3D对抗OpenGL和Glide的勇气。从这个版本开始,很多玩家都知道了DirectX的存在,而这个时候开始出现3D加速卡,比如3DFX的Voodoo,Nvidia的Riva128,Intel的I740。这个时候3D游戏越来越多,但是当时有几个应用接口标准。主要的三个是专业的OpenGL接口,微软的D3D接口和3DFX的Glide接口。其中影响最大的是3DFX的Glide,正在如火如荼的进行中。Glide当然是大树下的阴凉处。游戏程序员可以很容易地用它编译复杂而生动的3D效果。如果他们看好3DFX,他们当然也会看好Glide。但3DFX的自封闭不开放政策导致其随后破产,被英伟达收购。没有了3DFX的支持,Glide的影响力从此减弱,这就是后话了。

DirectX5.0

微软似乎还没有发布DirectX的4.0版本,DirectX3.0发布后不久就发布了DirectX5.0,虽然5.0和3.0之间的时间间隔并不长,但意义并不简单。DirectX5.0的D3D效果当时可以和OpenGL平分秋色。首次引入原子化的支持,让3D游戏在空间上更加逼真,让玩家体验到真实的3D游戏环境。此外,游戏系统的兼容性也有了很大的提升。

DirectX6.0

DirectX5.0发布后不久,第二代3D加速卡问世,这一代3D加速卡借助DirectX6.0技术赢得了这场战役。主要代表显卡是Nvidia的丽娃TNT,甚至是VooDoo2和VooDoo3。这个时代,市场格局已经非常清晰,就是NVidia和3DFX的斗争。DirectX 6的3D效果更多,加上硬件的强大性能,可以高分辨率渲染32位颜色的3D效果。采用PCI总线技术的VOODOO系列失败,在800x600下只能支持16位显色。Nvidia从一开始就采用了先进的AGP总线结构、高规格和新技术,每一次发布新品都给用户更高的性能享受,每一次成功都是。

DirectX7.0

DirectX7的发布再次重新整合了显卡市场。DirectX7最大的特点是支持T &;l,中文名字叫“坐标变换与光源”。3D游戏中的任何物体都有一个坐标。当物体移动时,其坐标发生变化,这意味着坐标变换。3D游戏中,除了场景和物体,还需要灯光。没有照明,就没有3D对象的表示。无论是实时3D游戏还是3D图像渲染,带光照的3D渲染都是最耗费资源的。at t & amp;在L出现之前,位置转换和灯光都需要CPU来计算。CPU越快,游戏性能越流畅。T & ampl函数,这两个效果都是由显卡的GPU(可以理解为显卡的CPU)来计算,让CPU从繁忙的工作中解脱出来,让CPU去做它应该做的事情,比如逻辑运算,数据计算等等。换句话说,有T &;l显卡,使用DirectX7,即使没有高速CPU也能流畅运行3D游戏。T & amp那时我成了人们关注的焦点。在这次T&,第一个支持T & ampL功能的显卡是Nvidia的Geforce 256,之后发布的Geforce 2基本上可以说是Geforce 256的提速版,除了速度快了很多,其他没有什么技术上的提升。同时,ATI发布的Radeon7500一度成为支持T & L功能的最佳显卡。DirectX7的发布成为了巫毒系列显卡的坏消息。这个时候,3DFX也走到了尽头,被Nvidia收购,成为显示卡的历史,给后人带来了遗憾和叹息。

DirectX8.0

2001年,微软发布DirectX8,一场显卡革命开始了。它首次引入了“像素渲染”的概念,同时拥有顶点着色器和顶点着色器,体现在动态光影效果上。发布没多久,Madonion(今日Futuremark)发布了基于DirectX8的3Dmark2001显卡测试软件,支持DirectX8的所有特效。但是当时只有少数显卡能体验到那种华丽的场景,大部分显卡都无法完成这个软件的所有测试,有四个都跑不出来。原因是DirectX8集成了两种特效――VS(顶点着色器)和PS(像素着色器)。通过vs和ps的渲染,很容易在水面上营造出真实的动态波纹光影效果。主要代表显卡是NVIDIA的Geforce 3和后期ATI的Radeon8500。DirectX8的发布成为了真正的第四代3D加速卡时代的标志。

DirectX9.0

2002年底,微软发布了DirectX9.0,从参数上来看,DirectX9相比DirectX8只改进了PS和VS版本。现在的版本都是2.0版本,似乎没有什么质的变化。其实不然。让我们分别比较一下像素着色器和顶点着色器。

首先,PS 2.0具有完全可编程的架构,可以即时计算纹理效果,动态纹理贴图,不占用内存,理论上无限提高材质贴图的分辨率;另外,PS1.4只能支持28条硬件指令,同时操作6个素材,而PS2.0可以支持160条硬件指令,同时操作16个素材。新的高精度浮点数据规范可以使用多个纹理图,可操作的指令个数可以任意长,可以轻松实现胶片级的显示效果。

其次,VS 2.0通过增加顶点程序的灵活性,显著提升了旧版本(DirectX8)的VS性能。对于新的控制指令,可以用通用程序代替以前专用的单独着色程序,效率提高很多倍。增加循环作业指令,减少工作时间,提高加工效率;扩展着色指令的数量从128增加到256。

另外增加了浮点数据的处理功能,过去只能处理整数,提高渲染精度,使最终处理后的色彩格式达到电影级别。它突破了之前限制PC图形图像质量的数学精度障碍,每条渲染管道都升级到了128浮点颜色,让游戏程序员更容易创造出更漂亮的效果,也更容易让程序员编程。