shader model 5.0

shader model 5.0

shader model 5.0(譯為渲染或著色)是一段能夠針對3D對象進行操作、並被GPU所執行的程序,ShaderModel的含義就是“優化渲染引擎模式”,可以把它理解成是GPU的渲染指令集。

目錄

正文


Shader(譯為渲染或著色)是一段能夠針對3D對象進行操作、並被GPU所執行的程序,ShaderModel的含義就是“優化渲染引擎模式”,我們可以把它理解成是GPU的渲染指令集。歷代DirectX每逢重大版本升級時最主要的更新內容就包括在了ShaderModel之中:
ShaderModel 1.0 → DirectX 8.0
ShaderModel 2.0 → DirectX 9.0b
ShaderModel 3.0 → DirectX 9.0c
ShaderModel 4.0 → DirectX 10
ShaderModel 4.1 → DirectX 10.1
ShaderModel 5.0 → DirectX 11
高版本的ShaderModel是一個包括了所有低版本特性的超集,對一些指令集加以擴充改進的同時,還加入了一些新的技術,現在我們就來看看DX11 SM5.0都有哪些新特性:
由於統一渲染架構的特性,Shader Moder 5.0是完全針對流處理器而設定的,所有類型的著色器,如:像素、頂點、幾何、計算、Hull和Domaim(位於Tessellator前後)都將從新指令集中獲益。
特性1:覆蓋採樣
功能:直接為像素著色器輸出覆蓋採樣信息。
效果:邊緣偵測更加精確,抗鋸齒運算效率和效果更佳。
特性2: Gather 函數加速紋理拾取
功能:在一個紋理指令里讀取4點採樣值,可針對特定顏色分別採樣,自動識別能做陰影映射的值。
效果:更快,更好的陰影過濾實現環境光遮蔽(SSAO)。
特性3:粗糙偏導數
功能:用數學函數定義簡單的二維紋理圖案,如方格地毯或用數學函數定義隨機高度場,生成表面粗糙紋理及幾何紋理。
效果:高性能,高畫質紋理過濾。
特性4:類型轉化類指令
功能:將數據值在32bit浮點,和16bit浮點直接相互轉換。
效果:簡單高效解碼雙精度支持。
特性4:位操作類指令
功能:轉位、排序、封包、壓縮、解壓。
效果:數據壓縮解壓縮速度提升,傳輸率提高。
其中,覆蓋採樣及Gather4紋理拾取兩項指令是從在DX10.1基礎上發展而來的,SM5.0要比SM4.1更加智能和靈活,它可以針對特定顏色分別採樣、還能自動識別可做陰影映射的值,精度和效率都進一步提高。
由於DX10.1與DX10在指令方面的相似性,現有的DX10.1遊戲可以很容易的通過更新程序代碼升級支持DX11,從而獲得更好的運行效率,比如《風起雲湧》、《潛行者》、《科林麥克雷》將會率先引入DX11。