电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

Shader Model是什么意思


发布日期:2019/2/2
 
Shader Model在PC游戏和显卡的发展史上扮演了非常关键的一个角色,它彻底解放了显示芯片,使得技术人员可以用它去创造接近真实环境的3D世界。换句话说,逼真的场景、细节的毫发毕现、像看电影那样玩游戏已成为现实。无怪乎人们开始把Shader Model版本的高低当作衡量显示芯片价值的重要指标之一。我们的推荐文章

在Shader Model发展史上,从SM 1.0进化到SM 2.0称得上是真正意义上的技术革命,后者赋予了显示芯片强大的能力,人们在游戏中也领略到前所未有的视觉体验,例如水面光影和雾化等特效的出现使游戏场景更真实。相对而言,SM 2.0到SM 3.0的改进不如SM 1.0到SM 2.0的变化大,SM 3.0除了支持32bit浮点运算是亮点外,其他特效用SM 2.0也可以完成。例如,GeForce 6系列显卡上市时曾大力宣传SM 3.0和HDR(高动态范围)技术,这无形之中就给人一种SM 2.0不能实现HDR或者HDR效果差的错觉。其实在《半条命2∶失落的海滩》中,我们发现使用SM 2.0b的Radeon X800显卡对HDR的支持就很好,只不过SM 2.0的先天不足限制了这些特效的应用罢了。

我们不可否认,SM 3.0的诞生让微软彻底统治了娱乐图形领域。尤其是它更新了统一的渲染语言——全新的HLSL高级程序语言,这大大简化了3D程序的编写工作,同时公正的态度使得程序员不必为NVIDIA或ATI单独考虑优化措施。TW.winGWit.Com微软通过DirectX和HLSL从根本上控制了图形技术未来的发展方向,而NVDIA和ATI为了取得更大的市场份额,不得不全力支持。因此从某种意义上来说,真正统治娱乐图形领域的霸主不是NVIDIA,也不是ATI,而是微软。小编这里建议现阶段想购买显卡的游戏爱好者,最好选择支持SM 3.0的产品,因为采用SM 3.0特性的游戏会越来越多。

毋庸置疑,游戏永远是以显卡为首的电脑硬件更新换代的“催化剂”。随着《分裂细胞3》、《孤岛惊魂》(即FarCry)、《帝国时代3》、《使命召唤2》等支持Shader Model 3.0游戏的陆续问世,GeForce FX系列或Radeon 9500系列之前的显卡也面临着“下岗”的命运。究竟什么是Shader Model?它给游戏带来了哪些变化呢?

Shader Model带来可编程革命

经历过S3 Trio64时代的DIYer一定还记得,当时所有的游戏都运行在DOS实模式下,3D游戏要调用这些特效必须借助显卡厂商特制的API(应用程序接口)才行。为了在竞争中取胜,显卡制造商开始疯狂地为产品增加各种硬件特效,如Alpha混合、平面着色、透明化处理等等。

这样的特效竞赛持续没多久,人们便发现,无论怎么增加特效都不能满足游戏开发者的需求。而且由于缺乏统一的API,无法充分利用纷繁复杂的特效。当时的游戏为了尽量支持市场上的各种硬件,不得不同时为每一块显卡准备相应的执行程序,这对游戏开发商来说无疑是个噩梦。为了使显卡发展摆脱特效竞赛的怪圈,设计一款能自由编程的显示芯片便成了研发人员迫在眉睫的任务。不过,在实现可编程之前需要统一的API。好在微软的DirectX开始逐步成熟,OpenGL也已相当完善。显卡制造商们只要直接使用这两种API就能实现所有的硬件功能。

GeForce 256的诞生拉开了GPU时代的序幕。由于在GPU内部首次引入T&L(几何转换和光照处理)引擎,因此使得显示核心能够更快地实现各种复杂的运算,而相应的DirectX 7也在3D应用中开始扮演越来越重要的角色。既然摆脱了CPU的依赖,显卡就有了实现可编程的基础,伴随着DirectX 8的发布,GeForce 3系列产品首次向世人展示了GPU的可编程能力,吃力不讨好的固定特效时代一去不复返。

什么是Shader Model

在3D图形领域,Shader被称为“渲染引擎”或“着色器”,Shader Model(以下简称SM)就是“渲染引擎模式”了。事实上,Shader是一段能够针对3D对象进行操作、并被GPU所执行的程序。通过这些程序,程序员就能够获得绝大部分想要的3D图形效果。在一个3D场景中,一般包含多个Shader。这些Shader中有的负责对3D对象表面进行处理,有的负责对3D对象的纹理进行处理。

早在微软发布DirectX 8时,Shader Model的概念就出现在其中了,并根据操作对象的不同被分为对顶点进行各种操作的Vertex Shader(顶点渲染引擎)和对像素进行各种操作的Pixel Shader(像素渲染引擎)。

上一篇:什么是HDMI

下一篇:什么是H.264编码