版本
時至微軟發布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的部分功能。