決戰(zhàn)性能之巔!NV雙芯旗艦GTX590評測
實際上,截止前文我們所說到的曲面細分,只是機械的為一個多邊形模型增加更多的多邊形數(shù)量,這就是其核心內容,如果不加前后期控制,這樣的技術對于提升圖形效果起不到任何作用,對于性能反而還會起到負面影響。
7.2 Tessellation不僅僅會“細分曲面
毫無方向的“曲面細分”,無助于提升畫質,只會鬧笑話
因為如果是這么簡單的話,Tessellation技術就沒有什么實際意義,舉個例子大家都會明白。由100個三角形組成的模型,還是免費的將它升級到100000個三角形,但是這個模型如果是個怪獸,我們不再需要圓滑,而是豐富可信的細節(jié),這100000個多邊形能有什么作用?
之所以在DX11中,曲面細分會有改善畫質的作用,我們通過一張DX11流水線圖的觀察就能發(fā)現(xiàn)其原因。在增加了Tessellator外,流水線前面還多出了Hull Shader后面還增加了Domain Shader兩個模塊,也就是說要想通過曲面細分獲得圖形效果提升,必須在曲面細分前后加以人工控制,不能任由其發(fā)揮。
對于Hull Shader、Tessellator、Domain Shader這三個新加入的單元的作用,上面這張圖給予了較為明確的回答。Hull Shader主要負責定義細分等級(LOD)和相關控制點在細分中的“形變”趨勢,這里的形變之所以加引號,是要說明這種形變僅僅是類似于曲率改變等小幅度的變化,而非大幅度的多邊形位移;Tessellator則負責根據HS傳輸下來的信息,通過暴力增加多邊形去實現(xiàn)HS的要求;Domain Shader負責的最重要的功能就是通過貼圖控制的方式,實現(xiàn)模型的形變,也就是我們大家在DX11的細分曲面中看到的高細節(jié)畫面。
通過上述的分析,大家應該可以得出一個結論,實際上細分曲面負責的僅僅是為后續(xù)的提升畫質的運算提供物質基礎,無論是置換貼圖和平滑效果,都需要有大量多邊形的存在才能實現(xiàn)。試想,如果開發(fā)者想在一個三角形上通過置換貼圖實現(xiàn)一座城市的地貌效果,空有精美的置換貼圖,區(qū)區(qū)三個頂點如何形變拉伸?巧婦難為無米之炊,但如果給你100000個頂點呢,事情就容易多了。
實際上,從用戶的角度講,這一段的內容并不重要,從曲面細分上獲得什么樣的快樂才是他們關心的,而非原理。
關注我們
