知識在于積累,了解得多了就是行家。
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 Model1.0(DirectX8.0)、Shader Model2.0(DirectX9.0b)、Shader Model3.0(DirectX9.0c)、Shader Model4.0(DirectX10)和Shader Model4.1(DirectX10.1)。 在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可以批量進行幾何處理,快速的把模型類似的頂點結合起來進行運算。雖然其操作不會象Vertex Shader那樣完整,只是處理器單個頂點的相關函數操作,但是這種操作卻可以確定整個模型的物理形狀。這將大大加速處理器速度,因為其它Shader單元將不再去需要判定數據所存在的位置,而只是需要簡單的為特定區域進行操作就可以了。Geometry Shader可以把點、線、三角等多邊形聯系起來快速處理、同時創造新的多邊形,在很短時間內直接分配給其他Shader和顯存而無需經過CPU,煙霧、爆炸等復雜圖象不再需要CPU來處理。從而極大的提高了CPU速度和顯卡速度。游戲圖象中可以出現許多精細場景,如不銹鋼茶壺上清楚的反射出周圍物體、超精細的人物皮膚等 Shader Model是什么意思 Shader Model在PC游戲和顯卡的發展史上扮演了非常關鍵的一個角色,它徹底解放了顯示芯片,使得技術人員可以用它去創造接近真實環境的3D世界。換句話說,逼真的場景、細節的毫發畢現、像看電影那樣玩游戲已成為現實。無怪乎人們開始把Shader Model版本的高低當作衡量顯示芯片價值的重要指標之一。在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也可以完成。例如,GeForce 6系列顯卡上市時曾大力宣傳SM 3.0和HDR(高動態范圍)技術,這無形之中就給人一種SM 2.0不能實現HDR或者HDR效果差的錯覺。其實在《半條命2∶失落的海灘》中,我們發現使用SM 2.0b的Radeon X800顯卡對HDR的支持就很好,只不過SM 2.0的先天不足限制了這些特效的應用罷了。 我們不可否認,SM 3.0的誕生讓微軟徹底統治了娛樂圖形領域。尤其是它更新了統一的渲染語言——全新的HLSL高級程序語言,這大大簡化了3D程序的編寫工作,同時公正的態度使得程序員不必為NVIDIA或ATI單獨考慮優化措施。微軟通過DirectX和HLSL從根本上控制了圖形技術未來的發展方向,而NVDIA和 ATI為了取得更大的市場份額,不得不全力支持。因此從某種意義上來說,真正統治娛樂圖形領域的霸主不是NVIDIA,也不是ATI,而是微軟。小編這里建議現階段想購買顯卡的游戲愛好者,最好選擇支持SM 3.0的產品,因為采用SM 3.0特性的游戲會越來越多。 毋庸置疑,游戲永遠是以顯卡為首的電腦硬件更新換代的“催化劑”。隨著《分裂細胞3》、《孤島驚魂》(即FarCry)、《帝國時代3》、《使命召喚2》等支持Shader Model 3.0游戲的陸續問世,GeForce FX系列或Radeon 9500系列之前的顯卡也面臨著“下崗”的命運。究竟什么是Shader Model?它給游戲帶來了哪些變化呢?Shader Model帶來可編程革命 經歷過S3 Trio64時代的DIYer一定還記得,當時所有的游戲都運行在DOS實模式下,3D游戲要調用這些特效必須借助顯卡廠商特制的API(應用程序接口)才行。為了在競爭中取勝,顯卡制造商開始瘋狂地為產品增加各種硬件特效,如Alpha混合、平面著色、透明化處理等等。 這樣的特效競賽持續沒多久,人們便發現,無論怎么增加特效都不能滿足游戲開發者的需求。而且由于缺乏統一的API,無法充分利用紛繁復雜的特效。當時的游戲為了盡量支持市場上的各種硬件,不得不同時為每一塊顯卡準備相應的執行程序,這對游戲開發商來說無疑是個噩夢。為了使顯卡發展擺脫特效競賽的怪圈,設計一款能自由編程的顯示芯片便成了研發人員迫在眉睫的任務。不過,在實現可編程之前需要統一的API。好在微軟的DirectX開始逐步成熟,OpenGL也已相當完善。顯卡制造商們只要直接使用這兩種API就能實現所有的硬件功能。 GeForce 256的誕生拉開了GPU時代的序幕。由于在GPU內部首次引入T&L(幾何轉換和光照處理)引擎,因此使得顯示核心能夠更快地實現各種復雜的運算,而相應的DirectX 7也在3D應用中開始扮演越來越重要的角色。既然擺脫了CPU的依賴,顯卡就有了實現可編程的基礎,伴隨著DirectX 8的發布,GeForce 3系列產品首次向世人展示了GPU的可編程能力,吃力不討好的固定特效時代一去不復返。什么是Shader Model在3D圖形領域,Shader被稱為“渲染引擎”或“著色器”,Shader Model(以下簡稱SM)就是“渲染引擎模式”了。事實上,Shader是一段能夠針對3D對象進行操作、并被GPU所執行的程序。通過這些程序,程序員就能夠獲得絕大部分想要的3D圖形效果。在一個3D場景中,一般包含多個Shader。這些Shader中有的負責對3D對象表面進行處理,有的負責對 3D對象的紋理進行處理。 早在微軟發布DirectX 8時,Shader Model的概念就出現在其中了,并根據操作對象的不同被分為對頂點進行各種操作的Vertex Shader(頂點渲染引擎)和對像素進行各種操作的Pixel Shader(像素渲染引擎)。
posted on 2008-10-22 06:13
七星重劍 閱讀(1603)
評論(7) 編輯 收藏 引用 所屬分類:
Game Graphics