admin管理员组

文章数量:1583045

2024年7月2日发(作者:)

维普资讯

——

新一代DirectX 1 0前瞻 

[:]北 /怅 j 

10o7年春.微软即将发布靳一代操作系统Windows vista。随着vi8ta一同到来的还有DireetX 10。届时不 

二・仅将拥有一个非常华百阿盼操作系统。而且电脑游戏也会更加精彩遁真。像将难以用肉眼分辨出游戏画面与 

【实世界的差异。可以垒身心地沉漫在游戏所臂造的氟围中。DlrectX 10将舍作为游戏与电脑硬件的纽带.充 

发挥出显卡的性能e夸果笔者就为大索深入介鲴撇软的新一代DiractX 10技术.让大家先知先觉为未来做好 

i鲁。 

什么是DirectX 

在WindOWS 95问世后不久.微软发 

了第一个Di re ct×版本~v1 0。 

NVIDIA发布了GeForce 256芯片时,首次在桌面电脑中引入了硬 

件级别的T&L光照转换技术。而DirectX 7凭借对它良好的支持赢 

得了游戏开发商的广泛认同。在0irectX 8中,首次引八了Pixel 

Shader像素着色处理单元并完善了Vertex Shader顶点着色处理单 

i rectX是由微软公司建立的游戏编程接 

】.由c++编程语言实现,遵循c0M规 

同时它建立了一种机制 由硬件制选 

元.使得游戏开发人员可精确地控制游戏中的每~个像素 到了 

oi rectX 8 1的时代,又追加支持更高版本的Sh8de r 1 4,在 

Di rectX 9 0时代可以支 ̄Shader 2 0.并且确立了3D API领域中 

无免的霸主地位 

商和游戏开发商协同制定新的标准。也 

是由此.DirectX的功能越来越强大。此 

它的影响力渐渐超越openGL并被多数 

c游戏开发商采用,业界有人也将它简称 

】D×。 

当然, 在 

Di rectX中也不仅仅 

是3D图形,它还包 

括了多个组成部 

分 。 其 中 

DI rectD Taw是负责 

2D绘图.DI rect3D 

负责3 D绘图, 

墨一■匝墨  

DirectSound负责游 

戏中的音频部分, 

DI reCtM usiC别是 

MIDI数字乐器界面.Directlnput控制着各种输^输出.DirectPlay 

负责网络数据的传送 Djrectsetup剧会对各种参数进行设定. 

DirectShow负责播放动函.Di rectAn;mation整台动画环境。 

维普资讯

什么是Shader? 

很多人都能理解像素、多边形、材质的概念, 

但始终对Shade r一词难以理解。翻开字典,Shade r 

Shade r是具有 

可编程性的, 

开发人员可以 

用它创造出非 

常独特的游戏 

是阴影的意思,但它和3D加速卡又有怎样的关系 

呢?事实上Shade r就是一段可以改变像素和顶点的 

小程序,因此在Shade r规范模型中又划分出两个分 

支,一个叫做像素着色器(PixeI Shade rs),一个 

叫做顶点着色器(Verte ̄Shaders)。这个Shader 

场景。 像 

NV JD JA和AT J 

小程序可以为游戏场景添加一些基本的几何学特 

效。例如湖水的涟漪,它会让特定的蓝色材质发生 

移动、扭曲和倒映,这样就会给人波光粼粼的感 

觉。若是将一个物体渲染成玻璃的风格,它就会让 

的显卡都严格 

水面使用pixel Shader ̄:着色处理 

支持Shade r的 

规格,并且为Shade r程序作了很多优化。当然,除 

了游戏的特效之外,游戏开发人员也可以用Shade r 

些材质发生透明和扭曲。Shade r技术主要应用于 

目前的电脑游戏中,它使电脑游戏画面更加逼真, 

做很多其他工作。总之,Shade r在未来的游戏中将 

发挥越来越重大的作用,在新一代DX1 0中将支持 

最新的Shader MOde J v4.0规范。 

现在的主流3D游戏画质要比几年前逼真许多。 

统一的Shader处理单元 

今后在WGF中无论是顶点的还是像素的Shader ̄会 

被统称为“统一Shader”,两种Shade睹B将包含在内。像 

素和顶点的Shader信息交换直接由硬件层来完成,这样信 

息传递和处理的速度会更快。这是因为像素和顶点的 

Shader ̄漫长的演化过程中,它们的结构和所实现的功能 

当两类Shader单元得到统一后,GPU还具备了新 

这样就可以更快地运算出所要置换的顶点数据。由此, 

数据处理的流程就会大大简化,数据不必在两种Shader 

单元中来回传递。 

都非常近似了。我们都知道在处理游戏场景时,像素的数 

据处理量要远远大于顶点的,顶点Shader处理单元经常会 

的功能~一整数运算,可以演化咸一种全新的图形处理 

架构。举例来说,在以前的GPU中系统要查找一个材质 

处于闲置状态。在像素和顶点Shade r统~化后,顶点 

Shader可以利用空闲的时间来处理像素Shade ̄ 

数据都要在内存地址中进行检索,每次系统都会使用浮 

点数据格式进行查找。但是当两类ShaderS--之后,我 

们就可以通过更加精密准确的整数格式对内存地址进行 

像素和顶点的 

Shade r运算单元结构 

检索,所有数据无需再四舍五入,无论是显存、虚拟内 

存或系统主存都可以更加高效地存取数据。 

统一后,有个非常显 

著的优势:像素 

Shade r单元中处理的 

材质贴图可以直接装 

载到顶点Shade r中, 

当显存开始支持新的整数数据类型后,显卡就完全 

像是处理器一样可以自由地使用虚拟内存了。我们知道 

从Shader 3.0以后,理论上讲Shade时旨令的长度不再有 

任何限制了。今后的游戏中可能会出现许多超长的 

这样就直接可以生成 

Xbox360中使用的就是统一Snader 

Shader} ̄令,只要有足够的存储空间,无论多么长的 

Shader ̄令GPU都能应付。当Shader单元支持整数数 

置换贴图。以前要想 

设置材质的顶点数据,必须先将材质转换为顶点Shader 

据后,系统可以轻松地将这些超长Shader} ̄令转化咸在 

所匹配的数据格式,但当两类Shader规格统一后,基于 

GPU内部运作的固定长度的微指令。运行短/J、而简单的 

像素的材质贴图数据可以直接装载到顶点贴图单元中, 指令时,GPU的处理速度会更快。 

几何Shader处理单元 

在新一代D×1 0中为了增强显卡的处理效能,在 

统一S h a d e r的基础上又增加了一个G e om et ry 

Shade r每一次运行只能处理一个顶点数据,并且每次 

只能输出一个顶点的结果。在整个游戏场景中,绘制 

几何图形的任务量是非常庞大的,如果仅仅依靠Ver- 

Shader几何处理单元。通过以上的介绍,我们不难理 

解,PixeI Shade r是专门处理像素的,Ve rtex Shade r 

是专门处理多边形顶点的,那么Geometry Shade r是 

专门用来处理场景中的几何图形。在过去Ve rtex 

tex Shader来完成,处理场景的效率会很低下,并且 

如大爆炸、粒子效果、瀑布流水等复杂的场景都很难 

逼真地表现出来。 

维普资讯

…… ● I 7。【.II J —L J {,-、、—— l孙玳-u 

1工业 口 上 P IIL/J、域T 

处理过程中又加入了Geometry Shade r几 

几何着色器工作在顶点与像 

素着色器之间。当显卡中的 

顶点着色单元生成顶点信息 

之后,就会将这些结果交给 

几何着色器来构成更为复杂 

的几何图形,最后交由像素 

Geomet ̄/Shader ̄i'_lJ几何图形的原理 

着色器来为这些几何图形添 

加各种材质。 

何着色器,可根据顶点的信息来批量处理 

几何图形。Geometry Shade r可以将点、 

线、三角形等基本的构图元素连接起来, 

创造出新的多边形,快速地将这些处理结 

果传递给其他Shade r或显存,并且这个过 

程无需处理器参与。 

Geomet ry Shade r最重要的工作就是 

接点,将顶点之间用线连接起来。例如 

当Geometry Shade rE有两个顶点的信息 

Geometry Shader的出现 

使得游戏开发人员可以设计出 

更为复杂的烟雾、爆炸、天气 

等效果,并且游戏场景中的模 

型可以设计得更为复杂细腻, 

Geomet ̄/Shader几何着色器工作在顶点 

而处理器也可从这些繁重的计 

时,它就可以将两个点连接起来组成一条 

线,通过这条线可以绘制其他延长线上的 

点,而通过连接3个顶点就可绘制出一个三 

角形,最后通过计算延长线上的点,则可 

绘制出更为复杂的几何图形。 

算任务中解脱出来。 

为游戏提速。再提速! 

在未来的DX10游戏中,场景会非常逼 

真,物体会使用更多的多边形绘制,而场景 

在DX10中,会大幅弱化API与驱动程序之间的数据迁移,让 

3D处理程序能顺畅处理对象。目前在基于DX9的游戏程序中, 

中也会包含海量的物件。例如在森林中,你 GpUu有60%的时间是在执行程序,而其他40%的时间用来处 

将会看到无数的树木,而每棵树上又会包含 

无数片精致的树叶。为了让游戏运行得更流

畅,在DX10中引入了许多提速理念。 

理各种各样的额外开销。在DX1 0中GPU的处理效率会提升到 

80%,由此在游戏中就可显示出更多的物体,而游戏性能也会大 

幅提高。 

渲染~词是随着T&L技术而提出的3D流水线处理方式,不过 

在DX1 0中,将会淡化渲染的概念,所有的一切都将使用Shader处 

理。一旦处理流水线完全Shade r化之后,就可以进行流输出 

(Steam Out)。这有点类似使用跳转分支语句控制程序的走向。 

例如某些处理对象在生成顶点着色之后,可以通过流输出操作让 

结果直接返回流水线的源头进行几何着色处理,而不必经过像素 

着色阶段。由此就会大幅简化GPU的开销,提高程序运行速度。 

DX1 0:P的游戏场景将非常复杂 

DX1 0是Vista的“独生子” 

在微软官方文档中我们可以明确看到 

”Requires Vista”的注释,也就是说仅有新 

在DX10中提供了兼容模式可以执行DX9的游戏。尽管很多新款 

游戏会支持DX10,但是游戏开发商也照顾到广大老显卡用户,游戏 

代操作系统Vista才可以支持DX1 0。为了能 会尽可能支持更多的显卡。因此使用DX9显卡的用户依旧可以 ̄:EVista 

上玩新款DX1 0游戏。NVIDIA的G8O ̄UATI的R6O0都是支持D×1 0的显 将新一代DirectX革命进行到底,微软的工程 

师们对DX10进行了较大的改动,使之难以兼 

容旧的×P操作系统。这也就意味着我们要想 

体验DX1 0游戏的魅力,必须升级 ̄lJVista。

卡,它们会在今年年底前陆续登场。而支持DX10显卡的普及率要想 

真正超过D×g显卡还需一定时间,因此各位玩家不必急-T-- ̄买昂贵的 

DX1 0显卡。 

总结 

微软的Vista操作系统给了我们太多的期待,DirectX 10也给了我们对未来游戏太多的畅想。各大游戏公司 

公布的DX10游戏截图都让我们惊叹不已。DX10不仅仅让游戏变得更为华丽,也会大幅提高硬件的工作效率。 

虽然目前还没有一款真正支持DX10的GPU,但是微软的Xbox360中所使用的Xenos是最为接近DX10规范的硬 

件。由 ̄Xbox360的游戏和PC游戏之间可以更快地相互移植。待到DX10真正发布时,操作系统、电脑硬件、 

游戏软件都将会有一轮新的变革。翻 

本文标签: 游戏顶点处理像素场景