shader model

480 篇文章 12 订阅
292 篇文章 14 订阅

Shader Model(在3D图形领域常被简称SM)就是“优化渲染引擎模式”。事实上,Shader(渲染或称着色)是一段能够针对3D对象进行操作、并被GPU所执行的程序。通过这些程序,程序员就能够获得绝大部分想要的3D图形效果。在一个3D场景中,一般包含多个Shader。这些Shader中有的负责对3D对象表面进行处理,有的负责对3D对象的纹理进行处理。早在微软发布DirectX 8时,Shader Model的概念就出现在其中了,并根据操作对象的不同被分为对顶点进行各种操作的Vertex Shader(顶点渲染引擎)和对像素进行各种操作的Pixel Shader(像素渲染引擎)。

  时至微软发布 DirectX 10.1之后,Shader Model 已经有五个版本了:分别是Shader Model 1.0(DirectX8.0)、Shader Model 2.0(DirectX9.0b)、Shader Model 3.0(DirectX9.0c)、Shader Model 4.0(DirectX10)、Shader Model 4.1(DirectX10.1)和Shader Model 5.0(DirectX11)。

发展史

  在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也可以完成。相比原先的Shader Model 3.0,Shader Model 4.0最大指令数从512条增加到了64000条;临时暂存器数量也从原先的32个增加到惊人的4096个;允许同时对128个Texture进行操作(Shader Model 3.0只允许16个);材质texture格式变为硬件支持的RGBE格式,其中的"E"是Exponent的省略,是RGB共同的说明,这在HDR的处理上有很大的作用,摒弃了以往需要专门decoding处理HDR渲染的流程。 另外,对于纹理的尺寸Shader Model4.0也有惊人的提升,8192x8192的最高纹理分辨率比原先最高2048x2048的分辨率要高出4倍。   Shader Model 4.0另一个重大变化就是在VS和PS之间引入了一个新的可编程图形层----几何渲染器(Geometry Shader)。原来的Vertex Shader和Pixel Shader只是对逐个顶点或像素进行处理,而新的Geometry Shader可以批量进行几何处理。然而其因性能原因而受到诟病,实际上使用它的人并不多。为了兼顾性能,DX11(SM 5.0)引入了Tessellation来取代GS的部分功能。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值