sm2.0和sm3.0的差異

我們先來看看下面的表格,從中可以清楚的瞭解到Shader Model 3.0所具備的新功能。

Pixel Shader功能
Shader 2.0
Shader 3.0
描述

Shader長度

96

65535+

允許採用更復雜的陰影、光線和程序

動態分支

不支持

支持

通過跳過無關像素上的複雜着色以提高性能

Shader抗鋸齒

不支持

內置派生指令

開發人員能夠計算屏幕空間以調整着色頻率或者進行多重採樣處理,以降低畫面失真

背面寄存器

不支持

支持

允許在一次處理工序中處理雙面材質的光源

內插值色彩格式

最低8-bit整數

最低32-bit浮點

更高的顏色範圍和色彩精度,允許採用頂點級別的高動態範圍光源

多重渲染目標

可選

4個

允許高級光源算法,以節省過濾和頂點操作。能夠以最低成本實現更多的光源處理

霧和鏡面效果

固定8-bit功能

可自定義的fp16-fp32 shader程序

Shader Model 3.0讓開發人員能夠完全、精確的控制霧和鏡面反射效果。在Shader Model 2.0中,這些效果都是固定的。

材質座標數量

8

10

更多的per-pixel輸入允許更逼真的渲染,尤其適合渲染皮膚。

  下面是Vertex Shader Model 2.0到Vertex Shader Model 3.0所作出的改變:

Vertex shader 功能
Shader 2.0
Shader 3.0
描述

Shader長度

256指令

65535指令

更多的指令允許更爲細緻的角色光源和動畫處理

動態分支

不支持

支持

通過跳過無關像素上的複雜着色以提高性能

頂點材質

不支持

對多達4個的材質進行查找

允許置換貼圖和粒子特效

支持實例

不支持

必須

允許使用一條指令繪製各種物體

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章