现在的位置: 首页 > 综合 > 正文

SM2.0与SM3.0的区别

2017年10月24日 ⁄ 综合 ⁄ 共 2211字 ⁄ 字号 评论关闭

不要总把SM3.0放在嘴边 把它夸大其实的宣传 鄙视微软搞这些把戏 我下面为大家介绍下他们的区别

我将着重介绍一下基于SM3.0的HDR技术,究竟给我们的3D世界带来怎么样的震撼呢?

首先来看一下SM3.0:SM3.0是Shader Model 3.0版本的意思,这其中包括了Vertex Shader3.0和Pixel Shader3.0,以及ROP着色器。与上一个版本Directx9.0b中的SM2.0规范相比,3.0规范的指令则增加到了32,768 与当初2.0支持的96条指令比起来简直是跨越了一个层次。实际应用于游戏,当你在丛林中漫步的时候可以看到头顶上的树叶在你的步枪上实时投下斑驳的阴影;在一些宏大的室内场景里,身型巨大的怪物的影子投射在你身边的墙上,预示着它的到来;熔岩场景中熔岩口上方的腾腾的热气模糊和扭曲了后方的影像。 

SM3.0游戏效果 

而基于SM3.0下的HDR技术全称为High Dynamic Range,即高动态范围,比如所谓的高动态范围图像(HDRI)或者高动态范围渲染(HDRR)。动态范围是指信号最高和最低值的相对比值。目前的16位整型格式使用从“0”(黑)到“1”(白)的颜色值,但是不允许所谓的“过范围”值,比如说金属表面比白色还要白的高光处的颜色值。在HDR的帮助下,我们可以使用超出普通范围的颜色值,因而能渲染出更加真实的3D场景。HDR的技术出发点就是让计算机能够显示更接近于现实的画面质量。目前在民用领域看到最多HDR技术应用的必然是游戏了。 

HDR实效演示 

HDR的基本工作原理:HDR是一种新的模型,它可以将画面中的每个象素色彩和亮度值用实际物理参数或是线性函数来表示。这样每个参数都可以用实际数值来表示,而且不再限定整数。 

————————————————————————————— 
Shaders其实是一段象素或顶点的着色程序。因此一般而言,shader程序有两大类:象素着色程序和顶点着色程序。这些程序包含了特殊的效果,能够作用到基本的几何对象上。例如:一个包含水状特征的着色程序,应用到蓝色贴图上,就会形成水纹效果;同理可知,一个包含玻璃状特征的着色程序,应用到一个多边形中,就会产生透明。依此类推,不一而同。 

正是由于着色程序的广泛使用,才使得今天的游戏画面,比3、4年前要丰富逼真的多。另外因为所有的着色程序都是可编程的,因此游戏开发人员能够通过自己加工,在游戏中实现各种各样,极具个性的画面。而NVIDIA和ATI公司也为各自的产品提供了优化后的着色程序标准库,从而方便程序员的调用,减轻了开发的负担。 

不同版本之间的Shader Modal也有所不同。最大的差别在于,所允许的着色程序长度在不断增加,着色程序的长度也就是能够被执行的指令数量。最开始的Shader Modal1.1规格显得还比较简陋,在撰写代码的时候非常严格,同样提供的语句也较少。到了Shader Modal2.x,程序员可以使用循环语句来避免编写重复的代码。 

到了Shader Modal3.0就允许程序员使用if-then这样的条件语句。因此随着版本的变迁,程序员所编写出来的着色程序可以更加小巧。而各个版本之间的技术变迁亦十分平滑,只有2.x和3.0规格前后变化较大,后者增加了顶点贴图查询功能,能够使用置换贴图。 

虽然Shader Modal软件规格在不断的修订发展,不过显卡厂商对新技术的支持却不尽相同。相比而言,硬件厂商的应用技术的策略,更多的受到市场因素的左右和影响。而急于推出带有最新技术的产品,也会伴随着相应的风险。例如:NVIDIA当前支持Shader
Modal3.0的硬件就伴随着大量的噪音,而且新产品售价偏高。 

正因为如此,市场上超过半数的显卡都还不能够运行Shader Modal3.0的程序。游戏开发人员也就不会冒冒然采用新技术,当然那些想要标新立异,引领潮流的游戏公司自然会成为新技术探险的先行者。例如现在已经能够看到采用Shader Modal3.0的游戏—Far Cry(孤岛惊魂),采用Shader Modal3.0中提升渲染速度的技术来改善性能。 

由于Shader Modal3.0中有多项技术旨在改进性能,因此运行在2.x规格下,比较吃力的着色程序,在3.0中会得到较好的性能表现。后来Far Cry发布了一个补丁,来支持HDR光源(高动态范围光源),这就是3.0所特有的技术了。 

HDR 
HDR并不是想许多玩家理解的那样就是简单的“高亮”,不是让画面有更大的亮度或是对比度,大家都知道,当人从黑暗的地方走到阳光下时,我们的眼睛会不由自主的迷起来,那是因为在黑暗的地方,人为了更好的分辨物体,瞳孔张开很大,以便吸收光线;而突然到了光亮处瞳孔来不及收缩,视网膜上的视神经无法承受如此多的光线,人自然会迷上眼睛阻止大量光线冲击视神经。我们的眼睛非常敏感,而PC就不具备这种功能。所以,HDR的最终效果因该是亮处的效果是鲜亮的,而黑暗处你也可以清晰的分辨物体的轮廓,位置和深度,而不是以前的一团黑。动态、趋近真实的物理环境是HDR的特效表现原则。 

这里说明,并不是支持SM3.0的显卡才支持HDR,其实SM2.0都能实现对HDR的支持,区别在于SM2.0实现HDR的过程复杂,要消耗一定的VPU或者GPU的资源,而且过程复杂,大大增加程序员的负担并会使圆形速度变慢,具体原因请看上面关于SM的介绍

抱歉!评论已关闭.