![]() |
Submit News Tips | I4U Gadget Flyer | RSS Feed | |||
|
||||
| | 网站首页 | 文章中心 | | ||||
![]() |
|
|
|
| HOT TOPICS: Nintendo Wii | Sony PS3 | Xbox 360 | Gadget Models |
| I4U Latest News |
什么是Shader? 走进奇幻Shader世界Topic: 技术前沿 荐 ★★★★★ 作者:Rowan 文章来源:本站原创 点击数: 更新时间:2007-7-10
编者按:这篇文章成文于2005年11月13日,发表在《大众硬件》杂志上。是一篇非常优秀的显卡技术文章。玩显卡很多年了,自认为对显卡还是有非常深刻的理解的。Shader自从它的出现,就对3D显示业界有着重大的影响。未来的Shader Model 4.0会成为新的主流。然而在2005年的时候,对于今天我又作了怎样的预测呢?
走进奇幻Shader世界 如果要提起显卡,提起游戏性能很多人都会首先想到显卡的一些基本性能指标。如,核心频率、显存容量、象素填充速度、三角形生成率等等。但是随着3D图形技术突飞猛进的发展,上面提到的一些性能指标已经远远不足评判一款显卡的优劣。因为显卡世界正在悄悄发生着变化,一个新词经常被人们提起——Shader。消费者在选购显卡时,Shader已经成为一项十分重要的考虑因素。今天我们就来谈谈显卡中的Shader技术。
可以说真正意义上的第一款3D加速卡诞生于1997年,那就是家喻户晓的第一代3Dfx Voodoo 3D加速卡。这款3D加速器仅仅能对象素和光栅进行处理。接下来不断有新的公司和团体加入到3D加速器的研发和技术研究中。在第一代Voodoo的基础上又推出了许多具有3D加速能力的显示卡。在这个群雄四起的年代,微软也制定出了自己的图形API接口DirectX。
(如图1,不同版本的Shader和DirectX游戏画面质量也不同。) 直到Geforce 256 GPU的出现,3D加速史才翻开了一个新的篇章。它是真正意义上的一款完全3D加速器,通过硬件级别的T&L转换和光照技术,自始至终为全部3D场景进行加速。由此图形显示卡又多了一个非常华丽的名字——GPU。 不久GeForce 2显卡诞生了,它虽然比GeForce 256有着更快的性能但是它的整体架构仍然没有太大的变化。3D游戏开发人员在编程时,只能利用显卡内置的一些简单的函数制作特效。当时支持DirectX7的游戏就是最好的例子,那些画面仅仅是简单的多边形和材质的堆砌。 几个月之后GeForce 3来了,它是第一代可编程的GPU。它允许游戏开发人员自己编写更为复杂更为逼真的程序,可以精细的控制游戏场景中每一个象素。这一重大突破随着支持DirectX8的游戏一起到来。每一位玩家都深刻的感受到了这股彭湃的浪潮,它就是第一代Shader标准v1.1。 在GeForce 3出台不久ATi的Radeon 8500也随之登场。由于它的研发起步较晚,它支持Shader的版本更高。当时已经有Shader v1.4版本出台,由此它也不折不扣的支持了当时最为先进的DirectX8.1规范。 等到NVIDIA发布GeForceFX系列显卡时,已经是DirectX9.0的时代了。又是由于起步较晚,ATi的Radeon 9700系列比NV的FX系列更完美的支持DX9,游戏性能大幅领先。但是NVIDIA也不是一无是处,FX系列支持的是Shader v2.0a。这个小写的a意味着它支持的是标准版的扩展,在很多方面要优于微软所要求的规格。 3D加速器发展到今天,GeForce系列已经更新到第6、7代了,他们都可以完美的支持DirectX9.0c和Shader v3.0。而ATi的Radeon X800系列的显卡虽然号称支持DirectX9.0c但是它仅仅支持Shader v2.0b。 什么是Shader? 很多人都明白象素、多边形、材质的意思,但始终对Shader一词难以理解。翻开字典Shader是阴影的意思,但它和3D加速卡又有怎样的关系呢?事实上Shader就是一段可以改变象素和顶点的小程序。因此在Shader规范模型中又划分出两个分支,一个叫作象素Shader(Pixel Shaders)一个叫作顶点Shader(Vertex Shaders)。这个Shader小程序可以为游戏场景添加一些基本的几何学特效。例如湖水的涟漪,它会让特定的蓝色材质发生移动、扭曲和倒映,这样就会给人波光粼粼的感觉了。若是要将一个物体渲染成玻璃的风格,它就会让一些材质发生透明和扭曲。Shader技术主要是应用在目前的电脑游戏当中,它让我们的电脑游戏画面更加逼真,现在的主流3D游戏画质要比几年前逼真很多。Shader是具有可编程性的,开发人员可以用它创造出非常图特的游戏场景。像NVIDIA和ATI的显卡都严格支持Shader的规格,并且为Shader程序作了很多优化。当然除了游戏的特效之外,游戏开发人员也可以用Shader作很多其他工作。总之Shader在未来的游戏中将发挥重大的作用。
(如图2,显卡中的Shader运算单元。)
3D图形技术虽然在不断的革新,但是普通用户的购买力却并不像技术发展的那样快。因此并不是所有人都像硬件发烧友那样经常升级自己的硬件。NVIDIA是图形业界的大哥大,新的Shader v3.0出台了NV自然毫不犹豫的宣布支持。但是ATI却没有盲从跟风。 因为现在拥有支持Shader v3.0显卡的玩家只占有极少数的比例,游戏开发商并不想跟风支持最新的v3.0。游戏开发商首要顾及的是占绝大多数的老玩家。因此新游戏不会只支持最新的v3.0,它也会向下兼容。例如著名的《Far Cry》它的核心虽然使用的是Shader v3.0来编译程序,但是它也可以支持更低的Shader版本,只是在运行游戏的时候画质和速度都会大打折扣罢了。但是在一般玩家心中能玩总比无法运行要强。此后游戏开发商又放出了HDR高动态范围光照补丁。NVIDIA当时最新的GeForce 6系列优势也被发挥的淋漓尽致。
|
|
| 起居室变摄影棚 DIY摄影背景幕布 mod地带:恶龙传说MOD主题机箱改造 |
|
|
|